posta e antivirus

03.02.2004 Alberto Cammozzo



Come eliminare un messaggio con virus che impedisce lo scaricamento della posta (per utenti)

Un messaggio con virus puo' bloccare lo scaricamento della posta da Eudora o da altri programmi di lettura della posta, specie se usano il protocollo POP. Infatti il sistema antivirus inibisce lo scaricamento del messaggio stesso e anche di quelli successivi.
Il messaggio contaminato va eliminato a mano leggendo la posta (anche solo l'indice dei messaggi) con un sistema che non inneschi l'antivirus:
  1. Webmail:
  2. il sistema di lettura della posta via pagina web non innesca l'antivirus: chiudere Eudora, accedere al webmail e cancellare i messaggi sospetti. Uscire e proseguire con Eudora.
  3. mutt:
  4. leggendo la posta direttamente via linux non si attiva l'antivirus: chiudere Eudora, accedere via ssh lisa (con il programma putty, ad esempio) a Linux, digitare mutt, con i tasti cursore (freccia su e giu) e il tasto d marcare i messaggi sospetti e uscire con q. Digitare y alla richiesta di conferma di cancellazione dei messaggi marcati. In caso di errore si puo' premere CTRL-C o x per uscire senza cancellare.
    A differenza di quanto accade leggendo i messaggi via eudora, con mutt si possono aprire anche i messaggi sospetti senza timore di contagio.
    Una volta eliminati i messaggi indesiderati e usciti da mutt, chiudere la sessione linux con exit e proseguire con Eudora.
Al posto di POP e' consigliabile usare IMAP come protocollo per il download della posta.

Per respingere i messaggi contenenti allegati eseguibili (per amministratori)

Nella configurazione di postfix e' possibile aggiungere un filtro sul contenuto della mail basato su una regular expression:
vi /etc/posfix/main.cf
body_checks = regexp:/etc/postfix/body_checks

vi /etc/postfix/body_checks
/(filename|name)="(.*)\.(hta|com|pif|vbs|vbe|js|jse|exe|bat|cmd|vxd|scr|shm|eml|hlp|spl|swf|shb|vba|dll|reg|ocx|wsf|wsh|lnk)"$/        REJECT
/^TV[nopqr]....[AB]..A.A....*AAAA...*AAAA/              REJECT
/^M35[GHIJK].`..`..*````/               REJECT
/^UEsDBAoAAAAAA/ REJECT 

/etc/init.d/postfix reload
nella regular expression vengono evidenziati e respinti con il mesaggio Message content rejected i messaggi che contengono la stringa name=[qualcosa].exe o .com o .bat eccetera.
E' vantaggioso eliminarli al piu' alto livello possibile, a partire dal server SMTP, in quanto questi messaggi, sempre contenenti virus, andrebbero analizzati sia da spamassassin sia dall'antivirus con metodi decisamente piu' complessi ed onerosi.

Installazione e configurazione Antivirus GPL, centralizzato, che serva piu' MTA (6.05.2004)

su un nuovo vserver (argabuthon, CNAME avir, ip AA):
apt-get install amavis clamav clamav-daemon clamav-freshclam
vi /etc/amavis/amavisd.conf

$mydomain = 'stat.unipd.it';  
$forward_method = 'smtp:147.162.35.BA:10025'; #overridden by relayhost_is_client
$relayhost_is_client = 1; 
$inet_socket_bind = '147.162.35.AA';  
@inet_acl = qw( 147.162.35.BA 147.162.35.BB );
Sui vserver di MTA (postfix), con ip BA, BB:
Ad es. su BA:
vi /etc/postfix/master.cf

smtp-amavis unix -      -       n       -       2  smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes
        -o disable_dns_lookups=yes

147.162.35.BA:10025 inet n - n - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o smtpd_helo_restrictions=permit_mynetworks,reject
        -o smtpd_client_restrictions=permit_mynetworks,reject
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=147.162.35.AA/32 

vi /etc/postfix/main.cf

content_filter = smtp-amavis:[avir]:10024

Per evitare il fastidioso errore: Clam Antivirus-clamd FAILED - unknown status: /var/lib/amavis/amavis-20040803T134436-22756/parts: Access denied. ERROR\n aggiungere clamav nei gruppi di amavis
cat /etc/group
  amavis:x:105:clamav
e far ripartire clamav-daemon.