Configurazione Spam · 8 min read · Nov 14, 2025

Filtro Spam Postfix utilizzando Ubuntu Dapper, MailScanner, SpamAssassin, Razor, Pyzor, DCC e ClamAV - Pagina 4

3 Configurazione di Pyzor, Razor, DCC, SpamAssassin e MailScanner

3.1 Configurazione di Pyzor

Dobbiamo prima modificare alcune autorizzazioni su pyzor:

chmod -R a+rX /usr/share/doc/pyzor /usr/bin/pyzor /usr/bin/pyzord

Questo comando successivo dovrà essere modificato se hai una versione diversa di python. Prova a localizzare pyzor.

chmod -R a+rX /usr/lib/site-python/pyzor

Qui forniamo l’indirizzo IP del server Pyzor a Pyzor. Questo creerà una directory .pyzor in entrambe le directory home degli utenti e posizionerà l’indirizzo IP del server in un file servers all’interno. Poi testerà la connessione. Se sei dietro un firewall, apri la porta 24441/udp in entrata e in uscita verso il tuo server. Mentre ci sei, apri anche 6277/udp per DCC, 2703/tcp per Razor e 783/tcp per SpamAssassin:

pyzor ping

Di solito riceverai un timeout dal ping di pyzor, quindi non preoccuparti. Testeremo di nuovo più tardi.

Se in futuro l’indirizzo IP del server cambia, dovrai ripetere questa sezione. Puoi trovare l’indirizzo dell’attuale server Pyzor qui http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x.

Se Pyzor funziona, vedrai “Pyzor: got response:” Pyzor interroga un server Pyzor in modo molto simile a come il tuo computer interroga un server DNS. L’unica differenza pratica è il numero di porta utilizzato. Se Pyzor non funziona, potrebbe essere necessario aprire la porta sul tuo firewall o il server Pyzor è occupato.

3.2 Configurazione di Razor

Crea una configurazione default.razor nella directory home di root:

cd  
rm /etc/razor/razor-agent.conf  
razor-admin -create  
razor-admin -create

Razor v2 richiede che i reporter siano registrati affinché le loro reputazioni possano essere calcolate nel tempo e possano partecipare al meccanismo di revoca. La registrazione viene effettuata con razor-admin -register. Quando razor-admin -register viene invocato come root, negozia una registrazione con il Nomination Server e scrive le informazioni di identità in /root/.razor/identity-username. Invocalo manualmente in uno dei seguenti modi:

  1. Per registrare l’utente: foo e la password: s1kret (foo e s1kret sono esempi) :
razor-admin -register -user=foo -pass=s1kr3t
  1. Per registrarsi con un indirizzo email e avere la password assegnata:
razor-admin -register [email protected]
  1. Per avere sia il nome utente che la password (casuali) assegnati:
razor-admin -register

Di solito faccio solo il numero 3. Apporta le seguenti modifiche a /root/.razor/razor-agent.conf:

vi /root/.razor/razor-agent.conf

Cambia debuglevel = 3 in debuglevel = 0 (sì zero non “o”). Questo impedirà a Razor di riempire il tuo disco con informazioni di debug. Inoltre sposteremo queste configurazioni in un luogo che l’utente Postfix può leggerle, quindi aggiungi la riga razorhome alla fine del file. Queste due righe dovrebbero apparire così quando hai finito:

debuglevel             = 0
razorhome             = /var/lib/MailScanner/.razor/

Testeremo Razor più tardi. man razor-agent.conf o vai su http://razor.sourceforge.net/docs/razor-agent.conf.php per ulteriori informazioni su Razor.

3.3 Configurazione e Setup di DCC

Installa DCC:

apt-get install dcc-client

Non stiamo eseguendo un server DCC, quindi non dobbiamo perdere tempo a controllare noi stessi: Se sei una grande organizzazione (100.000 messaggi al giorno), dovresti considerare di eseguire il tuo server.

Una volta completata l’installazione, esegui:

cdcc "delete 127.0.0.1"  
cdcc "delete 127.0.0.1 Greylist"

Testa la nostra installazione con:

cdcc info

Dovresti ricevere ‘requests ok’ dai server.

4 Configurazione di MailScanner, ClamAV e SpamAssassin

4.1 MailScanner e ClamAV

Ferma Postfix:

postfix stop

Installa i pacchetti:

apt-get install mailscanner clamav

Aggiorna le definizioni dei virus di ClamAV:

freshclam

Iniziamo con MailScanner. Il MailScanner appena installato dai repository è una versione molto vecchia, quindi ora lo rimuoveremo e installeremo il pacchetto MailScanner da sorgente.

