Spamfilter · 6 min read · Oct 12, 2025

Virtuelle Benutzer und Domains mit Postfix, Courier und MySQL (CentOS 5.1) - Seite 4

12 Installieren Sie Razor, Pyzor und DCC und konfigurieren Sie SpamAssassin

Razor, Pyzor und DCC sind Spamfilter, die ein kollaboratives Filternetzwerk verwenden. Um Razor zu installieren, führen Sie aus

yum install perl-Razor-Agent razor-agents

Pyzor ist in den CentOS 5.1-Repositories nicht verfügbar, aber wir können das Pyzor-Paket für RHEL 5 stattdessen installieren:

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

(Sie können die RPM-Suche unter http://rpm.pbone.net/ verwenden, um die aktuelle Version zu finden, falls der obige Link nicht mehr funktioniert.)

Dann initialisieren Sie beide Dienste:

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'

Dann installieren wir DCC wie folgt:

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

Jetzt müssen wir SpamAssassin mitteilen, dass diese drei Programme verwendet werden sollen. Bearbeiten Sie /etc/mail/spamassassin/local.cf, sodass es so aussieht:

vi /etc/mail/spamassassin/local.cf

| # Diese Werte können durch Bearbeiten von ~/.spamassassin/user_prefs.cf überschrieben werden # (siehe spamassassin(1) für Details) # Diese sollten sichere Annahmen sein und einfaches visuelles Filtern ermöglichen # ohne das Risiko, E-Mails zu verlieren. #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 |

Dann müssen wir das DCC-Plugin in SpamAssassin aktivieren. Öffnen Sie /etc/mail/spamassassin/v310.pre und kommentieren Sie die Zeile loadplugin Mail::SpamAssassin::Plugin::DCC aus:

vi /etc/mail/spamassassin/v310.pre

| # Dies ist der richtige Ort, um Ihre Installation von SpamAssassin anzupassen. # # Siehe 'perldoc Mail::SpamAssassin::Conf' für Details, was angepasst werden kann. # # Diese Datei wurde während der Installation von SpamAssassin 3.1.0 installiert, # und enthält Plugin-Ladebefehle für die neuen Plugins, die in dieser # Version hinzugefügt wurden. Sie wird bei zukünftigen Installationen von SpamAssassin # nicht überschrieben, sodass Sie sie ändern können, um einige standardmäßig deaktivierte Plugins # unten zu aktivieren, wenn Sie dies wünschen. # # Es gibt jetzt mehrere Dateien, die gelesen werden, um Plugins im # Verzeichnis /etc/mail/spamassassin zu aktivieren; zuvor wurde nur eine, "init.pre", gelesen. # Jetzt werden sowohl "init.pre", "v310.pre" als auch alle anderen Dateien, die mit # ".pre" enden, gelesen. Wenn zukünftige Versionen veröffentlicht werden, werden neue Plugins # zu neuen Dateien hinzugefügt, die nach der Version benannt sind, in der sie hinzugefügt werden. ########################################################################### # DCC - führen Sie DCC-Nachrichtenprüfungen durch. # # DCC ist hier deaktiviert, da es nicht Open Source ist. Siehe die DCC # Lizenz für weitere Details. # loadplugin Mail::SpamAssassin::Plugin::DCC # Pyzor - führen Sie Pyzor-Nachrichtenprüfungen durch. # loadplugin Mail::SpamAssassin::Plugin::Pyzor # Razor2 - führen Sie Razor2-Nachrichtenprüfungen durch. # loadplugin Mail::SpamAssassin::Plugin::Razor2 # SpamCop - führen Sie SpamCop-Nachrichtenerfassung durch # loadplugin Mail::SpamAssassin::Plugin::SpamCop # AntiVirus - einige einfache Anti-Virus-Prüfungen, dies ist kein Ersatz # für einen Anti-Virus-Filter wie Clam AntiVirus # #loadplugin Mail::SpamAssassin::Plugin::AntiVirus # AWL - führen Sie Auto-Whitelist-Prüfungen durch # loadplugin Mail::SpamAssassin::Plugin::AWL # AutoLearnThreshold - schwellenwertbasierter Diskriminator für Bayes-Auto-Lernen # loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold # TextCat - Spracherrater # #loadplugin Mail::SpamAssassin::Plugin::TextCat # AccessDB - Nachschlagen von Absenderadressen in der Zugriffs-Datenbank # #loadplugin Mail::SpamAssassin::Plugin::AccessDB # WhitelistSubject - Whitelist/Blacklist bestimmter Betreffsregulärer Ausdrücke # loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject ########################################################################### # experimentelle Plugins # DomainKeys - führen Sie DomainKeys-Überprüfungen durch # # Externe Module sind erforderlich, siehe INSTALL für weitere Informationen. # Beachten Sie, dass dies möglicherweise redundant ist, wenn Sie auch das DKIM-Plugin verwenden möchten. # #loadplugin Mail::SpamAssassin::Plugin::DomainKeys # MIMEHeader - wenden Sie RegExp-Regeln auf MIME-Header in der Nachricht an # loadplugin Mail::SpamAssassin::Plugin::MIMEHeader # ReplaceTags # loadplugin Mail::SpamAssassin::Plugin::ReplaceTags |

Sie können Ihre SpamAssassin-Konfiguration überprüfen, indem Sie ausführen:

spamassassin --lint

Es sollten keine Fehler angezeigt werden.

Führen Sie danach aus

/etc/init.d/amavisd restart

Jetzt möchte ich einige benutzerdefinierte Regelsets, die im Internet zu finden sind, in SpamAssassin einfügen. Ich habe diese Regelsets getestet, und sie machen die Spamfilterung viel effektiver. Erstellen Sie die Datei /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 |

Machen Sie das Skript ausführbar:

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

Führen Sie dann dieses Skript einmal aus, es wird diese Regelsets abrufen und in SpamAssassin einfügen:

/usr/local/sbin/sa_rules_update.sh

Wir erstellen einen Cron-Job, damit diese Regelsets regelmäßig aktualisiert werden. Führen Sie aus

crontab -e

um den Cron-Job-Editor zu öffnen. Erstellen Sie folgenden Cron-Job:

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

Dies wird die Regelsets jeden zweiten Tag um 4:23 Uhr aktualisieren.

13 Benachrichtigungen bei Quota-Überschreitung

Wenn Sie Benachrichtigungen über alle E-Mail-Konten erhalten möchten, die über dem Limit liegen, tun Sie Folgendes:

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

Öffnen Sie /usr/local/sbin/quota_notify und bearbeiten Sie die Variablen oben. Weiter unten in der Datei (gegen Ende) gibt es zwei Zeilen, in denen Sie ein % Zeichen hinzufügen sollten:

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 = 'Mein Unternehmen'; my $COADDR = '[email protected]'; my $SUADDR = '[email protected]'; my $MAIL_REPORT = 1; my $MAIL_WARNING = 1; [...] print "Subject: WARNING: Ihr Postfach ist $lusers{ $luser}% voll.\n"; [...] print "Ihr Postfach: $luser ist $lusers{ $luser}% voll.\n\n"; [...] |

Führen Sie aus

crontab -e

um einen Cron-Job für dieses Skript zu erstellen:

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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.