Archiv

Archiv für die Kategorie ‘Plesk’

Plesk: spamdyke SMTP-AUTH und TLS

25. März 2008 Keine Kommentare

Einer meiner anfänglichen Fehler bei der Konfiguration von spamdyke in Verbindung mit Plesk war dass SMTP-Auth und SMTP-AUTH mit TLS nicht mehr funktionierten.

Um SMTP-Auth zu aktivieren muss die Option “smtp-auth-command=” aktiviert und belegt sein. Für TLS benötigt spamdyke den lokalen Hostnamen der meist im File /var/qmail/control/me zu finden ist.

Eine fertige und für Plesk angepasste Konfiguration findet ihr unter diesem HowTo

Plesk: qmail Anti Spam mittels spamdyke – HowTo

25. März 2008 11 Kommentare

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:

nano /etc/spamdyke.conf

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

Plesk: Alias-Domain und Zusatzdomain Konfigurationen

15. März 2008 Keine Kommentare

Wer mit dem Problem kämpft wie man bei Plesk etwas speziellere Lösung mit dem Domain-Alias Feature erreicht, für den ist dieser Beitrag eventuell interessant.

Szenario 1:
- hauptdomain.tld hat einen Account
- zweitdomain.tld soll die selben Mailboxen nutzen “E-Mail Alias Domain”
- zweitdomain.tld soll in ein anderes DocumentRoot ( von beispiel.tld ) zeigen

Lösung:
Man legt zweitdomain.tld als Domain-Alias von hauptdomain.tld an und setzt keinen Haken bei “Web”.

Nachfolgend geht man in das conf Verzeichnis von beispiel.tld und legt die Datei vhost.conf mit folgendem Inhalt an:

ServerAlias zweitdomain.tld

Anschließend führt man “websrvmgr -a” aus.

Szenario 2:
- hauptdomain.tld hat einen Account
- zweitdomain.tld soll eigenständige Mailboxen nutzen
- zweitdomain.tld soll in das DocumentRoot von hauptdomain.tld zeigen

Lösung:
Man legt für zweitdomain.tld einen eigenständigen Domain Account ohne Hosting an.

Danach geht man in das conf Verzeichnis von hauptdomain.tld und legt die Datei vhost.conf mit folgendem Inhalt an:

ServerAlias zweitdomain.tld

Anschließend führt man “websrvmgr -a” aus.

Szenario 3:
- hauptdomain.tld hat einen Account
- zweitdomain.tld soll die selben Mailboxen nutzen “E-Mail Alias Domain”
- zweitdomain.tld soll ein eigenes DocumentRoot Verzeichnis haben

Lösung:
Man legt für zweitdomain.tld einen eigenständigen Domain Account mit Hosting an und Deaktiviert das E-Mail Feature.

Anschließend muss man die qmail Konfiguration manuell anpassen um das Feature “E-Mail Alias” manuell herzustellen:

In /var/qmail/control/rcpthosts folgende Zeile hinzufügen:

zweitdomain.tld

In /var/qmail/control/virtualdomains folgende Zeile hinzufügen:

zweitdomain.tld:[ID von hauptdomain.tld]

qmail mittels “/etc/init.d/qmail restart” neustarten

Es ist anzumerken dass es natürlich möglich das neu angelegte DocumentRoot von zweitdomain.tld namens httpdocs mittels einem Symlink (ln -s) in den Ordner der Wahl umzuleiten um z.B. alles über einen FTP Account handeln zu können.