Problem:
Greylisting ist inzwischen eine sehr beliebte Methode der Spam-Abwehr geworden. Entgegen aller Gerüchten, "Spammer würden ganz schnell sich an diese Methode gewöhnen und auch die aushebeln", ist Graylisting weiterhin effektiv.
Die Verbindung von Plesk mit Postfix ist inzwischen brauchbar geworden. Leider hat dafür die Firma Parallels in seinem Plesk den Code von Postfix ein wenig modifiziert. Außerdem überschreibt Plesk regelmäßig die Config-Dateien von Postfix.
Lösung:
Die Installation von Postgrey erfolgt aus den jeweiligen Distributions-Paketen. Z.B.:
#Debian: apt-get install postgrey #openSUSE: yast -i postgrey
Unter SuSE muss noch in der Datei <code>/etc/sysconfig/postgreycode> die Connection-Option korrigiert werden. Wir wollen Postgrey per <code>inetcode> am gewohnten Port 60000 ansprechen. (Warum SuSE wieder mal von den Standards abweicht bleibt unverständlich.)
POSTGREY_CONN_OPTIONS="--inet=127.0.0.1:60000" # #POSTGREY_CONN_OPTIONS="--unix=/var/spool/postfix/postgrey/socket"
Ein Restart lässt Postgrey die neue Konfiguration umsetzten.
Wir überprüfen ob Postgrey läuft:
ps aux | grep postgrey netstat -tulpen | grep 60000
Beide Commandos sollten jeweils eine Zeile als Antwort liefern.
Nun können wir Postgrey in die Postfix-Konfiguration <code>/etc/postfix/main.cfcode> einbinden. Dazu wird die Zeile <code>smtpd_recipient_restrictionscode> mit folgender Angabe (am Ende) ergänzt:
smtpd_recipient_restrictions = .... , check_policy_service inet:127.0.0.1:60000
Und nun kommt noch der Trick um Plesk am Überschreiben der Konfiguration zu hindern:
chattr +i /etc/postfix/main.cf
Damit wird das <code>immutablecode>-Flag gesetzt. Die Datei kann also nicht mehr Modifiziert werden bis das Flag manuell entfernt wird. Zum Bearbeiten der <code>main.cfcode> wird lediglich <code>chattr -icode> darauf angesetzt.