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-agentsPyzor 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/dccifdOra 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 --lintNon dovrebbe mostrare errori.
Esegui
/etc/init.d/amavisd restartdopo.
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.shPoi esegui quello script una volta, recupererà quelle regole e le inserirà in SpamAssassin:
/usr/local/sbin/sa_rules_update.shCreiamo un lavoro cron in modo che quelle regole vengano aggiornate regolarmente. Esegui
crontab -eper 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_notifyApri /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 -eper creare un lavoro cron per quel script:
| 0 0 * * * /usr/local/sbin/quota_notify &> /dev/null |
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.