Con la configurazione illustrata in questa pagina, ogni messaggio pulito ricevuto da internet passa in realtà due volte nella coda di Postfix, con due ID differenti.
Nel caso invece di un messaggio SPAM, il messaggio passa una sola volta nella coda di Postfix e quindi viene scartato:
Installare il pacchetto Debian amavis. Per abilitare la funziona standard di controllo SPAM bisogna decommentare una riga in /etc/amavis/conf.d/15-content_filter_mode
:
@bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
L'installazione predefinita Debian non abilita neanche il controllo antivirus con ClamAV, per abilitarlo si deve aggiungere clamav al gruppo amavis e scommentare nello stesso 15-content_filter_mode
:
#@bypass_virus_checks_maps = ( # \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
La configurazione predefinita con Debian Buster è che Amavis considera locale solo il dominio indicato in /etc/mailname ed applica le proprie regole (ad esempio quella di marcare SPAM i messaggi individuati come tali). Se il server gestisce la posta per domini diversi, è necessario editare il file /etc/amavis/conf.d/05-domain_id ed aggiungere gli altri domini:
@local_domains_acl = ( ".$mydomain", "rigacci.org" );
Vedere Fighting spam - Amavisd-new.
Attenzione che un messaggio con l'EICAR test file risulta positivo anche senza antivirus, basta l'antispam. Per verificare il corretto collegamento con ClamAV bisogna utilizzare un virus vero.
Due aggiunte, la prima in /etc/postfix/main.cf
:
# Aggiunti per l'antispam. # * Aggiungere regole Amavis in /etc/postfix/master.cf # * Abilitare il bypass_spam_checks_maps in /etc/amavis/conf.d/15-content_filter_mode # * Se si vuole anche ClamAV ricordarsi di abilitare il bypass_virus_checks_maps, # aggiungere clamav al gruppo amavis e abilitare AllowSupplementaryGroups. content_filter = amavis:[127.0.0.1]:10024 # Passa i messagi ad Amavis senza address mapping (espansione alias, ecc.). receive_override_options = no_address_mappings
e la seconda in /etc/postfix/master.cf
:
# ========================================================================== # Configurazione per Amavis # ========================================================================== amavis unix - - y - 2 lmtp -o smtp_data_dont_timeout=1200 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_bind_address=127.0.0.1
Se un messaggio viene filtrato da amavis, nei file di log si trova qualcosa del tipo:
Sep 4 10:11:53 paguma amavis[12651]: (12651-01) Blocked BANNED (application/x-msdos-program,.asc,eicar_antivirus_test.com) {BouncedOpenRelay,Quarantined}, [2a01:4f8:130:11c7::2] <niccolo@rigacci.org> -> <rigacci@faunalia.it>, quarantine: 4/banned-4Lf3p2mP_z3i, Message-ID: <20130904081152.GA3389@rigacci.org>, mail_id: 4Lf3p2mP_z3i, Hits: -, size: 1308, 242 ms
e il messaggio viene copiato in un file del tipo /var/lib/amavis/virusmails/4/banned-4Lf3p2mP_z3i
Chi invia un messaggio che viene catturato dall'antispam dovrebbe ricevere un messaggio di errore che tra l'altro dice:
Our internal reference code for your message is 16520-10/LNC5bs8JpfwN
Questo significa che sul server esiste un file in /var/lib/amavis/virusmails/L/spam-LNC5bs8JpfwN.gz
che contiene negli header i risultati dello SpamAssassin.