La posta elettronica nell'architettura TCP/IP

Documenti analoghi
Applicazioni di rete. La posta elettronica nell'architettura TCP/IP. Indirizzi reali e virtuali. Indirizzi RFC-822. Dai domini postali agli host

Sicurezza della posta elettronica. MHS (Message Handling System) in client-server. Antonio Lioy - Politecnico di Torino ( ) 1

Sicurezza della posta elettronica

Sicurezza della posta elettronica. Sicurezza della posta elettronica

MHS (Message Handling System) Sicurezza della posta elettronica. in client-server. Webmail. Un esempio SMTP / RFC-822. Protocolli e porte

SMSPortal. SMS-Gateway interfaccia SMTP. Versione , 2005, 2006 SMSPortal. Digitel Mobile Srl Via Raffaello, Pescara (Italy)

Vediamo un esempio di spedizione e ricezione di , puntualizzando i passaggi.

Programmazione in Rete

Parte II: Reti di calcolatori Lezione 7

Parte II: Reti di calcolatori Lezione 9

Teoria di un server di posta. Corso GNU/Linux Avanzato Torino,

Parte II: Reti di calcolatori Lezione 8

la posta elettronica

Reti di Calcolatori:

Reti di Comunicazione e Internet

Telematica II 13. Posta Elettronica

Application Layer FTP, SMTP, POP3, IMAP

Re# di Comunicazione e Internet

Application Layer FTP, SMTP, POP3, IMAP. Ricapitolando. FTP: File Transfer Protocol [RFC 959] porta 80

Livello applicazione: (RFC), protocollo FTP, protocollo Posta Elettronica

Posta elettronica DEFINIZIONE

Infrastrutture e Protocolli per Internet Laboratorio 1

Sicurezza della posta elettronica

Posta Elettronica e Web

Capitolo 2 - parte 5. Corso Reti ed Applicazioni Mauro Campanella

. SMTP, POP, IMAP. mail server. smtp [RFC 821] Tre componenti: user agent mail server simple mail transfer protocol: smtp

Fondamenti di Internet e Reti

RETI DI CALCOLATORI Home Work ritardi e livello applicativo

Infrastrutture e Protocolli per Internet Laboratorio 1

Modulo 1: Posta elettronica

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2011/12)

Livello applicazione: Sessioni HTTP, FTP, Posta Elettronica

INFORMATICA DISTRIBUITA. lez 6 World Wide Web (cont)

Il servizio di posta elettronica

Unsolicited Bulk (UBE) (spamming) Francesco Gennai IAT - CNR Francesco.Gennai@iat.cnr.it

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez7 (cont)

I protocolli di VII livello WWW. Fabio Vitali

Posta elettronica [RFC 821, ] Applicazioni di Rete 2009/10 - M. Ribaudo

Parte II: Reti di calcolatori Lezione 8

Protocollo POP3. Introduzione. Utilizzo

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Comunicazione remota asincrona

La posta elettronica. Informazioni di base sul funzionamento

Tito Flagella - Il protocollo HTTP

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete

MHS (Message Handling System) Sicurezza della posta elettronica. in client-server. Webmail. Messaggi RFC-822

Protocolli applicativi: FTP

PRESENTAZIONE DI UN SMS AL GATEWAY

Network Troubleshooting 101

Sicurezza della posta elettronica. MHS (Message Handling System) MHS (Message Handling System) in client-server. MS in client-server

Capitolo 16 I servizi Internet

Come pubblicare un server MDaemon su Internet per ricevere in SMTP. Claudio Panerai - Direttore Tecnico di Achab S.r.l. claudio.panerai@achab.

Protocolli di applicazione

Reti di Calcolatori AA 2011/2012. Protocolli di applicazione. Livello di applicazione (2) Capitolo 2: Livello applicazione (2)

PuRo Mail Server. A mail server based on Amazon Web Service. C. Pupparo D. Rossato

Protocolli di strato applicazione

Le reti di calcolatori

Protocolli strato applicazione in Internet

Il livello trasporto: Introduzione e protocollo UDP

MODELLI ISO/OSI e TCP/IP

Sistemi e Servizi di TLC. Lezione N. 8

MODELLI ISO/OSI e TCP/IP

Il livello trasporto: Introduzione e protocollo UDP

