Tecnologie di Sicurezza in Internet APPLICAZIONI Mail relays AA Ingegneria Informatica e dell’Automazione
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/2 Fondamenti SMTP Simple Mail Transfer Protocol, RFC 2821 MTA Mail Transfer Agent MUA Mail User Agent Client, Server, Sender, Receiver Originator, Delivery Relay, Gateway
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/3 Fondamenti Destinazione Per ogni dominio di destinazione della posta, un sender SMTP usa il DNS per risolvere il record MX risolvere il corrispondente record A Il sender apre una connessione con il mail server di destinazione e gli consegna la posta con SMTP
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/4 Fondamenti Protocollo SMTP 220 mail.dominio.com SMTP HELO senderdomain.com 250 mail.dominio.com MAIL FROM: 250 OK RCPT TO: 250 OK DATA 354 Start mail input; end with. Lksjd flsjdfkjdsflkjdsf A3dk dweodwejdlweihd. 250 OK: queued QUIT 221 Bye
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/5 Modelli Receiver, queues, processor, deliverer Monolitico Sendmail: un unico programma che fa tutto Modulare TIS, Postfix: insieme di programmi che lavorano in cooperazione
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/6 TIS Trusted Information Systems Sono stati i primi a introdurre il concetto di firewall come application level gateway. La filosofia di TIS è avere componenti semplici e piccoli, di cui si possa perfino ispezionare il codice facilmente, per trovare e correggere errori. smap (receiver): piccolo programma che capisce una versione semplificata di SMTP; riceve i messaggi di posta e li memorizza in una coda. Permessi ristretti e chrooted smapd (processor): scandisce la coda e usa sendmail per il delivery dei messaggi
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/7 Postfix Scritto da W. Venema (IBM) come alternativa al più diffuso sendmail. Vuole essere veloce, facile da amministrare e (auspicabilmente) sicuro E' modulare e composto da una dozzina di programmi semplici che si occupano di uno specifico compito (è possibile disabilitare alcune parti o rimpiazzarle con altri programmi) E' scritto con l'obiettivo di ottenere sicurezza: nessuno dei componenti è set-uid e quasi tutti possono girare in una chroot jail
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/8 Postfix Le diverse funzionalità sono realizzate da processi separati; vi è perciò un migliore isolamento rispetto a un programma unico. In questo modo un'intrusione deve “passare” da più parti per compromettere l'intero sistema Vi è un master server che esegue gli altri processi all'occorrenza, che sono già creati secondo quanto specificato in un file di configurazione I processi si parlano con socket Unix o FIFOs
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/9 Postfix security Per progetto la sicurezza non è fatta dipendere da un solo meccanismo è vi sono diversi livelli Least privilege La maggioranza dei programmi è eseguita con privilegi utente e in ambiente chrooted Insulation Realizzando diversi programmi per le diverse funzioni, non c'è un percorso diretto fra la rete e le funzioni di delivery locale Controlled environment L'unico programma che controlla gli altri è il master
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/10 Postfix security Set-uid Nessun programma di Postfix è set-uid L'unico programma set-gid è quello che deposita la posta nella coda 'maildrop' per il delivery locale (non usato in un relay) Trust I programmi non fanno affidamento sui dati contenuti nelle code, nei messaggi IPC o che arrivano dalla rete, né scrive comandi o nomi di file in essi
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/11 Postfix security Altre precauzioni Strings e buffers sono allocati dinamicamente Si effettua segmentation & reassembly dei messaggi lunghi in input I messaggi passati a syslog sono troncati per evitare buffer overflow Il numero di oggetti presenti in memoria in ogni momento è limitato per impedire sovraccarichi e la saturazione del sistema In caso di problemi gravi e prima di far riparire un processo, viene effettuata una pausa per evitare possibili instabilità o condizioni di corsa
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/12 Postfix big picture
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/13 Postfix struttura semplificata smtpd active deferred qmgrsmtp Internet RBLs UCE restrictions relay domains transport resolve
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/14 Installazioni Packet Filter Il mail relay è installato in una DMZ e protetto da un packet filter Application Level Gateway Il mail relay è installato nell'ALG stesso
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/15 Ridondanze Record MX 0, MX 10, MX 20… Secondario presso l'ISP Doppio collegamento Doppio collegamento con bilanciamento Secondario offsite
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/16 Configurazioni Vi sono una quantità di configurazioni relative alla sicurezza di un mail relay/gateway Open relay Per evitare che il gw sia un open relay occorre dichiarare i domini che verranno accettati in relay_domains Risorse ecc. recipient_limit, timeout, line_length_limit, message_size_limit, queue_minfree, error_sleep_time, soft_error_limit, hard_error_limit
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/17 Configurazioni UCE control client_restrictions, helo_required, helo_restrictions, sender_restrictions, recipient_restrictions, maps_rbl_domains Restrizioni sull'hostname o address del client client_restriction = reject_rbl_client relays.ordb.org client_restriction = reject_unknown_client Restrizioni sul comando HELO helo_restriction = reject_invalid_hostname helo_restriction = reject_unknown_hostname helo_restriction = reject_non_fqdn_hostname
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/18 Configurazioni Restrizioni sull'indirizzo del mittente sender_restrictions = reject_unknown_sender_domain sender_restrictions = reject_non_fqdn_sender Restrizioni sull'indirizzo del destinatario recipient_restrictions = reject_non_fqdn_recipient Content filtering Si può dichiarare un trasporto particolare che, prima di effettuare il relay della posta, filtra i messaggi e li rifiuta o li reimmette in Postfix dopo averli modificati Usando Amavis si può richiamare SpamAssassin o altri programmi esterni usati come filtri
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/19 Antispam Lo spam, o “unsolicited (commercial) mail”, è un fenomeno in grande crescita Produce perdita di tempo e danni Non vi sono rimedi particolarmente efficaci o applicabili con elevato successo; tenendo alta l’attenzione all’evolversi del fenomeno si mettono in atto diverse pratiche, non ultima la semplice educazione degli utenti
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/20 Antispam Black&white-listing, RBL Filtri di contenuti Sender Policy Framework Graylisting User training
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/21 Antispam Black&white-listing e RBL Sono controlli effettuati sul contenuto degli header dei messaggi, non sul body Il mail server ricevente consulta una lista di indirizzi o server mittenti validi (white) o vietati (black) e sulla base di questi match il chiude la comunicazione con il mittente Il database può essere anche online e gestito da un fornitore di servizi antispam; solitamente si chiama allora Realtime Blocking List Gli RBLs si consultano solitamente utilizzando il protocollo DNS (query e response)
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/22 Antispam Filtri di contenuti Il sistema di posta, prima di consegnare la stessa agli utenti, applica vari algoritmi di analisi dei messaggi e misura, con varie metriche, un fattore di confidenza per classificare la come spam o ham E’ richiesto un training del sistema, che a volte deve essere effettuato dagli utenti stessi Attenzione agli aspetti legali: in Italia e in Germania per esempio non si può impedire agli utenti di ricevere lo spam in quanto tale azione verrebbe classificata come violazione della corrispondenza privata
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/23 Antispam Sender Policy Framework Nasce da una recente (2002) idea di Paul Vixie, evolutasi in seguito con contributi di Microsoft, in Sender ID e infine (2006) in Sender Policy Framework L’idea alla base di SPF è pubblicare record DNS corrispondenti ai server che possono inviare posta per un particolare dominio; sono duali dei record MX Il ricevente può così controllare se il server mittente risulta pubblicato sul DNS secondo le regole di SPF, e diversamente decidere di non accettare la posta in entrata Non è ancora completamente diffuso e finché non vi sarà adesione totale non consente di avere benefici nella lotta allo spam
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/24 Antispam Greylisting Nasce dal presupposto che la maggior parte del software creato per inviare spam non sia in grado di gestire i deferrals (errori SMTP 4xx) Per ogni incoming viene composta la tripla: Se questa risulta sconosciuta, viene aggiunta a una graylist e il mittente riceve un errore 4xx, con l’assunzione che questi riproverà l’invio più tardi Quando la stessa tripla si presenta successivamente, la viene accettata e la tripla rimossa dalla greylist e inserita nella whitelist
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/25 Antispam Greylisting Al contrario dei filtri di contenuto questo meccanismo è molto leggero, perché rispondere con un errore 450 è immediato e non occupa risorse né di banda né di CPU Gli utenti non si accorgono di nulla tranne un certo delay nella ricezione del primo messaggio di un nuovo mittente, sia esso spam o posta legittima Mail server mittenti mal configurati possono comunque non gestire correttamente l’errore 450 Prima o poi i software di spedizione dello spam implementeranno questo meccanismo, aggirandolo anche questa difesa
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/26 Antispam Greylisting - controindicazioni Siccome è in realtà compito del sistema mittente scegliere quando rimandare la posta, può capitare che questo ritardo sia eccessivo (molte ore), causando false segnalazioni di perdita di posta da parte degli utenti (es. se un mittente manda due messaggi arriva il secondo e dopo molto tempo arriva il primo) Se implementato, il graylisting deve quasi sempre operare come unico sistema antispam, e spesso non si può associare ad altri sistemi classificatori, se non perdendone parte delle funzionalità. Questo è comunque un problema generale dei filtri di contenuti; per esempio, implementando un sistema antispam occorre rinunciare alla ridondanza sull’MX secondario
Tecnologie di Sicurezza in Internet: applicazioni – AA – C20/27 Riferimenti Simple Mail Transfer Protocol RFC 821, RFC 2821 Anti-Spam Recommendations for SMTP MTAs RFC 2505 Postfix website A Toolkit and Methods for Internet Firewalls M. J. Ranum, F. M. Avolio, TIS Inc. Sender Policy Framework Greylisting