23
Posta Elettronica Laboratori Nazionali di Frascati INFN [email protected]

Posta Elettronica

  • 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

Page 1: Posta Elettronica

Posta Elettronica

Laboratori Nazionali di FrascatiINFN

[email protected]://www.lnf.infn.it/~dmaselli/

Page 2: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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]

Page 3: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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

Page 4: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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

Page 5: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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.

Page 6: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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

Page 7: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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.

Page 8: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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.

Page 9: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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.

Page 10: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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

Page 11: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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`.

Page 12: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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.

Page 13: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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

Page 14: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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

Page 15: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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

Page 16: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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.

Page 17: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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.

Page 18: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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

Page 19: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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.

Page 20: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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 … )

Page 21: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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:

[email protected]

--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,-

Page 22: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

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.

Page 23: Posta Elettronica

Dael Maselli – Servizio di Calcolo –

[email protected]

Servizio di Calcolo Laboratori Nazionali di FrascatiIstituto Nazionale di Fisica Nucleare

Fine