Scarica il tarball da http://www.mailscanner.info/downloads.html … Al momento della scrittura è alla versione 4.56.8-1 e il link del tarball è http://www.mailscanner.info/files/4/tar/MailScanner-install-4.56.8-1.tar.gz. Poi installa MailScanner utilizzando lo script install.sh.

cd  
apt-get remove mailscanner  
wget http://www.mailscanner.info/files/4/tar/MailScanner-install-4.56.8-1.tar.gz  
tar zxvf MailScanner-install-4.56.8-1.tar.gz  
cd MailScanner-install-4.56.8  
./install.sh

Ignora il messaggio riguardo le righe cron che dobbiamo aggiungere a cron per ora.

Una volta fatto, dobbiamo creare una directory per SpamAssassin nello spool e dare permessi a postfix, se esegui sa-learn –force come root, il database bayes memorizzato in queste directory cambierà in root:root e spamassassin darà errore guardando il db. Tieni d’occhio il mail.log e ricorda di cambiare di nuovo i permessi. Disabilita anche le configurazioni predefinite di MailScanner:

mkdir /var/spool/MailScanner/spamassassin  
mv /etc/MailScanner /etc/MailScanner.dist

Esegui il backup del tuo file MailScanner.conf:

cp /opt/MailScanner/etc/MailScanner.conf /opt/MailScanner/etc/MailScanner.conf.back

Modifica MailScanner.conf:

vi /opt/MailScanner/etc/MailScanner.conf

Cambia i seguenti parametri in MailScanner.conf:

%org-name% = YOURDOMAIN-COM
%org-long-name% = Your Company Long Name INC
%web-site% = www.yourdomain.com
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Virus Scanners = clamav
Spam Subject Text = [SPAM]
Send Notices = no
Spam List = ORDB-RBL SBL+XBL
Required SpamAssassin Score = 6
High SpamAssassin Score = 10
Spam Actions = deliver striphtml
High Scoring Spam Actions = delete
Rebuild Bayes Every = 86400
Wait During Bayes Rebuild = yes
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin

Le prime 9 righe sono fondamentalmente necessarie affinché tutto funzioni, il resto è raccomandato. Il MailScanner.conf è ben documentato, quindi ti preghiamo di leggere le note lì se hai domande sulle altre opzioni che abbiamo cambiato. Esplora questo file dall’inizio alla fine.

Dai un’occhiata anche alla sezione “Rimozione/Registrazione di contenuti pericolosi o potenzialmente offensivi” nel file MailScanner.conf. Ho dovuto disabilitare la maggior parte di questi perché i clienti si lamentavano dei messaggi ‘{Disarmed}’.

4.2 SpamAssassin

Prima dobbiamo disabilitare il file di configurazione predefinito di SpamAssassin:

mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.disabled

Ora facciamo il backup del file di configurazione di SpamAssassin in MailScanner e poi modifichiamo:

cp /opt/MailScanner/etc/spam.assassin.prefs.conf /opt/MailScanner/etc/spam.assassin.prefs.conf.back
vi /opt/MailScanner/etc/spam.assassin.prefs.conf

Aggiungi queste due righe in cima a spam.assassin.prefs.conf:

pyzor_options --homedir /var/lib/MailScanner/
razor_config /var/lib/MailScanner/.razor/razor-agent.conf

Cambia dove SpamAssassin cerca il database Bayes, commenta il percorso bayes_path predefinito o cambialo di conseguenza:

#bayes_path /var/lib/MailScanner/bayes
bayes_path /var/spool/MailScanner/spamassassin/bayes

Cerca queste righe e cambiale di conseguenza:

bayes_ignore_header X-YOURDOMAIN-COM-MailScanner
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-SpamCheck
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-SpamScore
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-Information

“YOURDOMAIN-COM” dovrebbe essere sostituito con quello che hai usato per “%org-name%” nel file MailScanner.conf. Lascia il “X-“ al suo posto.

Assicurati che “bayes_auto_expire 0” non sia commentato:

bayes_auto_expire 0

Modifica il file SpamAssassin v310.pre per abilitare Razor e DCC

vi /etc/spamassassin/v310.pre

Decommenta le seguenti righe:

loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Razor2

5 Metti tutto insieme

Copia le configurazioni di Pyzor e Razor in un luogo che l’utente Postfix possa leggerle:

cp -R /root/.pyzor /var/lib/MailScanner  
cp -R /root/.razor /var/lib/MailScanner

Ora che abbiamo tutto lì, imposta i permessi corretti:

