Paolo Subiaco
psubiaco@creasol.it
http://www.creasol.it
La trattazione ha uno scopo puramente illustrativo: ulteriore documentazione è indicata nelle note bibliografiche.
Attraverso il procedimento sottoriportato si potrà filtrare la posta che transita attraverso il MTA Postfix[1] sfruttando uno script Perl, AMaViS-perl[2], il quale viene richiamato da Postfix alla ricezione di ogni mail e si occupa di estrarre dalla mail ogni singolo attachment per poi farlo processare da uno o più programmi antivirus installati.
La peculiarità di AMaViS-perl è la possibilità di gestire veramente molti antivirus, alcuni OpenSource (come ad esempio ScannerDaemon [3]), altri Freeware (come F-Prot [4]), altri commerciali e quindi con tutto il supporto di aggiornamento dei virus signature, quali TrendMicro [5], Sophos [6], eccetera.
AMaViS è inoltre disponibile come demone (programma sempre residente che in questo caso si chiamerà AMaViSd): in quest'ultimo caso l'esecuzione risulterà velocizzata dalla non necessità di caricare in memoria l'interprete perl e lo script AMaViS-perl alla ricezione di ogni mail. AMaViSd è scritto in Perl ed in C, e pertanto richiede la configurazione, compilazione ed installazione come indicato nella sezione 3.
L'installazione di AMaViS può risultare critica perché richiede la ricompilazione dell'interprete Perl per l'inserimento di alcuni moduli. Tuttavia l'aggiunta dei moduli può avvenire grazie all'utilizzo di CPAN, e quindi in forma abbastanza automatizzata seguendo le indicazioni riportate nel file README distribuito con AMaViS.
È tuttavia necessaria la modifica del file amavis che verrà installato in /usr/sbin per indicare il percorso degli antivirus installati e per correggere alcuni problemi (loop ricorsivi nell'estrazione di archivi). Il file amavis già configurato per l'uso degli antivirus f-prot e ScannerDaemon è disponibile in http://www.ir3ip.net/iw3grx/sw/.
Inoltre è necessaria la configurazione dei file main.cf e master.cf presenti nella directory di configurazione di Postfix affinché sia richiamato AMaViS alla ricezione di ogni mail dal server in ascolto nella porta 25, e sia attivato un altro server SMTP in ascolto sulla porta 10025 dell'interfaccia localhost.
Le linee da aggiungere in main.cf sono
soft_bounce = yes
vscan unix - n n - 10 pipe user=vscan argv=/usr/sbin/amavis ${sender} ${recipient}
localhost:10025 inet n - n - - smtpd -o content_filter=
flush unix - - n 1000? 0 flush
Finché sarà possibile utilizzarlo liberamente in Linux, conviene installare l'antivirus F-Prot [4]: l'installazione non necessita di particolari accorgimenti. È inoltre possibile prelevare gli aggiornamenti in modo automatizzato sfruttando lo script sottoriportato, che può inoltre essere inserito nel crontab affinché sia richiamato quotidianamente.
FPROT_DIR=/usr/local/f-prot
mkdir $FPROT_DIR/new 2>/dev/null
cd $FPROT_DIR/new
rm -f *
ncftpget -V ftp://ftp.f-prot.com/pub/fp-def.zip
sleep 30
ncftpget -V ftp://ftp.f-prot.com/pub/macrdef2.zip
unzip fp-def.zip
unzip macrdef2.zip
ls -lt |grep -v zip
mv -f *.DEF ..
rm -f *zip
Si tratta di un antivirus basato sul riconoscimento del pattern dei virus, distribuito con licenza GPL e quindi liberamente scaricabile ed utilizzabile.
L'installazione non necessita di particolari accorgimenti, essendo il programma scritto in Java; è richiesto l'uso dell'ambiente JRE, scaricabile dal sito della Sun Microsystem [7].
Si tratta di un demone, ovvero un programma residente, che rimarrà
in ascolto in una porta TCP dell'interfaccia localhost; dovrà
essere eseguito digitando il comando
java -jar /usr/local/bin/ScannerDaemon.jar /usr/local/bin/virussignatures.txt.signed
>/dev/tty12 2>&1 &
e lo stesso comando dovrà essere anche richiamato dal file di
startup /etc/rc.d/rc.local.
Essendo un programma OpenSource, sviluppato durante i ritagli di tempo, non sarà certamente aggiornato, e pertanto verrà richiamato da AMaViS prima di F-Prot al fine di individuare eventuali virus riconosciuti dagli altri antivirus commerciali ma non da ScannerDaemon: in questo modo sarà successivamente possibile ricercare il virus signature attraverso l'utility PatternFinder [3] per poi inserirlo in virussignatures.txt.signed e distribuirlo agli autori di ScannerDaemon.
In questa sezione saranno elencati sinteticamente i passi per l'installazione del demone amavisd; sono da considerarsi prerequisite le informazioni riportate in sezione 2.
start)
# start amavis
echo -n "Start amavis... "
su vscan -c '/usr/sbin/amavisd >/dev/null 2>&1'
# Start daemons.
echo -n "Starting postfix: "
......etc
;;
stop)
# Stop daemons.
echo -n "Shutting down postfix: "
/usr/sbin/postfix stop 2>/dev/null
echo postfix
rm -f /var/lock/subsys/postfix
echo "Shutting down amavisd"
killall amavisd
sleep 1
killall -9 amavisd
;;
restart)
This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.50)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers -nonavigation /tmp/lyx_tmpdir4330dRwIWy/lyx_tmpbuf4330xbfr8v/postfix_antivirus.tex
The translation was initiated by Paolo Subiaco on 2002-05-02