Tecnologie di Sicurezza
in Internet
APPLICAZIONI
AA 2009-2010
Ingegneria Informatica e dell’Automazione
Mail relays
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 2009-2010 – C20/2
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 2009-2010 – C20/3
Fondamenti
Protocollo
SMTP
220 mail.dominio.com SMTP
HELO senderdomain.com
250 mail.dominio.com
MAIL FROM: <[email protected]>
250 OK
RCPT TO: <[email protected]>
250 OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
Lksjd flsjdfkjdsflkjdsf
A3dk dweodwejdlweihd
.
250 OK: queued
QUIT
221 Bye
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C20/4
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 2009-2010 – C20/5
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 2009-2010 – C20/6
Postfix
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 2009-2010 – C20/7
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 2009-2010 – C20/8
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 2009-2010 – C20/9
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 2009-2010 – C20/10
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 2009-2010 – C20/11
Postfix big picture
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C20/12
Postfix struttura semplificata
transport
RBLs
UCE
restrictions
resolve
Internet
smtpd
active
relay
domains
deferred
qmgr
smtp
Internet
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C20/13
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 2009-2010 – C20/14
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 2009-2010 – C20/15
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 2009-2010 – C20/16
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 2009-2010 – C20/17
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 2009-2010 – C20/18
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 2009-2010 – C20/19
Antispam
Black&white-listing, RBL
Filtri di contenuti
Sender Policy Framework
Graylisting
User training
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C20/20
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 2009-2010 – C20/21
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 email
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 2009-2010 – C20/22
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 2009-2010 – C20/23
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 email viene composta la tripla:
<sending IP, sender, recipient>
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 email viene accettata e la tripla rimossa dalla
greylist e inserita nella whitelist
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C20/24
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 2009-2010 – C20/25
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 2009-2010 – C20/26
Riferimenti
• Simple Mail Transfer Protocol
RFC 821, RFC 2821
• Anti-Spam Recommendations for SMTP MTAs
RFC 2505
• Postfix website
http://www.postfix.org
• A Toolkit and Methods for Internet Firewalls
M. J. Ranum, F. M. Avolio, TIS Inc.
• Sender Policy Framework
http://www.openspf.org
• Greylisting
http://www.greylisting.org
Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – C20/27
Scarica

310 C20 Mail gateways