Top Banner
Capitolo 2 - parte 5 Corso Reti ed Applicazioni Mauro Campanella
28

Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/[email protected] [email protected] M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

Oct 29, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

Capitolo 2 - parte 5

Corso Reti ed ApplicazioniMauro Campanella

Page 2: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 2

Agenda

- Posta elettronica - Simple Mail Transfer Protocol (SMTP) - Post Office Protocol v3 (POP3) - Internet Message Access Protocol (IMAP) - Sicurezza

Page 3: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 3

La Posta elettronica

Nel 1982 venne definita da una RFC l’attuale applicazione(SMTP) per trasferire posta via Internet (e-mail).

Nel 1984 CCITT :-( ora ITU-T), cioè tutti i telecom, moltigoverni e ditte di calcolatori, definì le raccomandazioni X.400per rendere standard il trasferimento dei messaggi via rete.

Dopo circa 20 anni, finalmente :-)SMTP è lo standard di fatto, mentrei sistemi X.400 sono praticamentescomparsi. IMHO, merito dellagrande semplicità di SMTP e dellaastrusità di X.400.

Page 4: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 4

mailbox utente

coda inuscita

mailserver

useragent

useragent

useragent

mailserver

useragent

useragent

mailserver

useragent

SMTP

SMTP

SMTP

e-Mail

Tre componenti logiche principali:

- user agent (mail reader)- mail server- simple mail transfer protocol:

SMTP

User Agent e mail serverpossono essere nello stessonodo od in nodi diversi epossono usare SMTP od altriprotocolli per parlarsi.

Page 5: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 5

e-Mail: user agent

Lo User Agent, detto anche“mail reader” permette dileggere, comporre, spediree gestire i messaggi.

Per esempio: elm, pine,Eudora, Outlook, NetscapeMessenger, Thunderbird

mailserver

useragent

useragent

mailserver

useragent

useragent

mailserver

useragent

SMTP

SMTP

SMTP

Page 6: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 6

e-Mail: mail servers

I Mail Servers possonosvolgere varie funzioni:– contenere la casella della

posta di un utente– contenere la coda dei

messaggi in uscita– ricezione dei messaggi– agire da relay intermedio

(store and forward)

Utilizzano il protocollo SMTPper smistare fra loromessaggi

mailserver

useragent

useragent

useragent

mailserver

useragent

useragent

mailserver

useragent

SMTP

SMTP

SMTP

Page 7: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 7

e-Mail: SMTP

RFC 821 SMTP (storica, resa obsoleta da 2821)RFC 822 ARPA text message format (obsoleta da 2822)

RFC 2821 SMTP (extended)RFC 2822 Internet message format “la sintassi per

messaggi di testo inviati fra utenti”

+RFC 2045 - 2049 Multipurpose Internet mail extensions

Page 8: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 8

e-Mail: SMTP

SMTP utilizza TCP e la porta 25 per il traferimento affidabile deimessaggi.

Un indirizzo di posta ha la forma generica: user@entity

Mentre all’inizio “user” corrispondeva ad un account reale sulcalcolatore “entity”, sempre di più oggi si tende ad usare per“user” un nome logico slegato dal reale account (tipicamenteNome.Cognome) e usare per la parte entity il nome del dominio.

Questo è reso possibile dai record MX del DNS e da programmi(sendmail) sul name server che hanno un database che legaindirizzi logici a fisici. Per [email protected] viene trasformato in [email protected]

Page 9: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 9

Indirizzi

Gli indirizzi X.400 sono invece del tipo:/C=IT/ST=LOMBARDIA/L=MILANO/PA=VIA VERDI 1/CN=LUCIO ROSSI/

[email protected] [email protected]

Page 10: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 10

e-Mail: SMTP

A seconda della presenza e del valore del record MX nel DNSe della struttura dei mail server, il trasferimento della postapuò avvenire direttamente (ma raramente) dal (nodo del)mittente al (nodo del) destinatario, oppure attraverso serverintermedi.

Nei colloqui fra ogni coppia di server vi sono tre fasi:– riconoscimento reciproco– transferimento del messaggio– chiusura

Il colloquio è basato su commandi e risposte– comandi: testo ASCII :-)– risposte: codice di stato e messaggi in ASCII (7-bit)

Page 11: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 11

useragent

mailserver

mailserver user

agent

1

2 3 4 56

Scenario: Alice manda un messaggio a Bob

1) Alice usa uno User Agentper comporre il messaggio

