Upload
susane
View
72
Download
2
Embed Size (px)
DESCRIPTION
Posta Elettronica. Laboratori Nazionali di Frascati INFN [email protected] http://www.lnf.infn.it/~dmaselli/. Indirizzi e-mail. Indirizzo di posta elettronica o e-mail e’ composto di due parti, separate da @ La prima indica il nome di un utente - PowerPoint PPT Presentation
Citation preview
Posta Elettronica
Laboratori Nazionali di FrascatiINFN
[email protected]://www.lnf.infn.it/~dmaselli/
Dael Maselli – Servizio di Calcolo –
Indirizzi e-mail Indirizzo di posta elettronica o e-mail e’ composto di due
parti, separate da @ La prima indica il nome di un utente
La seconda il nodo su cui trovare l’utente e la sua inbox
L’inbox o casella di posta e’ repository dei messaggi inviati presso un determinato utente su un determinato nodo.
Tramite l’impostazione di un record MX per un dominio e’ possibile delegare ad un mail server predefinito i mail destinati a un indirizzo nella forma utente@dominio anziche’ [email protected]
Dael Maselli – Servizio di Calcolo –
Struttura di un messaggio
Il singolo messaggio e’ costituito da 2 parti Header: contenente informazioni come Mittente,
Destinatario, Data, Mail server, Id unico, ecc…
Body: il contenuto vero e proprio del messaggio
le 2 parti sono separate dalla prima riga vuota.
Un semplice e-mail puo’ contenere solo caratteri alfanumerici (7 bit), per l’inserimento di allegati binari e’ quindi necessario l’uso del formato MIME
Dael Maselli – Servizio di Calcolo –
Formato MIME E’ un metodo per inserire nel body, oltre al semplice testo, anche un
numero indefinito di allegati. Prima di tutto va dichiarato nell’header che il messaggio contiene
informazioni mime:Content-Type: multipart/mixed; boundary=“--separatore allegati--”
A questo punto anche la semplice parte di testo diventa un allegato.
All’inizio di ogni allegato viene descritto il tipo di dati:Content-Type: text/plain; charset=UTF-8
OppureContent-Type: image/jpg;
I dati binari vengono poi rappresentati convertendoli da 8 a 7 bit in modo che possano essere trasportati attraverso smtp
Dael Maselli – Servizio di Calcolo –
Componenti di un sistema di posta elettronica
MTA (Mail Transfer Agent): E’ il server che si occupa di smistare i messaggi di posta elettronica
in una rete; Utilizza il protocollo SMTP.
MDA (Mail Delivery Agent) Si occupa di memorizzare i messaggi nelle caselle degli utenti.
MUA (Mail User Agent) E’ l’applicazione utilizzata dall’utente per accedere alla casella e
leggere la posta elettronica. (es. Outlook, Mozilla Thunderbird, ecc.) MUA Interface
E’ il server che permette di leggere la posta da remoto attraverso un MUA;
Generalmente utilizza i protocolli IMAP o POP3.
Dael Maselli – Servizio di Calcolo –
ClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClient
ClientClientClientClientClientClientClientClientClientClient
ClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClient
ClientClientClientClientClientClientClientClientClientClient
ClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClient
ClientClientClientClientClientClientClientClientClientClient
Struttura tipica della posta elettronica
ClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClientClient
File System
INTERNETINTERNET INBOXStorage
MTA(SMTP Server)
ClientClientClientClientClientClientClientClientClientClient
MUAInterface
(POP3 Server)
WebMailServer
MDA
MUAInterface
(IMAP Server)
MUALocalLocal
Dael Maselli – Servizio di Calcolo –
MTA – Ricezione L’MTA puo’ ricevere un messaggio:
Da un client di posta (MUA) Da un altro MTA
Generalmente il primo passo avviene inviando un messaggio da un MUA al MTA della rete di cui si fa parte
Nel caso in cui la casella di destinazione sia conosciuta l’MTA invia il messaggio al MDA per consegnarlo nella casella dell’utente destinatario.
Nel caso l’utente di destinazione non sia conosciuto dal MTA contattato questo lo girera’ al MTA competente. Questo meccanismo viene chiamato RELAY.
Dael Maselli – Servizio di Calcolo –
MTA – Relay Gli MTA hanno bisogno di identificare quali nodi fanno
parte della rete di cui gestisce la posta. Per questioni di sicurezza vengono configurati in modo
che effettuino il relay solo in determinate situazioni: Da un nodo esterno ad un indirizzo interno Da un nodo interno ad un indirizzo interno Da un nodo interno ad un indirizzo esterno NON da un nodo esterno ad un indirizzo esterno
Questo contribuisce ad evitare contraffazioni ed a garantire la tracciabilita’ del messaggio.
L’MTA piu’ utilizzato in ambiente unix e’ Sendmail, ed e’ quello su cui si baseranno i successivi esempi di configurazione.
Dael Maselli – Servizio di Calcolo –
MUA Interface Per consentire di leggere i messaggi senza
essere localmente sulla macchina che contiene le INBOX (caselle di posta) vengono utilizzati dei protocolli di rete: IMAP (Internet Mail Tranfer Protocol):
E’ un sistema che permette di leggere la posta ed organizzare folder lavorando direttamente sul server dove effettivamente rimarranno tutti i messaggi.
POP3 Consente di effettuare il download di tutti i messaggi nella
inbox in modo da poterli leggere off-line; Non permette la creazione di folder; E’ meno impegnativo lato server.
Dael Maselli – Servizio di Calcolo –
MUA Interface – Configurazione
I pacchetti come IMAPd e POP3d generalmente non hanno bisogno di configurazione.
Conoscono gli utenti locali e sono in grado di controllarne la password utilizzando le funzioni di sistema.
Dipendono da xinetd, il tcp wrapper standard di Linux ed e’ sufficiente attivarli in /etc/xinetd.d/(ipop3d|imapd) e facendo il restart di xinetd.
Leggeranno le inbox nella posizione di default (/var/spool/mail/<nome-utente>)
Ulteriori folder (imap) risiedono nelle home dir degli utenti
Dael Maselli – Servizio di Calcolo –
Sendmail – Aliases Dato che gli indirizzi e-mail devono essere relativi a utenti
locali alla macchina che funge da mail server, a volte potrebbe essere necessario creare degli alias piu’ mnemonici per i singoli utenti
Questi sono definiti nel file /etc/aliases nella forma:
Dael.Maselli: dmaselliQuando arrivera' un e-mail sulla macchina mail.infn.it con indirizzo [email protected] questo verra’ tradotto in [email protected] per rintracciarne il destinatario reale.
Ogni volta che si cambia il file /etc/aliases e’ necessario eseguire `newaliases`.
Dael Maselli – Servizio di Calcolo –
Sendmail – Forward
Ogni utente puo’ definire per la propria casella di posta un forward, ovvero un indirizzo dove girare la posta ad essa destinata
Viene definito nel file .forward nella home directory dell’utente, all’interno e’ sufficiente scrivere l’indirizzo di destinazione.
Dael Maselli – Servizio di Calcolo –
Sendmail – Configurazione La configurazione di Sendmail avviene tramite il file
/etc/mail/sendmail.cf Il sendmail.cf tuttavia ha una sintassi estremamente
complessa e di conseguenza viene usato il file /etc/mail/sendmail.mc che compilato tramite m4 genera il sendmail.cf
Il file sendmail.mc e’ strutturato in una serie di istruzioni che definiscono variabili ed includono segmenti di codice nel sendmail.cf
Per compilare il sendmail.cf dopo aver editato semdial.mc:cd /etc/mailm4 /usr/share/sendmail-cf/m4/cf.m4 sendmail.mc > sendmail.cf
Dael Maselli – Servizio di Calcolo –
Sendmail – sendmail.mc di basedivert(-1)dnlinclude(`/usr/share/sendmail-cf/m4/cf.m4')dnlOSTYPE(`linux')dnlFEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access')dnlMAILER(procmail)dnlMAILER(smtp)dnl
Ulteriori possibilita’ di configurazione possono essere trovate nel file /usr/share/sendmail-cf/README
Dael Maselli – Servizio di Calcolo –
Sendmail – access.db Per gestire gli accessi al mail server si utilizza il
file /etc/mail/access Da qui e’ possibile indicare i nodi da cui si
accetta il relay: nodo.dominio RELAY domino RELAY
ed i nodi dai quali non si accetta alcun mail: nodo.dominio REJECT domino REJECT
Dael Maselli – Servizio di Calcolo –
Protocollo SMTP – Test del server (1) Per simulare una richiesta SMTP e possibile eseguire
telnet verso l’SMTP server sulla porta 25 (smtp) Esempio di un dialogo SMTP:[dmaselli@lxcalc1:~]> telnet millenniumfalcon.lnf.infn.it 25Trying 193.206.84.29...Connected to millenniumfalcon.lnf.infn.it (193.206.84.29).Escape character is '^]'.220 millenniumfalcon.lnf.infn.it ESMTP Sendmail 8.13.1/8.13.1; Fri, 16 Sep 2005 17:44:17 +0200helo lxcalc1.lnf.infn.it250 millenniumfalcon.lnf.infn.it Hello lxcalc1.lnf.infn.it [193.206.84.96], pleased to meet youmail from: [email protected] 2.1.0 [email protected]... Sender okrcpt to: [email protected] 2.1.5 [email protected]... Recipient okdata354 Enter mail, end with "." on a line by itselfSubject: prova008
ciao.250 2.0.0 j8GFiHYn003237 Message accepted for deliveryquit221 2.0.0 millenniumfalcon.lnf.infn.it closing connectionConnection closed by foreign host.
Dael Maselli – Servizio di Calcolo –
Protocollo SMTP – Test del server (2) Se si sono impostate delle regole in access.db, provando
con un destinatario esterno:rcpt to: [email protected] 5.7.1 [email protected]... Relaying denied
Per inviare il messaggio a piu’ destinatari sara’ necessario inserire piu’ righe rctp to.
Non vengono considerati gli header to e cc, verranno interpretati solo dal MUA nella lettura.
L’indirizzo in mail from verra’ trascritto come return-path nell’header del mail e verra’ usato per comunicare problemi nella consegna del messaggio, non e’ quello visualizzato dal MTA che viene invece letto dall’header To del mail.
Dael Maselli – Servizio di Calcolo –
Sendmail – Funzionamento (1)
Sendmail e’ un servizio unix stand-alone e viene fatto partire tramite lo script /etc/init.d/sendmail
Quando arriva un messaggio al servizio questo puo’ essere processato in modo sincrono: Viene consegnato immediatamente, durante il dialogo smtp
o asincrono: Il messaggio viene inserito in una coda che viene processata ad
intervalli prefissati (modalita’ standard)
I messaggi in coda risiedono sul disco generalmente in /var/spool/mqueue, separando i metadati di sendmail dal messaggio vero e proprio
Per una lista dei messaggi in coda si puo’ usare il comando mailq Per approfondimenti consultare /usr/share/doc/sendmail/doc/op/op.ps
Dael Maselli – Servizio di Calcolo –
Sendmail – Funzionamento (2)
Il mail verra’ alla fine consegnato nella inbox dell’utente in /var/spool/mail/<nomeutente>.
Dal sorgente del mail e’ possibile capire molte cose in particolare dalle righe Received che vengono inserite ogni volta che il mail passa da un MTA
Le righe Received si leggono dal basso verso l’alto
E’ possibile ad esempio sapere l’IP del nodo che ha inviato la richiesta al primo MTA e tracciare i tempi e la rotta
Spesso in questo modo si scovano hacker o macchine infette e insicure.
Dael Maselli – Servizio di Calcolo –
Sendmail – Sorgente di un mail (1)Return-Path: <[email protected]>
Received: from sophos1.lnf.infn.it (sophos1.lnf.infn.it [193.206.84.245])
by imap0.lnf.infn.it (8.12.10/8.12.10) with ESMTP id j8FHpK0p027679;
Thu, 15 Sep 2005 19:51:20 +0200
Received: from smtp20.libero.it (smtp20.libero.it [193.70.192.147])
by sophos1.lnf.infn.it (8.13.3/8.12.11) with ESMTP id j8FHp7eS024616
for <[email protected]>; Thu, 15 Sep 2005 19:51:08 +0200
(envelope-from [email protected])
Received: from localhost (172.16.1.17) by smtp20.libero.it (7.0.027-DD01)
id 431C3C6200A741D1 for [email protected]; Thu, 15 Sep 2005 19:51:12 +0200
Received: from smtp2.libero.it ([172.16.1.97])
by localhost (asav12.libero.it [193.70.192.95]) (amavisd-new, port 10024)
with ESMTP id 28671-07-2 for <[email protected]>;
Thu, 15 Sep 2005 19:51:12 +0200 (CEST)
Received: from [151.80.10.243] (unknown [151.80.10.243])
by smtp2.libero.it (Postfix) with ESMTP id 2E75CA8C1E
for <[email protected]>; Thu, 15 Sep 2005 19:50:28 +0200 (MEST)
From: [email protected]
Reply-to: [email protected]
To: Calcolo Mail list <[email protected]>
Subject: buona!
Date: Thu, 15 Sep 2005 19:50:26 +0300
Message-ID: <[email protected]>
X-Mailer: Symbian OS Email Version 7.0
MIME-Version: 1.0
Content-Language: i-default
Content-Type: multipart/mixed;
boundary="EPOC32-sTHHRXFD45-3LLF8qd1bmFb6Fl_cx55hKz4h0kStPfdSYk,-"
( continua … )
Dael Maselli – Servizio di Calcolo –
Sendmail – Sorgente di un mail (2)X-Scanned: with antispam and antivirus automated system at libero.itX-PMX-Version: 4.7.1.128075, Antispam-Engine: 2.0.3.1, Antispam-Data: 2005.9.15.19
X-PMX-Sender-IP: 193.70.192.147
X-PMX-Spam: 7%
X-PMX-Spam-report: The following antispam rules were triggered by this message:
Rule Score Description
NO_REAL_NAME 0.000 From: does not include a real name
This is a MIME Message
--EPOC32-sTHHRXFD45-3LLF8qd1bmFb6Fl_cx55hKz4h0kStPfdSYk,-
Content-Type: text/plain; charset=UTF-8Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
EMail sent via mobile phone.
Please reply to:
--EPOC32-sTHHRXFD45-3LLF8qd1bmFb6Fl_cx55hKz4h0kStPfdSYk,-
Content-Type: application/octet-stream
Content-Disposition: attachment;
filename="Argentario20050910(006).jpg"
Content-Transfer-Encoding: base64
<MIME Encoded Attachment>
--EPOC32-sTHHRXFD45-3LLF8qd1bmFb6Fl_cx55hKz4h0kStPfdSYk,-
Dael Maselli – Servizio di Calcolo –
Antivirus & Antispam
Data la grande concentrazione di mail “cattivi” nelle nostre inbox, stanno prendendo piede sempre di piu’ i sistemi di antivirus ed antispam centralizzati su mail server;
Entrambi controllano il messaggio nella fase di transizione in un MTA, in sendmail tramite un meccanismo chiamato MILTER;
I milter sono dei programmi che vengono eseguiti da sendmail al momento dell’arrivo di un messaggio;
Il mail viene passato al milter che lo analizza come vuole e restituisce ACCEPT o REJECT, in quest’ultimo caso si puo’ aggiungere un motivo per il rifiuto;
I milter possono essere in grado anche di modificare il messaggio ad esempio eliminando un allegato infetto e continuare la consegna con le informazioni rimanenti.
Dael Maselli – Servizio di Calcolo –
Servizio di Calcolo Laboratori Nazionali di FrascatiIstituto Nazionale di Fisica Nucleare
Fine