LUCA VACCARO. Politecnico di Milano. S2MS Guida di Riferimento

GLI ERRORI DI OUTLOOK EXPRESS

Esempi di applicazioni internet. WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS)

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Reti di Calcolatori IL LIVELLO APPLICAZIONI: DNS, FTP

Fondamenti di Internet e Reti

Servizi Applicativi su Internet SMTP/POP/IMAP. La posta elettronica. Pierluigi Gallo, Domenico Garlisi, Fabrizio Giuliano

SERVIZI INTERNET PARTE 2. SERVIZI DI RETE Storici

SMS Gateway interfaccia HTTP

MANUALE UTENTE FORMULA PEC

T.A.R.I. Applicazioni (ICT, AL)

Computazione su Rete Applicazioni Applicazioni Internet Domain Name System Posta Elettronica Remote login File transfer World Wide Web

Livello cinque (Livello application)

Architettura dell Informazione

SMS-Bulk Gateway interfaccia HTTP

Protocolli per le . Impianti Informatici. Protocolli applicativi

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione FTP, A.A.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Servizi di rete e web. Prof. Maurizio Naldi A.A. 2015/16

4. Posta Elettronica ( )


Reti di Telecomunicazioni. Application Layer

10110 Reti di Calcolatori IL LIVELLO APPLICAZIONI: DNS, FTP

I protocolli di VII livello WWW. Fabio Vitali

Protocolli strato applicazione in Internet

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Livello Applicazione. Davide Quaglia. Motivazione

OSOR. Applicazioni di Rete

12.5 UDP (User Datagram Protocol)

TECN.PROG.SIST.INF. Livello APPLICAZIONE - TELNET. Roberta Gerboni

- Corso di computer -

Reti di Calcolatori ed Internet. Reti di Calcolatori ed Internet. Reti di Calcolatori. Reti di Calcolatori. Architettura dei Servizi di Rete

Politecnico di Milano Re# di Comunicazione e Internet

Lo strato di applicazione in Internet

Modulo 8: Posta elettronica

Transcript:

La posta elettronica nell'architettura TCP/IP Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica Applicazioni di rete indirizzi logici (applicativi) per identificare gli utenti del servizio applicativo protocollo di rete (sopra TCP/UDP e IP) tra i due end-point applicativi formato dati dati significativi per l'applicazione per ciascun punto occorre definire: lessico = i caratteri ammissibili sintassi = composizione di richieste e risposte semantica (parziale) = significato A.Lioy - Politecnico di Torino (2013-17) C-1

Indirizzi reali e virtuali l indirizzo RFC-822 è: casella-postale @ dominio-postale la casella postale può essere: un nome di utente (login) un identificativo virtuale il dominio postale può essere: un nome (FQDN) o indirizzo del server di posta un dominio di posta virtuale Indirizzi RFC-822 tre possibilità: indirizzo commento < indirizzo > indirizzo ( commento ) esempio: lioy@polito.it Antonio Lioy <lioy@polito.it> lioy@polito.it (Antonio Lioy) occhio alle fregature! "Prof. Antonio Lioy <lioy@polito.it> " <cattivik@malvagi.it> A.Lioy - Politecnico di Torino (2013-17) C-2

Dai domini postali agli host il dominio postale è un concetto logico ma per trasmettere la posta con SMTP occorre identificare un host fisico con un indirizzo IP preciso il dominio coincide con un host? nslookup -q=a dominio posta inviata all host il dominio è virtuale ed ha quindi un mail exchanger? nslookup -q=mx dominio posta inviata ad uno degli MX host (contattati in ordine di preferenza) MHS (Message Handling System) MTA MSA MTA chain MTA MSA MS MS MUA MUA MUA (Message User Agent) MSA (Message Submission Agent) MTA (Message Transfer Agent) MS (Message Store) A.Lioy - Politecnico di Torino (2013-17) C-3

E-mail in client-server SMTP Mailserver ( MSA ) SMTP MTA... MUA (es. Thunderbird, Outlook Express) POP, IMAP Post Office ( MS ) SMTP... MTA Webmail Mailserver ( MSA ) SMTP MTA... web browser HTTP HTML HTTP engine SMTP web server POP / IMAP virtual MUA Post Office ( MS ) SMTP... MTA A.Lioy - Politecnico di Torino (2013-17) C-4

