Spamfilter · 8 min read · Nov 14, 2025
Postfix Spamfilter mit Ubuntu Dapper, MailScanner, SpamAssassin, Razor, Pyzor, DCC und ClamAV - Seite 4
3 Pyzor, Razor, DCC, SpamAssassin und MailScanner Konfiguration
3.1 Pyzor Konfiguration
Wir müssen zuerst einige Berechtigungen für pyzor ändern:
chmod -R a+rX /usr/share/doc/pyzor /usr/bin/pyzor /usr/bin/pyzordDieser nächste Befehl muss geändert werden, wenn Sie eine andere Version von Python haben. Versuchen Sie, pyzor zu lokalisieren.
chmod -R a+rX /usr/lib/site-python/pyzorHier geben wir die IP-Adresse des Pyzor-Servers an Pyzor an. Dies wird ein .pyzor-Verzeichnis in beiden Benutzerverzeichnissen erstellen und die IP-Adresse des Servers in einer Serverdatei dort ablegen. Dann wird die Verbindung getestet. Wenn Sie hinter einer Firewall sind, öffnen Sie den Port 24441/udp ein- und ausgehend zu Ihrem Server. Während Sie dabei sind, öffnen Sie auch 6277/udp für DCC, 2703/tcp für Razor und 783/tcp für SpamAssassin:
pyzor pingNormalerweise erhalten Sie eine Zeitüberschreitung von dem pyzor ping, also machen Sie sich keine Sorgen. Wir werden später erneut testen.
Wenn sich in Zukunft die IP-Adresse des Servers ändert, müssen Sie diesen Abschnitt erneut durchlaufen. Sie können die Adresse des aktuellen Pyzor-Servers hier finden http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x.
Wenn Pyzor funktioniert, sehen Sie “Pyzor: got response:” Pyzor fragt einen Pyzor-Server auf ähnliche Weise an, wie Ihr Computer einen DNS-Server abfragt. Der einzige praktische Unterschied ist die verwendete Portnummer. Wenn Pyzor nicht funktioniert, müssen Sie möglicherweise den Port in Ihrer Firewall öffnen oder der Pyzor-Server ist beschäftigt.
3.2 Razor Konfiguration
Erstellen Sie eine default.razor Konfiguration im Root-Heverzeichnis:
cd
rm /etc/razor/razor-agent.conf
razor-admin -create
razor-admin -createRazor v2 erfordert, dass Reporter registriert werden, damit ihre Rufwerte im Laufe der Zeit berechnet werden können und sie am Widerrufsmechanismus teilnehmen können. Die Registrierung erfolgt mit razor-admin -register. Wenn razor-admin -register als Root aufgerufen wird, verhandelt es eine Registrierung mit dem Nominierungsserver und schreibt die Identitätsinformationen in /root/.razor/identity-username. Manuell aufgerufen wird es auf eine der folgenden Arten:
- Um den Benutzer: foo und das Passwort: s1kret (foo und s1kret sind Beispiele) zu registrieren:
razor-admin -register -user=foo -pass=s1kr3t- Um sich mit einer E-Mail-Adresse zu registrieren und das Passwort zuzuweisen:
razor-admin -register [email protected]- Um sowohl (zufälligen) Benutzernamen als auch Passwort zuzuweisen:
razor-admin -registerIch mache normalerweise nur Nummer 3. Machen Sie die folgenden Änderungen an /root/.razor/razor-agent.conf:
vi /root/.razor/razor-agent.confÄndern Sie debuglevel = 3 in debuglevel = 0 (ja, null, nicht “o”). Dies wird verhindern, dass Razor Ihre Festplatte mit Debug-Informationen füllt. Außerdem werden wir diese Konfigurationen an einen Ort verschieben, an dem der Postfix-Benutzer sie lesen kann, also fügen Sie die razorhome-Zeile ans Ende der Datei hinzu. Diese beiden Zeilen sollten am Ende so aussehen:
debuglevel = 0
razorhome = /var/lib/MailScanner/.razor/Wir werden Razor später testen. man razor-agent.conf oder gehen Sie zu http://razor.sourceforge.net/docs/razor-agent.conf.php für weitere Informationen zu Razor.
3.3 DCC Einrichtung und Konfiguration
Installieren Sie DCC:
apt-get install dcc-clientWir betreiben keinen DCC-Server, also müssen wir keine Zeit mit Selbstprüfungen verschwenden: Wenn Sie eine große Organisation sind (100.000 Nachrichten pro Tag), sollten Sie in Betracht ziehen, Ihren eigenen Server zu betreiben.
Sobald die Installation abgeschlossen ist, führen Sie aus:
cdcc "delete 127.0.0.1"
cdcc "delete 127.0.0.1 Greylist"Testen Sie unsere Installation mit:
cdcc infoSie sollten ‘requests ok’ von den Servern erhalten.
4 MailScanner, ClamAV und SpamAssassin Konfiguration
4.1 MailScanner und ClamAV
Stoppen Sie Postfix:
postfix stopInstallieren Sie die Pakete:
apt-get install mailscanner clamavAktualisieren Sie die ClamAV-Virusdefinitionen:
freshclamLassen Sie uns mit MailScanner beginnen. Der MailScanner, der gerade aus den Repositories installiert wurde, ist eine sehr alte Version, also werden wir ihn jetzt entfernen und das MailScanner-Paket aus dem Quellcode installieren.
Laden Sie das Tarball von http://www.mailscanner.info/downloads.html … Zum Zeitpunkt des Schreibens ist es in der Version 4.56.8-1 und der Tarball-Link ist http://www.mailscanner.info/files/4/tar/MailScanner-install-4.56.8-1.tar.gz. Installieren Sie dann MailScanner mit dem install.sh-Skript.
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.shIgnorieren Sie vorerst die Nachricht über die Cron-Zeilen, die wir zu Cron hinzufügen müssen.
Sobald dies erledigt ist, müssen wir ein Verzeichnis für SpamAssassin im Spool erstellen und Postfix Berechtigungen dafür geben. Wenn Sie sa-learn –force als Root ausführen, wird die Bayes-Datenbank, die in diesen Verzeichnissen gespeichert ist, auf root:root geändert und SpamAssassin wird einen Fehler beim Zugriff auf die DB haben. Achten Sie einfach auf die mail.log und Sie werden sich daran erinnern, die Berechtigungen zurückzuändern. Deaktivieren Sie auch die Standardkonfigurationen von MailScanner:
mkdir /var/spool/MailScanner/spamassassin
mv /etc/MailScanner /etc/MailScanner.distSichern Sie Ihre MailScanner.conf-Datei:
cp /opt/MailScanner/etc/MailScanner.conf /opt/MailScanner/etc/MailScanner.conf.backBearbeiten Sie MailScanner.conf:
vi /opt/MailScanner/etc/MailScanner.confÄndern Sie die folgenden Parameter in MailScanner.conf:
%org-name% = YOURDOMAIN-COM
%org-long-name% = Ihr Unternehmensname INC
%web-site% = www.ihredomain.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/spamassassinDie ersten 9 Zeilen sind im Grunde erforderlich, damit alles funktioniert, der Rest ist empfohlen. Die MailScanner.conf ist gut dokumentiert, also lesen Sie die Notizen dort, wenn Sie Fragen zu den restlichen Optionen haben, die wir geändert haben. Stöbern Sie in dieser Datei von oben nach unten.
Sehen Sie sich auch den Abschnitt “Entfernen/Protokollieren gefährlicher oder potenziell anstößiger Inhalte” in der MailScanner.conf-Datei an. Ich musste die meisten davon deaktivieren, da Kunden über ‘{Disarmed}’-Nachrichten beschwerten.
4.2 SpamAssassin
Zuerst müssen wir die Standardkonfigurationsdatei von SpamAssassin deaktivieren:
mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.disabledJetzt sichern wir die SpamAssassin-Konfigurationsdatei in MailScanner und bearbeiten sie:
cp /opt/MailScanner/etc/spam.assassin.prefs.conf /opt/MailScanner/etc/spam.assassin.prefs.conf.backvi /opt/MailScanner/etc/spam.assassin.prefs.confFügen Sie diese beiden Zeilen an den Anfang von spam.assassin.prefs.conf hinzu:
pyzor_options --homedir /var/lib/MailScanner/
razor_config /var/lib/MailScanner/.razor/razor-agent.confÄndern Sie, wo SpamAssassin nach der Bayes-Datenbank sucht, kommentieren Sie den Standard-bayes_path aus oder ändern Sie ihn entsprechend:
#bayes_path /var/lib/MailScanner/bayes
bayes_path /var/spool/MailScanner/spamassassin/bayesSuchen Sie nach diesen Zeilen und ändern Sie sie entsprechend:
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” sollte durch das ersetzt werden, was Sie für “%org-name%” in der MailScanner.conf-Datei verwendet haben. Lassen Sie das “X-“ an Ort und Stelle.
Stellen Sie sicher, dass “bayes_auto_expire 0” nicht auskommentiert ist:
bayes_auto_expire 0Bearbeiten Sie die SpamAssassin v310.pre, um Razor und DCC zu aktivieren
vi /etc/spamassassin/v310.preKommentieren Sie die folgenden Zeilen aus:
loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Razor25 Alles zusammenbringen
Kopieren Sie die Pyzor- und Razor-Konfigurationen an einen Ort, an dem der Postfix-Benutzer sie lesen kann:
cp -R /root/.pyzor /var/lib/MailScanner
cp -R /root/.razor /var/lib/MailScannerJetzt, da wir alles dort haben, setzen Sie die richtigen Berechtigungen:
chown -R postfix.postfix /var/spool/MailScanner/
chown -R postfix.postfix /var/lib/MailScanner/Lassen Sie uns sehen, ob SpamAssassin zufrieden ist:
su postfix -p -c 'spamassassin -x -D -C /opt/MailScanner/etc/spam.assassin.prefs.conf --lint'Sie sollten Zeilen sehen, die mit DCC, Pyzor und Razor erscheinen, die sagen, dass das Plugin geladen wird und hoffentlich keine Fehler.
HINWEIS: Wenn Sie jemals sa-learn ausführen, denken Sie daran, es so auszuführen: su postfix -p -c ‘sa-learn –sync –force-expire -C /opt/MailScanner/etc/spam.assassin.prefs.conf’, andernfalls kann SpamAssassin beim Wiederaufbau der Bayes-Datenbank nicht darauf zugreifen.
Wenn alles gut aussieht, fahren Sie fort, wenn nicht, beheben Sie das Problem und fahren Sie dann fort.
Um diesen Teil abzuschließen, müssen wir Cron-Jobs hinzufügen, die MailScanner reinigen/aktualisieren/ausführen, Sie haben wahrscheinlich die Nachricht darüber gesehen, nachdem das MailScanner-Installationsskript abgeschlossen war. Der Grund, warum wir es jetzt tun, ist, dass wir nicht wollen, dass MailScanner startet, während wir die SpamAssassin-Konfiguration abschließen.
crontab -eFügen Sie diese Zeilen hinzu:
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_mailscannerWir müssen eine Zeile zu rc.local hinzufügen, damit MailScanner beim Neustart startet:
vi /etc/rc.localFügen Sie vor der Zeile “Exit 0” hinzu:
/opt/MailScanner/bin/check_mailscannerEs wäre auch gut, die Datei “check_mailscanner” in das Bin-Verzeichnis zu verlinken. So können Sie es ausführen, wann immer Sie MailScanner neu starten müssen:
cd /usr/bin
ln -s /opt/MailScanner/bin/check_mailscanner check_mailscannerUm Ihnen ein sauberes Protokoll zu geben, schauen Sie sich das an und starten Sie neu:
rm /var/log/mail.log
rebootWenn Sie beim Neustart beim Starten von MailScanner Fehler über das Perl Sys/Hostname/Long.pm sehen, müssen Sie es wie folgt installieren:
perl -MCPAN -e shellWenn es Sie fragt, ob Sie es jetzt konfigurieren möchten, sagen Sie nein, es sei denn, Sie wissen, was Sie tun. Führen Sie jetzt Folgendes aus, um das Modul zu installieren:
install Sys::Hostname::LongWenn das erledigt ist, geben Sie “quit” ein, um zur Konsole zurückzukehren. Starten Sie neu oder starten Sie MailScanner mit dem Skript “check_mailscanner”.
An diesem Punkt sollten Sie einen voll funktionsfähigen Spamfilter haben. Werfen Sie einen Blick auf tail -f /var/log/mail.log, es sollte weitgehend fehlerfrei sein.
Diese README sollte für zukünftige Verwendung nützlich sein. Kopieren Sie sie in Ihren Spamfilter für eine schnelle Referenz.
POSTFIX, UBUNTU, MAILSCANNER README
************************************************
ADD DOMAIN
**********************************************
- Bearbeiten Sie '/etc/postfix/relay_recipients', 'relay_domains' und 'transport'.
- Führen Sie 'postmap /etc/postfix/relay_recipients' aus. Gleiches für 'relay_domains' und 'transport' nach der Bearbeitung, um Domains in die DB-Datei hinzuzufügen.
- 'postfix reload', damit Postfix die neuen DB-Dateien liest.
- Um Benutzer zu Domains hinzuzufügen, bearbeiten Sie die 'relay_recipients' und 'postmap' es.
**********************************************
CONTROLLING BLIST WLIST
**********************************************
- Bearbeiten Sie /etc/postfix/sender_access
- Führen Sie 'postmap /etc/postfix/sender_access' aus
- Führen Sie 'postfix reload' aus
**********************************************
ANDERE KONFIGURATIONSDATEIEN
**********************************************
- Um MailScanner-Einstellungen zu bearbeiten: "/opt/MailScanner/etc/MailScanner.conf"
- Um SpamAssassin-Einstellungen zu bearbeiten: "/opt/MailScanner/etc/spam.assassin.prefs.conf"
- Um ClamAV-Einstellungen zu bearbeiten: "/etc/clamav/clamd.conf"
**********************************************
SONSTIGES
************************************************
- Führen Sie 'LINUX2' aus, wenn Postfix-Fehler über nicht übereinstimmende Dateien im Jailroot auftreten.
- Führen Sie 'postfix check' aus, um zu sehen, ob Postfix mit dem Jailroot synchronisiert ist.
- Führen Sie newaliases aus, um die /etc/postfix/aliases-Datenbank zu aktualisieren, wenn Änderungen an dieser Datei vorgenommen werden.
- 'mailq' und 'qshape', um die Warteschlange zu überprüfen.
- 'check_mailscanner', um MailScanner neu zu starten.Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.