CONFIGURAZIONI PC E RETI
ovvero... come abbiamo fatto dalla A alla Z.
 
HOME DOCUMENTI PROGETTI RISORSE DOMANDE ARTICOLI

 AMAVIS: SCANSIONE ANTIVIRUS DELLA POSTA
 ultimo aggiornamento: 7 maggio 2002 ore 14.15
 
 
PROBLEMATICA
installazione e configurazione di Amavis per la scansione antivirus della posta in arrivo e in uscita con server di posta Postfix.
 
PROGETTI
il documento è correlato al progetto PR1.
 
POSTA E ANTIVIRUS
La maggior parte dei virus "entrano" nelle reti locali aziendali sfruttando i bachi conosciuti dei programmi di posta (tra cui primeggiano Outlook Express e Outlook della Microsoft...) installati sulle postazioni di lavoro.
Centralizzando sul server Linux l'invio e lo scarico della posta, come spiegato nei documenti
SERVER DI POSTA INTERNA
GESTIONE POSTA INTERNA ED ESTERNA
è possibile configurare Amavis in modo da poter eseguire la scansione antivirus di ogni mail recevuta e spedita, prima che la stessa arrivi al destinatario.

 
COS'E' AMAVIS
Amavis è uno script (un programma...) scritto nel linguaggio Perl che permette la scansione antivirus delle mail che "transitano" attraverso il server di posta Postfix.
Amavis si basa, per la scansione, su altri prodotti commerciali per la scansione. Quindi, Amavis non è un antivirus, ma è un programma che esegue altri antivirus.
Se una mail contiene un virus, viene messa in "quarantena" (ossia, viene spostata in una directory predefinita) senza che il destinatario la riceva. Inoltre, vengono spediti di messaggi di notifica "VIRUS TROVATO" al mittente della mail e all'amministratore del server di posta.

 
SITUAZIONE DI PARTENZA
1) Server di posta PC Linux con installato postfix (o sendmail), imap, fetchmail e procmail(nel nostro caso, il 200.200.15.1);
2) Server di posta con Perl installato (riferirsi alla propria distribuzione).

 
IN BREVE
1) si installa Amavis sul server di posta;
2) si installano i prodotti di scansione antivirus sul server di posta;
3) si configura amavis in modo che utilizzi i prodotti di scansione antivirus installati;
4) si configura Postfix in modo da utilizzare Amavis.

 
NEL NOSTRO CASO...
... utilizzeremo i prodotti McAfee e RAV per la scansione antivirus.
Percio', nelle fasi seguenti ci riferiremo a questi prodotti.

 
FASI
1) download di Amavis;
2) installazione di Amavis;
3) download di McAfee;
4) installazione di McAfee;
5) download di RAV;
6) installazione di RAV;
7) configurazione di Amavis per utilizzare McAfee e RAV;
8) configurazione di Postfix;
9) creazione degli script per l'aggiornamento manuale e automatico degli antivirus;
10) test sulla scansione delle mail;
11) lettura delle mail poste in quarantena.

 
FASE 1: DOWNLOAD DI AMAVIS
Amavis puo' essere scaricato dal sito

amavis.sourceforge.net

La sezione download si riferisce a tre possibili pagine di download.
a) Source TarBall: dove è possibile scaricare i sorgenti di Amavis (ed è quella che utilizzeremo noi...);
b) Packages e Ports: dove vi sono riferimenti su come scaricare i pacchetti RPM e altro per alcune distribuzioni diffuse;
c) Contributed Software: dove è possibile scaricare patch, script di aggiornamento antivirus e altro che gli utenti Linux hanno fornito.

In questo documento ci riferiamo al download dei sorgenti (pagina Source TarBall), in modo che le informazioni possano essere utilizzate da chiunque con qualunque distribuzione.
Amavis è stato sviiluppato come script Perl e come demone. Noi ci riferiamo allo script Perl, scaricando il file

amavis-perl-11.tar.gz