2) Lo UA invia il messaggio almailer che lo pone nellacoda di uscita

3) Il server apre come clienteSMTP una connessione conTCP al server mail di Bob.

4) Il messaggio è inviato conSMTP

5) Il mail server di Bobmette il messaggio nellacasella della posta di Bob

6) Bob usa il suo User Agentper leggere il messaggio

Page 12: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 12

Indirizzi: esempio

Nel server DNS autoritativo per garr.it vi è il record MX chepunta alla macchina lx1.dir.garr.it.

Un mail spedito a [email protected] viene speditolx1.dir.garr.it. che ha nel database del programma di gestioneposta (sendmail) un record che [email protected]. a [email protected]

Nel server DNS autoritativo per mi.infn.it, c’è un record MXche punta a mercurio.mi.infn.it.La posta per [email protected] viene quindifinalmente smistata a [email protected] ed io la leggocon Mozilla o pine.

Page 13: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 13

S: 220 hamburger.edu C: HELO crepes.fr (oppure EHLO se rfc2881) S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <[email protected]> S: 250 [email protected]... Sender ok C: RCPT TO: <[email protected]> S: 250 [email protected] ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection

I comandi di SMTP

Page 14: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 14

Si può provare:

– telnet serverdiposta 25

– attendere la risposta con codice 220 dal server– usare i comandi

– HELO, MAIL FROM, RCPT TO,– DATA, “.” e QUIT per inviare un messaggio senza usare nessun User

Agent, ma solo il trasporto via telnet.

Page 15: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 15

SMTP

– SMTP usa connessionipersistenti

– SMTP impone che ilmessaggio (header ecorpo) sia in ASCII a 7-bit

– SMTP uses la sequenza dicaratteri CRLF.CRLF perstabilire la fine di unmessaggio

– il server agisce in modalitàSTORE and FORWARD

– il sistema può essereautomatico (senza umani)

Confronto con HTTP:

– HTTP: pull (tirare)– SMTP: push (spingere)

– Entrambi hanno una logicabasata su comandi e rispostein ASCII

HTTP: ogni oggetto è incapsulato in un messaggio di rispostaSMTP: oggetti multipli inviati in un messaggio a molte parti

Page 16: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 16

Formato dei messaggi (rfc2822)

Header:

To: e-mail del destinatarioSubject: una frase che indichi il soggetto del mailCc: e-mail di eventuali altri destinatariBcc: Blind Cc (destinatario non vede gli altri destinatari)From: il creatore del messaggioSender: il vero mittentereply-to: se diverso da From:Date: la data di spedizioneReturn-Path: se deve tornare al mittenteMessage-Id: numeroIn-Reply-To: Id del messaggio cui si risponde

Corpo: il vero messaggio, solo in caratteri ASCII

header

Corpo

lineabianca(CR LF)

Page 17: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 17

Formato dei messaggi: multipurpose extensions

L’evoluzione di Internet a livello mondiale e multimediale hareso insufficente la comunicazione in ASCII a 7 bit.Vi è la necessità di- usare lingue latine diverse dall’inglese- usare caratteri non latini (ebraico, russo)- la sfida delle lingue pittografiche (cinese, giapponese)- spedire non solo testo.

MIME definisce una ulteriore strutturazione del corpo delmessaggio basata su alcuni header aggiuntivi.

Page 18: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 18

Header MIME

From: [email protected]: [email protected]: Picture of yummy crepe.MIME-Version: 1.0Content-Transfer-Encoding: base64Content-Type: image/jpeg

base64 encoded data ....................................base64 encoded data

tipo dato multimedialesottotipo e dichiarazione

dei parametri

metodo di codificadell’oggetto

versione MIME

dati codificati

Page 19: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 19

MIME types

Text html Per pagine web, aggiunto da RFC 2854

Page 20: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 20

Tipo Multipart

From: [email protected]: [email protected]: Picture of yummy crepe.MIME-Version: 1.0Content-Type: multipart/mixed; boundary=StartOfNextPart

--StartOfNextPartDear Bob, Please find a picture of a crepe.--StartOfNextPartContent-Transfer-Encoding: base64Content-Type: image/jpegbase64 encoded data ....................................base64 encoded data--StartOfNextPartDo you want the reciple?

Permette ad un messaggio di essere composto da più parti

Page 21: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 21

Tipo encoding

Il contenuto del mesaggio deve essere trasformato in unaserie di caratteri alfanumerici e pochi altri per garantirne latrasmissione:

