Greylisting mit Postfix und sqlgrey

Für diese Anleitung wird ein lauffähiger Mailsserver mit Postfix und eine MySQL Datenbank benötigt.

1. Was ist Greylisting?
Greylisting bietet einen Schutz vor Spam bevor er überhaupt am Mailserver abgeladen wird. Wenn ein anderer Mailserver eine E-Mail an einen mit Greylisting geschützten Server senden möchte überprüft dieser ein sogenanntes Triplet, dieses Triplet besteht aus folgenden Daten:

1. IP-Adresse des sendenden Mailservers
2. Absenderadresse
3. Empfängeradresse

Wenn das Triplet so noch nicht vorgekommen bricht der Mailserver die Verbindung ab und sagt dem sendenden E-Mailserver, dass er später noch einmal vorbeikommen soll. Ein korrekt konfigurierter E-Mailserver wird typischerweise nach einer kurzen Zeitspanne wieder vorbeikommen und die E-Mail erfolgreich absenden können, da das Triplet nun bekannt ist. Die meisten Spam Nachrichten kommen jedoch von recht simplen Bots, welche meistens keine Warteschlange eingebaut haben und ein erneutes senden nicht unterstützen.

2. Anlegen der Datenbank
Zuerst logt man sich als root in der MySQL Instanz ein:
mysql -u root -p

Dann legt man eine neue Datenbank an:
CREATE DATABASE sqlgrey

Als letztes muss noch ein Benutzer mit den entsprechenden Rechten für sqlgrey angelegt werden:
GRANT ALL ON sqlgrey.* TO 'sqlgrey'@'localhost' IDENTIFIED BY 'Passwort';

3. Installation von sqlgrey
Die Installation ist einfach mit folgendem Befehl erledigt:
apt-get install sqlgrey

Bearbeiten der sqlgrey Konfiguration
Folgende Konfigurationsdatei öffnen:
vi /etc/sqlgrey/sqlgrey.conf

Und die Datenbankkonfiguration anpassen:
## Database settings
db_type = mysql
db_name = sqlgrey
db_host = YOUR_DATABASE_SERVER
db_port = default
db_user = sqlgrey
db_pass = YOUR_PASS_WORD
db_cleandelay = 1800
clean_method = sync

4. sqlgrey in Postfix einbinden
Um den sqlgrey Dienst in Postfix einzubinden wird die main.cf geöffnet:
vi /etc/postfix/main.cf

Im Bereich der smtpd_reciptient_restrictions fügt man diese Regel ein:
check_policy_service inet:127.0.0.1:2501

Zum Abschluss muss man die Dienste einmal neustarten:
/etc/init.d/sqlgrey restart
/etc/init.d/postfix restart

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.