Der vom Hause SWSoft standardmäßig ausgelieferte Mailserver qmail wurde zu einer Zeit entwickelt als Spam, Phishing, Malware und Mailbomben noch Fremdwörter waren.
Daher nimmt dieser fern ab der heutigen Mailserver Realität alle E-Mails entgegen die ihm über das Netzwerk vermittelt werden.
Der einzige Schutz der einem danach noch verbleibt ist die Textfilterung mittels spamassassin, was jedoch nicht ausreichend ist um einen Rund um Schutz herzustellen.
Um eine einigermaßen zufriedenstellende Lösung gegen Spam zu erhalten benötigen wir als Multiple Maßnahmen die dem Schrott aus dem Netzwerk den Kampf ansagen.
Die Aufstellung sieht nachdem man sich durch diesen Artikel durchgearbeitet hat wie folgt aus:
spamdyke: Netzwerkseitiger Spamfilter der während der SMTP Connection prüft und entscheidet.
spamassassin: Der alle E-Mails anhand Textbasierte Filterung überprüft bevor diese in die Postfächer gehen.
Das Tutorial basiert auf Plesk 8 und Debian sarge, lässt sich aber problemlos auf alle anderen Distributionen übertragen, da nur sehr wenige Pakete nachinstalliert werden müssen (wenn überhaupt)
1. Installation von spamdyke
apt-get install gcc openssl gzip libc6-dev make
cd /usr/src
wget http://www.spamdyke.org/releases/spamdyke-3.1.6.tgz
tar xfz spamdyke-3.1.6.tgz
cd spamdyke-3.1.6/spamdyke/
./configure && make && make install
cd ../utils/
./configure && make && make install
Nun wurde spamdyke aus den Sources kompiliert und nach /usr/local/bin kopiert.
2. Konfiguration von spamdyke
Öffnen der Konfigurationsdatei:
In die Konfigurationsdateien werden alle zum Betrieb notwendigen Konfigurationsparameter eingefügt:
log-level=2
local-domains-file=/var/qmail/control/rcpthosts
max-recipients=5
idle-timeout-secs=60
graylist-dir=/var/qmail/spamdyke/greylist
graylist-min-secs=290
graylist-max-secs=1814400
greeting-delay-secs=5
check-dnsrbl=ix.dnsbl.manitu.net
check-dnsrbl=zen.spamhaus.org
check-dnsrbl=list.dsbl.org
check-dnsrbl=zombie.dnsbl.sorbs.net
check-dnsrbl=dul.dnsbl.sorbs.net
check-dnsrbl=bogons.cymru.com
reject-missing-sender-mx
reject-empty-rdns
reject-unresolvable-rdns
reject-ip-in-cc-rdns
tls-certificate-file=/var/qmail/control/servercert.pem
smtp-auth-command=/var/qmail/bin/smtp_auth /var/qmail/bin/true
smtp-auth-command=/var/qmail/bin/cmd5checkpw /var/qmail/bin/true
hostname-file=/var/qmail/control/me
Anlegen der Ordnerstrukturen:
mkdir /var/qmail/spamdyke
mkdir /var/qmail/spamdyke/greylist
Wer Greylisting in Verbindung mit spamdyke haben möchte muss den Namen der Domain für die Greylisting aktiviert sein soll als Ordner im Greylisting Verzeichnis anlegen.
Beispiel:
mkdir /var/qmail/spamdyke/greylist/meinedomain.tld
chmod 777 /var/qmail/spamdyke/greylist/meinedomain.tld
Wer Greylisting für alle Plesk Domains aktivieren möchte kann dies mit folgender Zeile tun:
for i in `cat /var/qmail/control/rcpthosts`; do mkdir /var/qmail/spamdyke/greylist/"$i"; done
chmod 777 /var/qmail/spamdyke/greylist/* -R
3. Einbinden von spamdyke in das Plesk Setup
Wer inetd verwendet editiert die Konfigurationsdatei /etc/inetd.conf bei den Zeilen “smtp” und “smtpd”. Diese dürfen jeweils nur 1 Zeile haben, was hier im Blog nicht funktioniert da es den Rahmen sprengt!!
Zeile 1.
smtp stream tcp nowait.1000 root /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/relaylock
/usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd
/var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
Zeile 2.
smtps stream tcp nowait.1000 root /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/relaylock
/usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth
/var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
Wer xinetd verwendet muss im selben Server in der Section “server_args” von xinetd dessen Konfigurationsdateien ändern. Diese sind /etc/xinetd.d/smtp_psa und /etc/xinetd.d/smtps_psa
Danach müssen inetd oder xinetd neugestartet werden
/etc/init.d/inetd restart
/etc/init.d/xinetd restart
Nun sollte sich der Einsatz von spamdyke in den Maillogs sofort bemerkbar machen und der eingehende Spam trastisch sinken.
Das ganze lässt sich schön in den Maillogs die meist unter /var/log/mail.info zu finden sind sehen.
Jede von spamdyke abgewiesene E-Mail wird dort protokolliert und die Gründe genannt.
Wer POP-Before-SMTP weiterhin nutzen möchte folgt diesem Link zum zwingend notwendigen HowTo.
Wer mehr über dieses wunderschöne Tool wissen möchte, besucht am besten die offizielle Webseite unter: http://www.spamdyke.org