(in questo momento l'ultima versione di amavis-perl è la 11).
Il file puo' essere salvato in qualsiasi directory.

 
FASE 2: INSTALLAZIONE DI AMAVIS
Si ricorda che l'installazione deve essere eseguita come utente root.
Una volta scompattato il file amavis-perl-11.tar.gz con il comando
tar -xvzf amavis-perl-11.tar.gz
viene creata la directory amavis-perl-11.
Entrando nella directory amavis-perl-11 con il comando
cd amavis-perl-11
per una "installazione base" occorre eseguire i comandi
./configure
make
make install

In questo modo amavis viene installato nella directory /usr/sbin.
Ulteriori informazioni sull'installazione di amavis si trovano nel file Install contenuto nella directory amavis-perl-11. Riferirsi al paragrafo "Basic Installation" per l'installazione base.
Nel sito è presente il documento METODI DI INSTALLAZIONE PROGRAMMI che tratta l'argomento "installazione".

 
FASE 3: DOWNLOAD DI MCAFEE
Il primo antivirus che utilizzeremo è McAfee, in quanto è conosciuto anche in ambiente windows e la licenza è la stessa (ossia, se si ha già una licenza per Windows non utilizzata, o se si vuole sacrificare una licenza Windows, la si puo' utilizzare su Linux).
McAfee puo' essere scaricato in versione di prova (30 gg.) dal sito
www.mcafeeb2b.com
selezionando "McAfee VirusScan Command Line Scanner for Linux".
Dopo aver riempito le informazioni richieste, si esegue il download del file.
Se invece si ha già acquistato una licenza McAfee, è possibile scaricare e registrare il prodotto inserendo il GRANT (codice dato dalla McAfee) nella seguente pagina:
www.mcafeeb2b.com/naicommon/download/upgrade/login.asp
Anche in questo caso si deve downloadare sempre il "VirusScan Command Line" per Linux (attualmente il file si chiama vlnx416I.tar.Z).

 
FASE 4: INSTALLAZIONE DI MCAFEE
Si ricorda che l'installazione deve essere eseguita come utente root.
Supponendo che il file si chiami vlnx416I.tar.Z, occorre copiarlo in una directory creata manualmente (chiamandola come si vuole: noi la chiamiamo mcafee_inst) e poi scompattarlo nella directory creata
mkdir mcafee_inst
mv vlnx416I.tar.Z mcafee_inst
cd mcafee_inst
tar -xvzf vlnx416I.tar.Z
A questo punto, nella directory si trova il file install-uvscan.
Per installare l'antivirus, occorre eseguire install-uvscan
./install-uvscan
Per un'installazione standard, l'antivirus McAfee viene installato nella directory /usr/local/uvscan.

 
FASE 5: DOWNLOAD DI RAV
Il secondo antivirus che verrà utilizzato è RAV Antivirus.
RAV puo' essere scaricato dal sito
www.ravantivirus.com/pages/download.php
Occorre scaricare la versione RAV AntiVirus Desktop - product family per Linux.
Dopo aver immesso i dati richiesti, si puo' scaricare il file del programma. Il download avviene in modo semiautomatico, ossia viene selezionato a priori il file rpm da downloadare e l'utente deve solo acconsentire al download.

 
FASE 6: INSTALLAZIONE DI RAV
Si ricorda che l'installazione deve essere eseguita come utente root.
Essendo il file in formato RPM, L'installazione di RAV avviene tramite il comando
rpm -i <nome-del-file-scaricato.rpm>
RAV viene installato di default nella directory /usr/local/rav8.

 
FASE 7: CONFIGURAZIONE DI AMAVIS PER UTILIZZARE MCAFEE E RAV
Per configurare Amavis, occorre aprire il file /usr/sbin/amavis con un edito di testo (ad esempio vi o emacs) e aggiungendo nelle variabili seguenti i percorsi dei programmi di scansione antivirus:

...
# NAI AntiVirus (uvscan)
my $uvscan = "/usr/local/uvscan/uvscan";
...
# GeCAD RAV Antivirus 8
my $rav = "/usr/local/bin/ravav";
Una volta salvato il file, amavis è già configurato. Occorre ora configurare Postfix in modo che utilizzi Amavis.

 
FASE 8: CONFIGURAZIONE POSTFIX
Per configurare Postfix occorre eseguire un paio di modifiche ai files /etc/postfix/master.cf, a /etc/postfix/main.cf e a /etc/aliases.
Con un editor di testo si apre per prima cosa il file /etc/master.cf e si inseriscono (o decommentano se già presenti) le righe seguenti:
localhost:10025 inet n - y - - smtpd -o content_filter=
vscan unix - n n - - pipe user=vscan argv=/usr/sbin/amavis ${sender} ${recipient}
(attenzione: sono due righe, une che inizia con localhost: e una che inizia con vscan).

Nel file main.cf deve essere aggiunta (o dcommentata se già presente) la riga
content_filter = vscan:

Nel file /etc/aliases occorre specificare quali sono gli utenti che riceveranno le mail di "notifica virus trovato", specificandoli alla riga
virusalert: root, pippo
(se ad esempio vogliamo che sia l'utente root che l'utente pippo ricevano le notifiche).
Lanciando poi il comando
newaliases
le aggiunte al file aliases diventano attive.

Una volta eseguite le modifiche, occorre reinizializzare Postfix con il comando
/usr/sbin/postfix reload

oppure /etc/init.d/postfix reload

oppure
/etc/rc.d/init.d/postfix reload
a seconda di dove si trova lo script di avvio di Postfix.

A questo punto, la scansione delle mail con gli antivirus impostati è attiva!

 
FASE 9: CREAZIONE DEGLI SCRIPT PER L'AGGIORNAMENTO MANUALE E AUTOMATICO DEGLI ANTIVIRUS
Gli scipt seguenti permetteranno di eseguire l'aggiornamento automatico degli antivirus e di notificare l'avvenuto aggiornamento ad uno o piu' indirizzi di posta.
Noi abbiamo creato gli script nella directory /usr/local/uvscan. Occorre anche creare la directory /usr/local/uvscan/notifiche con il comando
cd /usr/local/uvscan
mkdir notifiche
dove inseriremo i files necessari alle notifiche di aggiornamento.
Il primo script esegue l'update di uvscan (McAfee):

uvscan.update

ed e' stato modificato da quello originale contenuto nel manuale del McAfee.
Una volta scaricato il file nella directory /usr/local/uvscan, occorre dargli i permessi di esecuzine con il comando
chmod 0700 uvscan.update

Il secondo script esegue l'update sia di uvscan (richiamando uvscan.update) che di RAV, e spedisce le notifiche di aggiornamento.

fai.update

Una volta scaricato il file nella directory /usr/local/uvscan, occorre dargli i permessi di esecuzione con il comando
chmod 0700 fai.update

Nella directory notifiche occorre creare il file iniziale contenente le seguenti righe
To: virusalert
Subject: Aggiornamento Antivirus

Anche se semplice, lo abbiamo messo nel sito pronto per essere scaricato:

iniziale

Attenzione: non occorre dare i permessi di esecuzione al file!

Per eseguire l'aggiornamento in manuale degli antivirus, occorre eseguire il comando fai.update dopo che si è attivata la liena internet (se l'attivazione della stessa deve avvenire manualmente...) .
cd /usr/local/uvscan
./fai.update
Per eseguire l'aggiornamento in automatico ad una data ora, consigliata se si ha una connessione internet sempre attiva o che si attiva in automatico a seguito di una richiesta di "uscita su internet", immettiamo una riga nel crontab dell'utente root:
crontab -e
si apre l'editor di testo predefinito (ad esempio vi) e vengono visualizzate le righe già presenti nel crontab di root.
Occorre aggiungere la riga:
0 4 * * * /usr/local/uvscan/fai.update

se si vuole che l'aggiornamento avvenga tutti i giorni alle 4:00 di mattina (immettere il proprio orario voluto al posto di 0 e di 4, rispettivamente il minuto e l'ora in cui si vule che venga fatto l'aggiornamento).
Se non si vuole ricevere una mail (oltre a quella di notifica che abbiamo configurato...) da crontab, occorre immettere nel crontab la riga MAILTO="" prima della riga inserita.
Una volta salvato il file il crontab è attivo.
Attenzione: la linea internet per l'aggiornamento in automatico deve essere attiva. Gli script non attivano in automatico la linea internet!

 
FASE 10: TEST SULLA SCANSIONE DELLE MAIL
E' possibile utilizzare un "virus-finto" per eseguire il test di scansione e blocco dei virus.
Per creare il virus, occorre creare il file eicar.com contenente questa riga:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Nota: il file creato NON è un virus (non fa nessun danno anche se eseguito), ma viene utilizzato dai sistemi antivirus come test.
Se si spedisce il file utilizzando il server Postfix configurato con Amavis, verrà notificato al mittente e agli amministratori che la mail contiene un virus, e la stessa mail verrà messa in quarantena.
Se si spedisce il file ad un indirizzo gestito dal server di posta, ma utilizzando un altro server SMTP di posta per la spedizione, o utilizzando un account di posta su browser, la mail verrà bloccata quando viene ricevuta.

 
FASE 11: LETTURA DELLE MAIL POSTE IN QUARANTENA
Le mail poste in quarantena possono essere lette aprendole con un editor di testo.
Ad esempio, si potrebbe voler leggere il solo testo della mail non curandosi dell'allegato infetto.
Attraverso la notifica della mail puo' essere individuato il mittente, il destinatario el'oggetto della mail e in che directory è stata posta.
Un esempio di notifica è la seguente (abbiamo tolto le righe non interessanti...):

...
The message has been quarantined as:

/var/spool/vscan/virusmails/virus-20020507-134016-6297
...
------------------------- BEGIN HEADERS -----------------------------
...
Subject: eicar
...
From: Gualtiero Novo <gualtiero.novo@katamail.com>
To: redazione@retelinux.com
...
-------------------------- END HEADERS ------------------------------

Si puo' notare che la mail è stata messa nel file /var/spool/vscan/virusmails/virus-20020507-134016-6297. Aprendo il file con l'editor di testo, se ne puo' leggere il messaggio (tra le altre cose...).

 
DOCUMENTI CORRELATI
SERVER DI POSTA INTERNA
GESTIONE POSTA INTERNA ED ESTERNA
PROGETTO PR1
RIFERIMENTI
www.amavis.org
www.mcafeeb2b.com
www.ravantivirus.com
www.postfix.org
www.perl.org
CAMBIAMENTI
--. 7 maggio 2002 14.15: creazione del documento.
 
 
 redazione@retelinux.com