- codifica BASE-64: ogni gruppo di 24 bit è spezzato ingruppi di 6 bit, codificati in un carattere ASCII. Ideale pertesto arbitrario. CR ed LF sono ignorati.

- codifica quoted-printable: i caratteri con codice ASCIImaggiori di 127 sono codificati come un segno di “=“seguito dal valore del simbolo in esadecimale.

La codifica quoted-printable è considerata più compatibile fragli User Agent, ma BASE64 è comunque diffusa.

Page 22: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 22

Agenda

- Posta elettronica - Simple Mail Transfer Protocol (SMTP) - Post Office Protocol v3 (POP3) - Internet Message Access Protocol (IMAP) - sicurezza

Page 23: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 23

Protocolli di accesso al mailer

SMTP è usato per la consegna e memorizzazione.I protocolli di accesso sono usati tra UA e server perl’accesso alla mailbox:

– POP: Post Office Protocol [RFC 1939]• autorizzazione (agent <-->server) quindi scarico

– IMAP: Internet Mail Access Protocol [RFC 1730]• più sofisticato

– HTTP: Hotmail , Yahoo! Mail, etc.

useragent

mail server del mittente

useragent SMTP SMTP protocollo

di accesso

mail server del ricevente

Page 24: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 24

POP3

Permette il collegamento con TCP alla porta 110 del serverche contiene la posta dopo una fase di autenticazione conusername e password. Specificato nella RFC 1939.

Permette solo di scaricare i messaggi nuovi dal server inordine di arrivo e per default li cancella dal server.

Efficente solo se ri ricevono pochi messaggi, tuttiinteressanti, e si usa sempre lo stesso calcolatore perleggere la posta.

Page 25: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 25

POP3 protocol

Fase di autorizzazionecomandi del client :

– user: declare username– pass: password

Risposte del server :– +OK– -ERR

Fase di transazione, client :list: list message numbersretr: retrieve message by numberdele: deletequit

C: list S: 1 498 S: 2 912 S: . C: retr 1 S: <contenuto messaggio 1> S: . C: dele 1 C: retr 2 S: <contenuto messaggio 2> S: . C: dele 2 C: quit S: +OK (POP3 server si scollega)

S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK (user autorizzato al collegamento)

Page 26: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 26

POP3 contro IMAP

Caratteristica POP3 IMAP

Definito in RFC 1939 RFC 2060Porta TCP 110 143La posta è raccolta nel client serverQuando la posta è letta off-line on / off lineTempo di collegamento il tempo di scarico il tempo di scarico o minoreUso risorse del server Medio Medio-altoUA accede a più server NO SIDuplicazione dei mail NO SI

(con sincronizzazioneAdatto ai portatili NO SIUso da più nodi NO (difficile) SIScarico solo Header NO SIControllo di interazione NO SIGestione raccoglitori NO SISupportato da ISP SI In diffusione veloceImplementazione semplice SI Media

Page 27: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 27

Posta - Note a margine

– E’ possibile spedire a più utenti contemporaneamente lo stessooggetto.

– Esistono sistemi sofisticati di posta per gestire “mailing List”,cioè nomi logici che sono espansi in una lista di indirizzi di postafisici.

– Alcuni di questi sistemi (majordomo per esempio) permettononon solo di gestire in modo sofisticato le mailing list, ma anchedi archiviare una copia di tutti i messaggi.

– Altri programmi permettono di trasformare la storia deimessaggi della mailing list in un database consultabile via web.

– Esistono dei tool sui server di posta che controllano tutti i mailche transito per la presenza di virus (amavis per esempio).

Page 28: Corso Reti ed Applicazioni Mauro Campanellacmp/CorsoReti/slides/Cap2-5.pdfalex@yahoo.com luca@inwind.it M. Campanella Corso Reti ed Applicazioni - Como 2007 C ap2-5 g. 10 e-Mail: SMTP

M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 5 pag. 28

Sicurezza e-Mail

Come abbiamo visto SMTP:– non fornisce alcuna garanzia sulla identità del sender– trasmette in chiaro (ASCII) i messaggi ed il loro contenuto

Per risolvere questi problemi, quando sia necessario, si può:– criptare il contenuto del messaggio e/o il trasferimento fra

i server e fra server e client con Secure Socket Layer (nonfacilmente applicabile per ora all’intera Internet)

– firmare con chiave (PGP) il messaggio (per ora mancano leautorità che forniscano in modo sicuro le chiavi)

Di più sulla sicurezza alla fine del corso...