Protocolli e porte SMTP (Simple Mail Transfer Protocol) 25/tcp (MTA) 587/tcp (MSA) POP (Post Office Protocol) 110/tcp IMAP (Internet Message Access Protocol) 143/tcp sono protocolli di basso livello (si occupano solo di trasportare i messaggi, non entrano in merito al loro contenuto) RFC-822 Formati dei messaggi formato di un messaggio (header + body) body di puro testo contenuti non testuali (es. immagini) devono essere trasformati in testo (es. uuencode, binhex) MIME estensione multimediale di RFC-822 body può includere anche dati non di testo alcuni campi aggiuntivi nell header A.Lioy - Politecnico di Torino (2013-17) C-5

Messaggi "RFC-822" RFC-5322 (ex RFC-822) solo caratteri US-ASCII a 7 bit righe terminate da <CR> <LF> messaggi composti da header + body header parole chiave a inizio riga righe di continuazione iniziano con uno spazio body separato dall header da una riga vuota contiene il messaggio Header RFC-822 From: mittente (logico) Sender: mittente (operativo) Organization: organizzazione del mittente To: destinatario Subject: argomento Date: data e ora di spedizione Received: passaggi intermedi Message-Id: ID di spedizione CC: in copia a Bcc: in copia (nascosta) a Return-Receipt-To: ricevuta di ritorno a A.Lioy - Politecnico di Torino (2013-17) C-6

Ricevuta di ritorno RFC-822 collegata all header Return-Receipt-To: non standard e deprecata ma usata da molti MUA risposta dipende da MS e/o MUA del destinatario: può non offrirla può offrirla alla ricezione o alla lettura Unix (sendmail): alla ricezione Windows-NT: alla lettura Notes: alla ricezione e alla lettura lo standard preferisce RCPT TO con DSN (che però copre solo la consegna ma non la lettura) Perché si attraversano tanti MTA? minimo due MTA concettualmente MSA e MS sono diversi dagli MTA un MTA in uscita dalla rete del mittente (con tanti MSA alle spalle per distribuire il carico in ingresso) un MTA in ingresso nella rete del destinatario (con tanti MS per distribuire il carico di memorizzazione e lettura dei messaggi). in passato molti altri MTA intermedi rete non tutta TCP/IP e/o posta non RFC-822 MTA = gateway (traduzione protocollo di rete e/o formato di posta) guardare i "Received:" per vedere gli MTA attuali A.Lioy - Politecnico di Torino (2013-17) C-7

