amavis
II
Security Workshop
Riccardo Veraldi - INFN sez. Firenze
Amavis
È un mail virus scanner scritto in perl, ne
esistono 3 diverse versioni:
• amavis: per mail server con un volume di
traffico medio/basso
• amavisd
e
amavisd-new:
versioni
demonized di amavis per mail server con
elevato volume di traffico
Cos’è amavisd-new
È un’interfaccia high-performance tra l’MTA (ad es.
Sendmail) ed uno o più content checker (virus
scanners e/o SpamAssassin etc.). Può comunicare
con l’MTA utilizzando (E)SMTP, LMTP oppure un
programma helper esterno (ad es. Programmi
MILTER-aware).
La caratteristica peculiare di amavis è quella di
richiamare una virus scanning engine esterna
(sophos, f-prot, vexira etc.) per effettuare la
scansione vera e propria sostituendosi in questo
senso a prodotti antivirus completi per mail server
($$$$$...)
amavisd-new e sendmail
• Si aggancia a sendmail tramite il programma amavis-milter utilizzando
l’interfaccia MILTER di sendmail; amavis-milter crea un socket che viene
utilizzato per la comunicazione fra sendmail e amavisd.
APPENDDEF(`confENVDEF', `-DMILTER')
INPUT_MAIL_FILTER(`milter-amavis', `S=local:/var/amavis/amavis-\
milter.sock, F=T, T=S:10m;R:10m;E:10m')
• In questa modalità vi sono due processi in esecuzione, amavisd e
amavis-milter: entrambi girano in modalità non-superuser, è opportuno
quindi definire un utente ed un gruppo per l’esecuzione di questi processi,
ad es. vscan:vscan
• Vengono utilizzate 2 directory:
– /var/amavis per la scansione delle mail
– /var/virusmails directory di quarantena
Amavisd-new: amavisd e amavis-milter
• Le due componenti di amavisd-new (amavisd daemon –
amavis-milter) comunicano fra loro tramite un socket
amavisd.sock
• Il nome del socket è hardcoded all’interno di amavismilter.c (AMAVISD_SOCKET)
• Il protocollo utilizzato in questo canale è NON MILTER, è
un protocollo privato di amavis.
amavisd-new: schema di
funzionamento sez. Firenze
Viene utilizzato come interfaccia fra l’MTA e la virus scanning engine.
amavis-milter.sock
amavis-milter
virus alert
Incoming mail
amavisd.sock
sendmail-8.12.11
sendmail
smmsp
mail delivery
virus found
antivirus engine:
Sophos sweep
NO YES
amavisd
quarantine
Configurazione di amavisd
La configurazione del demone amavisd
risiede in amavisd.conf:
1.
2.
3.
4.
5.
6.
7.
8.
MTA settings
MTA specific
Logging
Notifiche/DSN, BOUNCE/REJECT/DROP/PASS, quarantena
whitelist, per-user setting
Resource limit
Programmi esterni: virus scanners, SpamAssassin
Debugging
Configurazione di amavis-milter
Non ha bisogno di configurazioni particolari,
bisogna solo passare come argomento il
nome del socket UNIX di interfaccia con
sendmail:
amavis-milter -D -p /var/amavis/amavis-milter.sock
Conclusioni
• Ottimo mail scanner
• Velocità di scansione e stabilità
• Può interfacciarsi con un elevato numero di virus
scanning engine presenti sul mercato
• Supporta la scansione di archivi compressi
• Si può interfacciare direttamente a
SpamAssassin (non testato)
• Altamente customizzabile (Whitelists, per
recipient e sender handling etc.)
Scarica

Veraldi-Amavis