Postfix e Spam · 6 min read · Oct 12, 2025

Utenti e Domini Virtuali Con Postfix, Courier e MySQL (CentOS 5.1) - Pagina 4

12 Installa Razor, Pyzor E DCC E Configura SpamAssassin

Razor, Pyzor e DCC sono filtri antispam che utilizzano una rete di filtraggio collaborativo. Per installare Razor, esegui

yum install perl-Razor-Agent razor-agents

Pyzor non è disponibile nei repository di CentOS 5.1, ma possiamo installare il pacchetto Pyzor per RHEL 5:

rpm -ivh ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/5/i386/pyzor-0.4.0-11.el5.noarch.rpm

(Puoi utilizzare la ricerca RPM su http://rpm.pbone.net/ per trovare la versione attuale se il link sopra non funziona più.)

Poi inizializza entrambi i servizi:

chmod -R a+rX /usr/share/doc/pyzor-0.4.0 /usr/bin/pyzor /usr/bin/pyzord  
chmod -R a+rX /usr/lib/python2.4/site-packages/pyzor  
mkdir /var/spool/amavisd  
chown amavis:amavis /var/spool/amavisd  
su -m amavis -c 'pyzor --homedir /var/spool/amavisd discover'  
su -m amavis -c 'razor-admin -home=/var/spool/amavisd -create'  
su -m amavis -c 'razor-admin -home=/var/spool/amavisd -register'

Poi installiamo DCC come segue:

cd /tmp  
wget http://www.dcc-servers.net/dcc/source/dcc-dccproc.tar.Z  
tar xzvf dcc-dccproc.tar.Z  
cd dcc-dccproc-1.3.76  
./configure --with-uid=amavis  
make  
make install  
chown -R amavis:amavis /var/dcc  
ln -s /var/dcc/libexec/dccifd /usr/local/bin/dccifd

Ora dobbiamo dire a SpamAssassin di utilizzare questi tre programmi. Modifica /etc/mail/spamassassin/local.cf in modo che appaia così:

vi /etc/mail/spamassassin/local.cf

| # Questi valori possono essere sovrascritti modificando ~/.spamassassin/user_prefs.cf # (vedi spamassassin(1) per dettagli) # Queste dovrebbero essere assunzioni sicure e consentire una semplice selezione visiva # senza rischiare di perdere email. #required_hits 5 #report_safe 0 #rewrite_header Subject [SPAM] # dcc use_dcc 1 dcc_path /usr/local/bin/dccproc #pyzor use_pyzor 1 pyzor_path /usr/bin/pyzor #razor use_razor2 1 razor_config /var/spool/amavisd/razor-agent.conf #bayes use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 |

Poi dobbiamo abilitare il plugin DCC in SpamAssassin. Apri /etc/mail/spamassassin/v310.pre e decommenta la riga loadplugin Mail::SpamAssassin::Plugin::DCC:

vi /etc/mail/spamassassin/v310.pre

| # Questo è il posto giusto per personalizzare la tua installazione di SpamAssassin. # # Vedi 'perldoc Mail::SpamAssassin::Conf' per dettagli su cosa può essere # modificato. # # Questo file è stato installato durante l'installazione di SpamAssassin 3.1.0, # e contiene comandi di caricamento dei plugin per i nuovi plugin aggiunti in quella # versione. Non verrà sovrascritto durante le future installazioni di SpamAssassin, # quindi puoi modificarlo per abilitare alcuni plugin disabilitati per impostazione predefinita, # se lo desideri. # # Ora ci sono più file letti per abilitare i plugin nella # directory /etc/mail/spamassassin; in precedenza solo uno, "init.pre" veniva # letto. Ora sia "init.pre", "v310.pre", e qualsiasi altro file che termina in # ".pre" verrà letto. Con i futuri rilasci, nuovi plugin verranno # aggiunti a nuovi file, nominati in base al rilascio in cui sono stati aggiunti. ########################################################################### # DCC - eseguire controlli dei messaggi DCC. # # DCC è disabilitato qui perché non è open source. Vedi la licenza DCC # per ulteriori dettagli. # loadplugin Mail::SpamAssassin::Plugin::DCC # Pyzor - eseguire controlli dei messaggi Pyzor. # loadplugin Mail::SpamAssassin::Plugin::Pyzor # Razor2 - eseguire controlli dei messaggi Razor2. # loadplugin Mail::SpamAssassin::Plugin::Razor2 # SpamCop - eseguire segnalazioni di messaggi SpamCop # loadplugin Mail::SpamAssassin::Plugin::SpamCop # AntiVirus - alcuni semplici controlli antivirus, questo non è un sostituto # per un filtro antivirus come Clam AntiVirus # #loadplugin Mail::SpamAssassin::Plugin::AntiVirus # AWL - eseguire controlli di auto-whitelist # loadplugin Mail::SpamAssassin::Plugin::AWL # AutoLearnThreshold - discriminatore basato su soglia per l'auto-apprendimento di Bayes # loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold # TextCat - indovinatore di lingua # #loadplugin Mail::SpamAssassin::Plugin::TextCat # AccessDB - ricerca dagli indirizzi in un database di accesso # #loadplugin Mail::SpamAssassin::Plugin::AccessDB # WhitelistSubject - Whitelist/Nero certe espressioni regolari dell'oggetto # loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject ########################################################################### # plugin sperimentali # DomainKeys - eseguire la verifica di DomainKeys # # Moduli esterni richiesti per l'uso, vedere INSTALL per ulteriori informazioni. # Nota che questo potrebbe essere ridondante se prevedi di utilizzare anche il plugin DKIM. # #loadplugin Mail::SpamAssassin::Plugin::DomainKeys # MIMEHeader - applicare regole regexp contro le intestazioni MIME nel messaggio # loadplugin Mail::SpamAssassin::Plugin::MIMEHeader # ReplaceTags # loadplugin Mail::SpamAssassin::Plugin::ReplaceTags |

Puoi controllare la tua configurazione di SpamAssassin eseguendo:

spamassassin --lint

Non dovrebbe mostrare errori.

Esegui

/etc/init.d/amavisd restart

dopo.

Ora voglio inserire alcune regole personalizzate che possono essere trovate su Internet in SpamAssassin. Ho testato quelle regole e rendono il filtraggio dello spam molto più efficace. Crea il file /usr/local/sbin/sa_rules_update.sh:

vi /usr/local/sbin/sa_rules_update.sh

| #!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/71_sare_redirect_pre3.0.0.cf -O 71_sare_redirect_pre3.0.0.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_bayes_poison_nxm.cf -O 70_sare_bayes_poison_nxm.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html.cf -O 70_sare_html.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html4.cf -O 70_sare_html4.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html_x30.cf -O 70_sare_html_x30.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_header0.cf -O 70_sare_header0.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_header3.cf -O 70_sare_header3.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_header_x30.cf -O 70_sare_header_x30.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_specific.cf -O 70_sare_specific.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_adult.cf -O 70_sare_adult.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/72_sare_bml_post25x.cf -O 72_sare_bml_post25x.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/99_sare_fraud_post25x.cf -O 99_sare_fraud_post25x.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_spoof.cf -O 70_sare_spoof.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_random.cf -O 70_sare_random.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_oem.cf -O 70_sare_oem.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_genlsubj0.cf -O 70_sare_genlsubj0.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_genlsubj3.cf -O 70_sare_genlsubj3.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_genlsubj_x30.cf -O 70_sare_genlsubj_x30.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_unsub.cf -O 70_sare_unsub.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_uri.cf -O 70_sare_uri.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.timj.co.uk/linux/bogus-virus-warnings.cf -O bogus-virus-warnings.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.yackley.org/sa-rules/evilnumbers.cf -O evilnumbers.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.stearns.org/sa-blacklist/random.current.cf -O random.current.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_body.cf -O 88_FVGT_body.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_rawbody.cf -O 88_FVGT_rawbody.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_subject.cf -O 88_FVGT_subject.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_headers.cf -O 88_FVGT_headers.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_uri.cf -O 88_FVGT_uri.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/99_FVGT_DomainDigits.cf -O 99_FVGT_DomainDigits.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/99_FVGT_Tripwire.cf -O 99_FVGT_Tripwire.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/99_FVGT_meta.cf -O 99_FVGT_meta.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.nospamtoday.com/download/mime_validate.cf -O mime_validate.cf &> /dev/null /etc/init.d/amavisd restart &> /dev/null exit 0 |

Rendi lo script eseguibile:

chmod 755 /usr/local/sbin/sa_rules_update.sh

Poi esegui quello script una volta, recupererà quelle regole e le inserirà in SpamAssassin:

/usr/local/sbin/sa_rules_update.sh

Creiamo un lavoro cron in modo che quelle regole vengano aggiornate regolarmente. Esegui

crontab -e

per aprire l’editor del lavoro cron. Crea il seguente lavoro cron:

| 23 4 */2 * * /usr/local/sbin/sa_rules_update.sh &> /dev/null |

Questo aggiornerà le regole ogni secondo giorno alle 4.23h.

13 Notifiche di Superamento Quota

Se desideri ricevere notifiche su tutti gli account email che sono oltre quota, allora fai così:

cd /usr/local/sbin/  
wget http://puuhis.net/vhcs/quota.txt  
mv quota.txt quota_notify  
chmod 755 quota_notify

Apri /usr/local/sbin/quota_notify e modifica le variabili in cima. Più in basso nel file (verso la fine) ci sono due righe dove dovresti aggiungere un segno %:

vi /usr/local/sbin/quota_notify

| [...] my $POSTFIX_CF = "/etc/postfix/main.cf"; my $MAILPROG = "/usr/sbin/sendmail -t"; my $WARNPERCENT = 80; my @POSTMASTERS = ('[email protected]'); my $CONAME = 'La Mia Azienda'; my $COADDR = '[email protected]'; my $SUADDR = '[email protected]'; my $MAIL_REPORT = 1; my $MAIL_WARNING = 1; [...] print "Subject: WARNING: La tua casella di posta è $lusers{$luser}% piena.\n"; [...] print "La tua casella di posta: $luser è $lusers{$luser}% piena.\n\n"; [...] |

Esegui

crontab -e

per creare un lavoro cron per quel script:

| 0 0 * * * /usr/local/sbin/quota_notify &> /dev/null |

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.