Contenuti binari in RFC-822 devono essere codificati come testo tramite appositi programmi: uuencode / uudecode in Unix binhex in MacOS esempio: uuencode photo.gif photo.gif mail s "my pic" ucl!ucb!john problema poi affrontato e risolto in modo più automatico, completo e strutturato dal formato MIME Esempio uuencode $ ls -sh flower.ico 68K flower.ico $ uuencode flower.ico flower.ico > flower.uue $ cat flower.uue begin 755 flower.ico M```!``$`@(````$`(``H"`$`%@```"@```"```````$```$`(``````````! M`!(+```2"P````````````# \` `/ P# \` `/ P# \`... M + \` end $ ls -sh flower.uue 92K flower.uue A.Lioy - Politecnico di Torino (2013-17) C-8

Esempio uuencode: spiegazione il primo carattere di ogni riga indica il numero di byte codificati nella riga per renderlo stampabile si somma il suo valore a quello del carattere Blank si considerano 6 bit per volta (invece di 8) ed il loro valore lo si somma al carattere Blank 3 byte diventano 4 caratteri stampabili (+33%) alcuni calcoli (sui contatori): M (ASCII 77) Blank (ASCII 32) = 45 byte 45 / 3 = 15; 15 * 4 = 60 caratteri di dati riga da 62 caratteri (dati + contatore + LF) + (ASCII 43) 32 = 11 byte / 3 = 4 * 4 = 16 + 2 = 18 Il protocollo SMTP specifica base in RFC-5321 (ex RFC-821) protocollo ASCII a 7 bit il MSB del byte può essere forzato a zero o usato per la parità (semplice controllo di errore) alfabeto US-ASCII comandi case-insensitive righe terminate da <CR><LF> A.Lioy - Politecnico di Torino (2013-17) C-9

Comandi base SMTP HELO hostname identifica l host mittente MAIL FROM: return-path identifica il mittente RCPT TO: forward-path identifica il destinatario DATA tutte le righe successive contengono un messaggio RFC-822 sino alla riga (esclusa) che contiene.<cr><lf> QUIT termine della trasmissione SMTP Altri comandi SMTP RSET annulla tutti comandi sinora impartiti VRFY indirizzo-postale verifica se l indirizzo è valido EXPN indirizzo-di-una-lista elenca gli iscritti alla lista HELP fornisce un breve help NOOP operazione nulla (utile per keep-alive) nota: VRFY e EXPN quasi sempre non sono supportati per cercare di limitare lo spam A.Lioy - Politecnico di Torino (2013-17) C-10

Comandi SMTP obsoleti SMTP permetteva anche di mandare messaggi direttamente sul terminale di un utente, operazione nota col nome di SEND per distinguerla dalla normale MAIL SEND FROM: return-path identifica il mittente SOML FROM: return-path send-or-mail SAML FROM: return-path send-and-mail Codici di stato SMTP ogni risposta inizia con un codice di stato numerico a tre cifre XYZ la prima cifra (X) fornisce il major status dell azione richiesta: X=1 : positive preliminary X=2 : positive completion X=3 : positive intermediate X=4 : transient negative completion X=5 : permanent negative completion A.Lioy - Politecnico di Torino (2013-17) C-11

Codici di stato SMTP la seconda cifra (Y) indica la tipologia Y=0 : syntax Y=1 : information Y=2 : connections Y=5 : mail system la terza cifra (Z) fornisce un modo per distinguere codici di risposta appartenenti alla stessa classe risposta su più righe se lo stato è XYZ (l ultima riga ha solo XYZ) Limiti quantitativi di SMTP e RFC-822 mailbox 64 caratteri domain 64 caratteri reverse / forward-path 256 caratteri comando / risposta 512 caratteri linea di testo 1000 caratteri (MUST) linea di testo 80 caratteri (SHOULD) molti MTA forzano un CRLF dopo 78 caratteri numero di destinatari 100 A.Lioy - Politecnico di Torino (2013-17) C-12

Un esempio SMTP / RFC-822 telnet duke.colorado.edu 25 Trying... Connected to duke.colorado.edu Escape character is ^] 220 duke.colorado.edu... HELO leonardo.polito.it 250 Hello leonardo.polito.it... Nice to meet you! MAIL FROM: cat 250 cat... Sender ok RCPT TO: franz 250 franz... Recipient ok DATA 354 Enter mail, end with. on a line by itself From: cat@athena.polito.it (Antonio Lioy) To: franz@duke.colorado.edu Subject: vacanze Ciao Francesco, ti rinnovo l invito a venirmi a trovare nelle tue prossime vacanze in Italia. Fammi sapere quando arrivi. Antonio. 250 Ok QUIT 221 duke.colorado.edu closing connection connection closed by foreign host A.Lioy - Politecnico di Torino (2013-17) C-13

ESMTP Extended SMTP, definito in RFC-1869 e quindi incorporato (con SMTP) in RFC-5321 non cambia il protocollo base ed il canale i client ESMTP devono presentarsi con: EHLO hostname se il server ricevente parla ESMTP, deve dichiarare le estensioni che supporta, una per riga, nella sua risposta all EHLO Estensioni SMTP standard tutti i comandi SMTP non obbligatori: SEND SOML SAML EXPN HELP TURN A.Lioy - Politecnico di Torino (2013-17) C-14

8BITMIME Estensioni ESMTP standard (RFC-1652) nel corpo del comando DATA può ricevere dati da 8bit SIZE dimensione MAIL FROM: address SIZE=dimensione (RFC-1870) dichiara la massima dimensione accettabile dal server o la dimensione del messaggio da inviare PIPELINING (RFC-1854) invio di più comandi senza attendere risposta per ognuno di essi (eccezione: quelli che fanno cambiare stato) Estensione DSN (Delivery Status Notification) estende il comando RCPT con: NOTIFY=notify-list valori possibili: NEVER, SUCCESS, FAILURE, DELAY ORCPT=original-recipient specifica il destinatario originale estende il comando MAIL con: RET=returned-message valori possibili: FULL, HDRS ENVID=sender-id identificativo creato dal mittente A.Lioy - Politecnico di Torino (2013-17) C-15

Esempi ESMTP positivi mailer ESMTP senza estensioni: 220 mail.polito.it - SMTP service ready EHLO mailer.x.com 250 Hello mailer.x.com - nice to meet you! mailer ESMTP con estensioni: 220 mail.polito.it - SMTP service ready EHLO mailer.x.com 250-Hello mailer.x.com - nice to meet you! 250-SIZE 26214400 250 8BITMIME Esempio ESMTP negativo il mailer non conosce il protocollo ESMTP: 220 mail.polito.it - SMTP service ready EHLO mailer.x.com 500 Command not recognized: EHLO A.Lioy - Politecnico di Torino (2013-17) C-16

SMTP-Auth estensione di ESMTP definita in RFC-4954 comando AUTH + opzioni di MAIL FROM per autenticare un client prima di accettarne i messaggi!!! utile contro lo spamming: dopo il comando EHLO il server invia i meccanismi di autenticazione supportati il client ne sceglie uno viene eseguito il protocollo di autenticazione se l autenticazione fallisce, il canale viene chiuso Esempio AUTH negativo il mailer non conosce (o non accetta) la modalità di autenticazione proposta dal client: 220 example.polito.it - SMTP service ready EHLO mailer.x.com 250-example.polito.it 250 AUTH LOGIN CRAM-MD5 DIGEST-MD5 AUTH PLAIN 504 Unrecognized authentication type A.Lioy - Politecnico di Torino (2013-17) C-17

AUTH: metodo LOGIN 220 example.polito.it - SMTP service ready EHLO mailer.x.com 250-example.polito.it 250 AUTH LOGIN CRAM-MD5 DIGEST-MD5 AUTH LOGIN 334 VXNlcm5hbWU6 Username: bglveq== lioy 334 UGFzc3dvcmQ6 Password: YW50b25pbw== antonio 235 authenticated AUTH: metodo PLAIN sintassi (RFC-2595): AUTH PLAIN id_pwd BASE64 id_pwd è definito come: [ authorize_id ] \0 authentication_id \0 pwd 220 example.polito.it - SMTP service ready EHLO mailer.x.com 250-example.polito.it 250 AUTH LOGIN PLAIN AUTH PLAIN bglveqbsaw95agfudg9uaw8= 235 authenticated lioy \0 lioy \0 antonio A.Lioy - Politecnico di Torino (2013-17) C-18

POP (Post-Office Protocol) una volta era diffuso anche POP-2 (109/tcp) oggi è usato solo POP-3 (RFC-1725, 110/tcp) realizza il collegamento tra MUA e MS, quindi serve solo a leggere la posta dall ufficio postale talvolta usato (impropriamente) in assenza di SMTP-auth per autenticare l utente prima di spedire posta (es. Pegasus Mail) POP-3: formati protocollo ASCII (ma è 8-bit clean) comandi case-insensitive righe terminate da <CR><LF> codici di errore del server +OK -ERR risposte multi-linea terminate da una riga contenente solo:. <CR> <LF> separatore: un solo carattere di spazio A.Lioy - Politecnico di Torino (2013-17) C-19

QUIT POP-3: comandi obbligatori STAT +OK nmsg totalmsgsize LIST [ msgid ] msgid msgsize RETR msgid DELE msgid NOOP RSET POP-3: comandi opzionali USER mailbox PASS password APOP mailbox digest AUTH mechanism (KERBEROS_V4, GSSAPI, SKEY) TOP msgid nline UIDL [ msgid ] msgid umsgid fornisce stringhe di identificazione univoche per tutte le sessioni A.Lioy - Politecnico di Torino (2013-17) C-20

Un esempio POP-3 telnet pop.polito.it 110 +OK POP3 server ready <7831.84549@pop.polito.it> USER lioy +OK password required for lioy PASS antonio +OK lioy mailbox locked and ready STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200. Un esempio POP-3 RETR 1 +OK 120 octets ( messaggio n. 1 ). DELE 1 +OK message 1 deleted RETR 2 +OK 200 octets ( messaggio n.2 ). QUIT +OK POP3 server signing off A.Lioy - Politecnico di Torino (2013-17) C-21