Realizzazione Di Un Server Di Posta (Pop3, Imap E Smtp) Con Particolare Attenzione Ai Filtri Antispam
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITA’ DEGLI STUDI DI PAVIA SEDE DISTACCATA DI MANTOVA FACOLTA’ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica Tesi di Laurea REALIZZAZIONE DI UN SERVER DI POSTA (POP3, IMAP E SMTP) CON PARTICOLARE ATTENZIONE AI FILTRI ANTISPAM Laureando: Mariella Franciosi Relatore: Prof. Giuseppe Federico Rossi Anno Accademico 2004/2005 RINGRAZIAMENTI Un particolare ringraziamento desidero porgerlo al Professor Giuseppe Federico Rossi per la disponibilità e l’aiuto offerto per lo svolgimento del mio progetto. Ringrazio inoltre Emanuele Goldoni e Luca Capisani per l’appoggio e il prezioso supporto. Infine un grazie anche alla mia famiglia, a Davide e a tutti i miei amici e compagni di studi che mi sono stati vicini per raggiungere questo importante traguardo. 2 INDICE Pag. 1. Introduzione alla posta elettronica………..………………………………………………….. 6 1.1. Composizione…………………….…….…………………………………………………. 6 1.2. Funzionamento………………….…….…………………………………………………... 8 1.3. Formato dei messaggi di posta e MIME…….……………………………………………. 8 1.4. Protocolli…………………………………………………………………………………. 14 1.4.1. Il protocollo SMTP……………………………………………………………….. 14 1.4.2. Il protocollo POP…………………………………………………………………. 19 1.4.3. Il protocollo IMAP………………………………………………………………... 22 1.4.4. Posta elettronica basata sul web – HTTP…………………………………………. 28 2. Introduzione allo Spam………………………………………………………………………. 30 2.1. Tipologie di posta indesiderata e di spammer….………………………………………… 31 2.2. Spam in percentuale……………………………………………………………………… 31 2.3. Categorie di spam………………………………………………………………………... 32 2.4. Costi…………………………………………………………………………………….... 33 2.5. Spamming permesso, opt-in/opt-out……………………………………………………... 34 2.6. Provvedimenti legislativi………………………………………………………………… 36 3. Tecniche con cui lo spammer recupera indirizzi…………………………………………... 39 3.1. Dictionary Attack……….………………………………………………………………... 39 3.2. Liste di indirizzi………….……………………………………….………………………. 39 3.3. Spambot………………….…………………….…………………………………………. 39 3.4. Cavalli di Troia………….……………………………………….……………………….. 41 3.5. Web Bug……………….………………………………………….……………………… 41 3.6. Dialer………………….………………………………………….………………………. 42 4. Cosa fare quando si riceve spam.…………………………………………………………… 43 5. Regole e trucchi per la prevenzione………………………………………………………… 45 5.1. Consigli utili……………….………………………………………….…………………. 45 5.2. Address munging…………..………………………………………….…………………. 47 5.2.1. Usare Javascript…………………………………………………………………. 48 5.2.2. Codificare l’indirizzo……………………………………………………………. 49 5.2.3. Hiveware Enkoder Form………………………………………………………… 49 6. Come ricavare l’indirizzo dello spammer.………………………………………………… 51 6.1. Analisi delle intestazioni….…………..……………………………..………………….. 51 6.1.1. Database WHOIS on-line……………………………………………………….. 53 3 6.1.2. Sender Policy Framework…….………………………………………………… 54 6.2. Analisi dei siti dello spammer……………………………………………........................ 54 6.2.1. Siti click-through……………………………………………………………….. 54 6.2.2. Siti nascosti in routine Javascript….…………………………………………… 55 7. Tecniche di falsificazione e occultamento dell’indirizzo IP……..….…………………...... 56 7.1. Falsificazione degli header “Received”………..………………………………………... 56 7.2. Remailer anonimo…………..………….………………….............................………….. 57 7.2.1 Remailer di tipo 0, Pseudo-Anonymous………………………………………….. 57 7.2.2 Remailer di tipo 1, Cypherpunk……….………………………………………….. 57 7.2.3 Remailer di tipo2, Mixmaster………….………………………………………….. 57 7.3. IP Spoofing………………………………………..…………………………………….. 58 7.4. Proxy insicuri……………………………….…………..……………………………….. 59 7.5. Relay aperti………………………………………….……..……………………………. 59 7.5.1 Relay multihop………………………………………………..…………………… 60 7.6. Direct-to-MX………..…………………………….……………….…………………….. 62 7.7. URL camuffate..………………………………………….……………………………… 62 8. Come reclamare e a chi………………………………………….…….…………………… 64 8.1. Cosa dovrebbe fare un provider.…………………………………….…………………… 66 9. Metodi per limitare lo spam……………………………………..…………….…………… 67 9.1. Liste di blocco(white/black list)…………………………………….……………………. 67 9.1.1 Tipi di liste di blocco…….........……………………………….……………….... 68 9.1.2 Alcune liste di blocco disponibili….………………….…….….………………... 69 9.2. Filtri antispam.…………………………………………………………………………… 71 9.2.1 Tipi di filtraggio…..……………….…………………….…………………....… 73 9.2.2 Funzionamento…..………………………………………….………..……….… 74 9.2.3 Un particolare tipo di filtri: i filtri bayesiani…………..…………………….….. 74 10. Tools, strumenti software……………………………………………………………………. 79 10.1. SpamAssassin…………………………………………………………………………… 79 10.2. Spam Terminator……………………………………………………….……………….. 82 10.3. Mail Washer ……………………………………………………………………………. 84 10.4. Sam Spade……………………………………………………………….……………… 84 10.5. SpamPal………………………………………………………………….……………… 85 10.6. Spamihilator…………………………………………………………….………………. 85 11. Server di posta per Linux a confronto……………………………………………………… 87 4 11.1. Sendmail……..…………………………………………………….………….……… 87 11.2. Postfix…….….……………………………………………………….……………… 89 11.3. Qmail..……….………………………………………….……………………………. 93 11.4 Exim………….……………………………………………………….………………. 95 12. Client di posta per Linux a confronto…………….………………………………………. 97 12.1 KMail…………………………………………………………………………………. 97 12.2 Mozilla Thunderbird………………………………………………………………….. 98 12.3 Evolution…………………………………………………………………………….... 98 12.4 Sylpheed………………………………………………………………………………. 99 12.5 Pine……………………………………………………………………………………. 99 12.6 Mutt……………………………………………………………………………………. 99 13. Nuovi sviluppi……………………………………….………………………………………101 14. Sperimentazione presso il Laboratorio Reti……….……………………………………...103 14.1 MTA: Postfix………………………………………………………………………….104 14.1.1 Installazione………………………………………………………………….104 14.1.2 Configurazione di base………………………………………………………105 14.1.3 Attivazione…………………………………………………………………...109 14.1.4 Comandi di amministrazione………………………………………………...112 14.1.5 Configurazione antispam e controllo sulle connessioni……………………..114 14.1.6 Alias dei domini locali……………………………………………………….118 14.1.7 Domini di posta virtuali……………………………………………………...119 14.1.8 Raccolta di e-mail dal server (POP/IMAP): Dovecot…………………..……120 14.2 Software antispam: SpamAssassin………………………………………………….121 14.2.1 Installazione…………………………………………………………………..121 14.2.2 Integrazione con Postfix: Procmail…………………………………………...123 14.2.3 Configurazione………………………………………………….…………….125 14.2.4 Allenare i filtri bayesiani……………………………………….……………..127 14.3 Client di posta: KMail………………………………………………………………130 14.3.1 Configurazione.……………………………………………………………….130 14.4 Prove di funzionamento.…………………………………………………………….134 15. Conclusioni……...…...…………………………..…………….……….…………….…….152 16. Appendice A - Provvedimento del Garante della privacy……….……………………….153 17. Appendice B - Files di configurazione principali….…………….……………………......163 18. Riferimenti bibliografici….……………………………………….………………………..193 5 1. INTRODUZIONE ALLA POSTA ELETTRONICA La posta elettronica rappresenta ormai il mezzo di comunicazione asincrono più diffuso. I motivi di tale successo sono da ricondursi essenzialmente alla sua estrema facilità d’uso, velocità, accessibilità ed economicità. Permette di inviare messaggi a più persone contemporaneamente attraverso l’uso delle mailing list, di allegare documenti e consente lo scambio di informazioni multimediale: è possibile spedire, infatti, messaggi contenenti immagini, suoni, video, hyperlink, testo in formato HTML e applet Java. Tuttavia anche la posta elettronica presenta dei limiti. Fra questi l’impossibilità di stabilire un contatto diretto con il destinatario, di avvisare dell’arrivo di un’e-mail, di garantire sicurezza nell’invio e soprattutto la difficoltà nell’identificazione del mittente. Questi ultimi due problemi sono stati in parte superati con l’introduzione della ricevuta di ritorno e con le applicazioni di firma elettronica. Il tallone d’Achille resta comunque la sicurezza. Lo scopo di questa tesi è quello di analizzare il funzionamento della posta elettronica e la sua principale debolezza che è rappresenta dalla minaccia che da diversi anni sta affliggendo gli utenti virtuali: lo spamming. Si focalizzerà quindi l’attenzione su questo fenomeno che sta diventando sempre più attuale per poi fornire un esempio pratico per provare a limitarlo. Prima di tutto, spieghiamo in modo più approfondito come è composta e come funziona la posta elettronica. 1.1 COMPOSIZIONE La posta elettronica si basa su un’architettura client-server con due ruoli: spedizione e ricezione. In particolare racchiude tre componenti principali, come si può osservare in figura: • Il client Æ Mail User Agent (MUA); • Il server Æ Mail Transfer Agent (MTA); • Il protocollo SMTP (Simple Mail Transfer Protocol). 6 I MUA, anche chiamati mail reader, permettono agli utenti di leggere, inoltrare, salvare e comporre messaggi. In questi ultimi tempi si sono sviluppati soprattutto agenti dell’utente con GUI (Graphical User Interface), i quali attraverso interfacce grafiche permettono la composizione di messaggi multimediali. Tra questi i più diffusi sono Eudora, Notes, Microsoft Outlook, Netscape’s Messenger. I MTA, detti anche mail server, gestiscono la ricezione della posta dei loro utenti. Ogni utente ha una casella di posta (mailbox) che risiede nel server di posta. Inoltre l’MTA può effettuare lo smistamento verso altri server (relaying) cercando di evitare lo spamming. Oltre a contenere una mailbox per ogni utente il mail server si compone anche di una coda di messaggi (message queue) che contiene i messaggi da spedire agli altri server. I messaggi spediti e ricevuti sono memorizzati quindi sul server. Il server di posta deve essere sempre attivo, collegato ad internet e condiviso con altri utenti; è gestito dall’ISP (Internet Service Provider) che fornisce l’accesso