chown -R postfix.postfix /var/spool/MailScanner/  
chown -R postfix.postfix /var/lib/MailScanner/

Vediamo se SpamAssassin è felice:

su postfix -p -c 'spamassassin -x -D -C /opt/MailScanner/etc/spam.assassin.prefs.conf --lint'

Dovresti vedere righe che appaiono con DCC, Pyzor e Razor che dicono caricamento plugin e sperabilmente nessun errore.

NOTA: Se mai esegui il sa-learn, ricorda di eseguirlo in questo modo, su postfix -p -c ‘sa-learn –sync –force-expire -C /opt/MailScanner/etc/spam.assassin.prefs.conf’ altrimenti quando SpamAssassin ricostruisce il database bayes non sarà in grado di leggerlo.

Se tutto sembra a posto, continua, se no, risolvi i problemi e poi continua.

Finendo questa parte dobbiamo aggiungere lavori cron che puliranno/aggiorneranno/eseguiranno Mailscanner, probabilmente hai visto il messaggio riguardo a questo dopo che lo script di installazione di MailScanner è terminato. Il motivo per cui lo facciamo ora è perché non vogliamo che MailScanner parta mentre finiamo la configurazione di SpamAssassin.

crontab -e

Aggiungi queste righe:

37      5 * * * /opt/MailScanner/bin/update_phishing_sites
58     23 * * * /opt/MailScanner/bin/clean.quarantine
42      * * * * /opt/MailScanner/bin/update_virus_scanners
3,23,43 * * * * /opt/MailScanner/bin/check_mailscanner

Dobbiamo aggiungere una riga a rc.local in modo che MailScanner si avvii al riavvio:

vi /etc/rc.local

Prima della riga “Exit 0” aggiungi:

/opt/MailScanner/bin/check_mailscanner

Potresti anche collegare il file “check_mailscanner” nella directory bin. In questo modo puoi eseguirlo ogni volta che hai bisogno di riavviare MailScanner:

cd /usr/bin  
ln -s /opt/MailScanner/bin/check_mailscanner check_mailscanner

Solo per darti un log pulito da guardare e riavviare:

rm /var/log/mail.log  
reboot

Se vedi alcuni errori al riavvio quando si avvia MailScanner riguardo a Perl Sys/Hostname/Long.pm, devi installarlo in questo modo:

perl -MCPAN -e shell

Se ti chiede di configurarlo ora, dì di no, a meno che tu non sappia cosa stai facendo. Ora esegui il seguente comando per installare il modulo:

install Sys::Hostname::Long

Quando hai finito, digita “quit” per tornare alla console. Riavvia o avvia MailScanner con lo script “check_mailscanner”.

A questo punto dovresti avere un filtro spam completamente funzionante. Dai un’occhiata a tail -f /var/log/mail.log, dovrebbe essere praticamente privo di errori.

Questo README dovrebbe tornarti utile per un uso futuro. Copialo nel tuo filtro spam per un riferimento rapido.

POSTFIX, UBUNTU, MAILSCANNER README
************************************************
ADD DOMAIN
**********************************************
- Modifica '/etc/postfix/relay_recipients', 'relay_domains' e 'transport'.
- Esegui 'postmap /etc/postfix/relay_recipients'. Lo stesso per 'relay_domains' e 'transport' dopo la modifica per aggiungere domini nel file db.
- 'postfix reload' per far leggere a postfix i nuovi file db.
- Per aggiungere utenti ai domini modifica il 'relay_recipients' e 'postmap' esso.
**********************************************
CONTROLLARE BLIST WLIST
**********************************************
- Modifica /etc/postfix/sender_access
- Esegui 'postmap /etc/postfix/sender_access'
- Esegui 'postfix reload'
**********************************************
ALTRI FILE DI CONFIGURAZIONE
**********************************************
- Per modificare le impostazioni di MailScanner "/opt/MailScanner/etc/MailScanner.conf"
- Per modificare le impostazioni di spamassassin "/opt/MailScanner/etc/spam.assassin.prefs.conf"
- Per modificare le impostazioni di clamav "/etc/clamav/clamd.conf"
**********************************************
MISC
************************************************
- Esegui 'LINUX2' se appaiono errori di postfix riguardo a file non corrispondenti nel jailroot.
- Esegui 'postfix check' per vedere se postfix è sincronizzato con jailroot.
- Esegui newaliases per aggiornare il database /etc/postfix/aliases se vengono apportate modifiche a quel file..
- 'mailq' e 'qshape' per controllare la coda.
- 'check_mailscanner' per riavviare MailScanner.
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.