Postfix Integration · 5 min read · Jan 16, 2026
Integrazione di amavisd-new in Postfix per la scansione di spam e virus - Pagina 2
3 Debian Sarge
Per pacchetti volatili come ClamAV (ci sono nuove versioni di ClamAV molto spesso), esiste il repository Debian-volatile (solo per Sarge e Woody al momento della scrittura di questo documento). Per assicurarci di installare l’ultima versione di ClamAV, modifichiamo prima /etc/apt/sources.list e aggiungiamo la seguente riga:
vi /etc/apt/sources.list| [...] deb http://volatile.debian.net/debian-volatile sarge/volatile main contrib non-free |
Dopo di che aggiorniamo il nostro database dei pacchetti eseguendo:
apt-get updatePoi installiamo amavisd-new, SpamAssassin e ClamAV insieme ad alcuni altri programmi (principalmente programmi di cui amavisd-new ha bisogno per estrarre archivi, poiché le email possono contenere archivi come allegati):
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip unarj bzip2 unzoo libnet-ph-perl libnet-snpp-perl libnet-telnet-perl nomarch lzopTi verranno poste alcune domande:
Metodo di aggiornamento del database dei virus: <– daemon
Sito mirror del database locale: <– db.de.clamav.net (Germania; seleziona il mirror più vicino a te)
Informazioni sul proxy HTTP (lascia vuoto se non ce n’è): <– (vuoto)
Dovrebbe clamd essere notificato dopo gli aggiornamenti? <– Sì
Dopo di che dobbiamo configurare amavisd-new modificando /etc/amavis/amavisd.conf. Questo è un file molto lungo con molti commenti. La maggior parte delle impostazioni predefinite sono ok, tuttavia assicurati che le @bypass_virus_checks_acl e @bypass_spam_checks_acl siano commentate perché altrimenti amavisd-new non caricherà il codice anti-spam/-virus (nella mia copia la riga @bypass_spam_checks_acl era attiva quindi ho dovuto commentarla):
vi /etc/amavis/amavisd.conf| [...] # @bypass_virus_checks_acl = qw( . ); # decommenta per DISABILITARE il codice anti-virus [...] # @bypass_spam_checks_acl = qw( . ); # Nessuna dipendenza predefinita da spamassassin [...] |
E poi dovresti dare un’occhiata alle impostazioni di spam e alle azioni per le email di spam/virus nello stesso file. Non c’è bisogno di cambiare nulla se le impostazioni predefinite sono ok per te. Il file contiene molte spiegazioni quindi non c’è bisogno di spiegare le impostazioni qui:
| [...] $final_virus_destiny = D_DISCARD; # (predefinito D_BOUNCE) $final_banned_destiny = D_BOUNCE; # (predefinito D_BOUNCE) $final_spam_destiny = D_REJECT; # (predefinito D_REJECT) $final_bad_header_destiny = D_PASS; # (predefinito D_PASS), D_BOUNCE suggerito [...] $virus_admin = "postmaster\@$mydomain"; # a causa del predefinito D_DISCARD [...] $QUARANTINEDIR = '/var/lib/amavis/virusmails'; #$virus_quarantine_method = "local:virus-%i-%n"; # predefinito #$spam_quarantine_method = "local:spam-%b-%i-%n"; # predefinito $virus_quarantine_to = 'virus-quarantine'; # quarantena locale tradizionale $spam_quarantine_to = 'spam-quarantine'; [...] $sa_local_tests_only = 1; # (predefinito: falso) #$sa_auto_whitelist = 1; # attiva AWL (predefinito: falso) # Timeout per SpamAssassin. Questo viene utilizzato solo se spamassassin NON # lo sovrascrive (cosa che spesso fa se sa_local_tests_only non è vero) $sa_timeout = 30; # timeout in secondi per una chiamata a SpamAssassin # (il predefinito è 30 secondi, undef disabilita) # AWL (whitelisting automatico), richiede spamassassin 2.44 o superiore # $sa_auto_whitelist = 1; # predefinito è undef $sa_mail_body_size_limit = 150*1024; # non perdere tempo su SA se l'email è più grande # (meno dell'1% dello spam è > 64k) # predefinito: undef, nessuna limitazione # valori predefiniti, possono essere sovrascritti da ricerche più specifiche, es. SQL $sa_tag_level_deflt = 4.0; # aggiungi intestazioni di informazioni spam se a, o sopra quel livello $sa_tag2_level_deflt = 6.31; # aggiungi intestazioni 'spam rilevato' a quel livello $sa_kill_level_deflt = $sa_tag2_level_deflt; # attiva azioni evasive per spam # a o sopra quel livello: rimbalzo/rifiuto/rimozione, # quarantena e aggiunta dell'estensione dell'indirizzo email $sa_dsn_cutoff_level = 10; # livello di spam oltre il quale non viene inviato un DSN, # trasformando effettivamente D_BOUNCE in D_DISCARD; # undef disabilita questa funzione ed è un predefinito; $sa_spam_subject_tag = '*SPAM* '; # (predefinito è undef, disabilitato) [...] |
Dopo di che, esegui questi comandi per aggiungere l’utente clamav al gruppo amavis e per riavviare amavisd-new e ClamAV:
adduser clamav amavis
/etc/init.d/amavis restart
/etc/init.d/clamav-daemon restartSuccessivamente dobbiamo modificare il file di configurazione del demone Freshclam (questo è il demone che recupera regolarmente e automaticamente le ultime firme virali da un mirror di ClamAV) perché contiene un piccolo bug. Apri /etc/clamav/freshclam.conf e modifica la riga NotifyClamd come mostrato di seguito:
vi /etc/clamav/freshclam.conf| [...] NotifyClamd /etc/clamav/clamd.conf [...] |
Poi riavvia Freshclam (assicurati che non ci sia un altro processo Freshclam (forse di un’altra installazione di ClamAV) in esecuzione perché altrimenti il nostro Freshclam non riuscirà ad avviarsi):
/etc/init.d/clamav-freshclam restartOra dobbiamo configurare Postfix per instradare le email in arrivo attraverso amavisd-new:
postconf -e 'content_filter = amavis:[127.0.0.1]:10024'
postconf -e 'receive_override_options = no_address_mappings'Dopo di che aggiungi le seguenti righe a /etc/postfix/master.cf:
vi /etc/postfix/master.cf| [...] amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes 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 |
Poi riavvia Postfix:
/etc/init.d/postfix restartOra esegui
netstat -tape dovresti vedere Postfix (master) in ascolto sulla porta 25 (smtp) e 10025, e amavisd-new sulla porta 10024:
server1:~# netstat -tap
Connessioni Internet attive (server e stabilite)
Proto Recv-Q Send-Q Indirizzo Locale Indirizzo Straniero Stato PID/Nome programma
tcp 0 0 localhost.localdo:10024 *:* LISTEN 4369/amavisd (maste
tcp 0 0 localhost.localdo:10025 *:* LISTEN 4895/master
tcp 0 0 *:874 *:* LISTEN 1964/rpc.statd
tcp 0 0 *:sunrpc *:* LISTEN 1553/portmap
tcp 0 0 *:auth *:* LISTEN 1932/inetd
tcp 0 0 *:smtp *:* LISTEN 4895/master
tcp6 0 0 *:imaps *:* LISTEN 3177/couriertcpd
tcp6 0 0 *:pop3s *:* LISTEN 3094/couriertcpd
tcp6 0 0 *:pop3 *:* LISTEN 3038/couriertcpd
tcp6 0 0 *:imap2 *:* LISTEN 3129/couriertcpd
tcp6 0 0 *:ssh *:* LISTEN 1943/sshd
tcp6 0 0 *:smtp *:* LISTEN 4895/master
tcp6 0 148 localhost:ssh localhost:4631 ESTABLISHED2052/0Se vuoi, puoi ora aggiungere Razor, Pyzor e DCC a SpamAssassin per migliorare le sue prestazioni di filtraggio. Razor, Pyzor e DCC sono filtri spam che utilizzano una rete di filtraggio collaborativo. Per installarli, esegui
apt-get install razor pyzor dcc-clientOra dobbiamo dire a SpamAssassin di utilizzare questi tre programmi. Modifica /etc/spamassassin/local.cf e aggiungi le seguenti righe:
vi /etc/spamassassin/local.cf| [...] # dcc use_dcc 1 dcc_path /usr/bin/dccproc dcc_add_header 1 dcc_dccifd_path /usr/sbin/dccifd #pyzor use_pyzor 1 pyzor_path /usr/bin/pyzor pyzor_add_header 1 #razor use_razor2 1 razor_config /etc/razor/razor-agent.conf #bayes use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 |
Riavvia amavisd-new dopo:
/etc/init.d/amavis restartQuesto è tutto. Ora controlla il tuo log delle email ( /var/log/mail.log) per vedere se amavisd-new funziona correttamente. amavisd-new registrerà ogni volta che trova un’email di spam o virus. Quando (ri)avvii amavisd-new dovrebbe anche registrare che carica il suo codice di scansione di spam e virus (se non lo fa, probabilmente hai fatto qualcosa di sbagliato).
Per dare un’occhiata dal vivo al tuo log delle email, puoi usare questo comando:
tail -f /var/log/mail.log( Premi CTRL + c per uscire dal log.)
4 Link
- amavisd-new: http://www.ijs.si/software/amavisd
- Postfix: http://www.postfix.org
- ClamAV: http://www.clamav.net
- SpamAssassin: http://spamassassin.apache.org
- Debian: http://www.debian.org
- Ubuntu: http://www.ubuntu.com
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.