Molti fra i maggiori produttori di antivirus forniscono soluzioni per sistemi Linux, in particolare orientati a mail server, dove maggiore può essere l'utilizzo di un Antivirus con funzioni di protezione della posta anche per client Windows.
L'offerta di F-Prot per sistemi Linux si compone di:
F-Prot for Linux Workstation - Orientata a singoli utenti e al momento poco utile, vista la scarsa diffusione di virus per Linux;
F-Prot for Linux Mail Servers - La soluzione ideale per ISP e aziende che hanno un server di posta basato su Linux (Sendmail, Postfix, Qmail..)
F-Prot for Linux File Servers - Utile su file e ftp server di una rete locale aziendale.
L'engine di virus scanning e il database dei virus sono gli stessi delle rispettive versioni per Windows e vengono costantemente aggiornati. La versione per Mail Servers ha le seguenti componenti:
- F-Prot Antivirus Command-Line Scanner ( f-prot [options] [file or directory]
)
- F-Prot Antivirus Daemon Scanner ( f-protd /path/to/data/directory/
)
- F-Prot Antivirus Updater ( check-updates.pl [options]
)
- F-Prot Antivirus Mail Scanner ( scan-mail.pl [-backup]
)
- F-Prot Antivirus Preloadable Library Call Wrapper ( f-prot.so
)
L'installazione è piuttosto semplice, può essere eseguita direttamente tramite pacchetto RPM o DEP o scompattando un tar.gz e seguendo le relative istruzioni. Tutti i file vengono scritti nella directory /usr/local/f-prot
e a questi si aggiungono dei link simbolici per i comandi di basi in PATH tipici (bin, sbin), gli script di gestione del servizio f-protd in /etc/init.d/f-protd
e i relativi link SysV nelle directory rc#.
Alcuni comandi di F-Prot si basano su Perl 5 e richiedono i seguenti moduli:
scan-mail.pl: MIME::Base64, MIME::QuotedPrint
check-updates.pl: NET::FTP, IO::File, HTTP::Request, HTTP::Response, LWP::UserAgent
I signature files, contenenti le definizioni dei virus sono /usr/local/f-prot/MACRO.DEF
, SIGN.DEF
, SIGN2.DEF
, questi possono venir aggiornati tramite il comando check-updates.pl che va, ovviamente, inserito nel crontab (ad esempio con: 30 4,16 * * * /usr/local/f-prot/tools/check-updates.pl -cron
).
FileSystem Scan
Lo scan di virus sul filesystem può avvenire tramite il comando f-prot che ha varie funzioni e opzioni come:
f-prot /var -dumb -disinf -list
- Esegue uno scan sulla directory /var (e sottodirectory) senza considerare il tipo di file (-dumb), provando a disinfettare i file infetti (-disinf) e visualizzando tutti i file controllati (-list).
f-prot -virlist
- Visualizza l'elenco dei virus che possono venir riconosciuti.
Mail Delivery Scan
F-Prot può facilmente interfacciarsi con qualsiasi sistema di posta che si appoggia a Procmail per il delivery locale dei messaggi (o altri che permettano di passare e far filtrare da un programma esterno la mail prima di salvarla sulla casella postale del destinatario).
Per integrare F-Prot con Procmail basta editare /etc/procmailrc
oppure ~/.procmailrc
(per configurazioni relative a singoli utenti) ed aggiungere un testo tipo:
:0 fw
| /usr/local/f-prot/tools/scan-mail.pl
Allo script scan-mail.pl possono essre aggiunte opzioni come -backup
per eseguire una copia di tutte le mail e -quarantine
per copiare tutti i messaggi originali poi modificati perchè contenenti un virus. Le copie vengono messe nella directory /usr/local/f-prot/backup/
.
E' opportuno considerare che questo metodo controlla i virus solo sulle mail in entrata (nel momento in cui stanno per essere consegnata ad una casella postale locale) e non quelle in uscita. Per un controllo su tutte le mail che vengono gestite dal server esiste la possibilità di fare un:
Mail In-Transit Scan
Questo metodo utilizza il plugin libmilter per Sendmail, per cui non viene ufficialmente supportato su altri SMTP server. La configurazione è semplice, invece di intervenire su .fetchmail.rc si deve editare /tec/mail/sendmail.mc
ed aggiungere righe come:
INPUT_MAIL_FILTER(`f-prot-milter', `S=/var/run/f-prot.sock, F=T, T=E:5m')
Dopo va ricreato il file di configurazione definivo di Sendmail (m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
) e riavviato il servizio. Lo script scan-mail.pl va quindi avviato con l'opzione -milter
(lo si può fare editando direttamente le variabili definite nel codice Perl).