Verhaltensbasierte Checks

Mit verhaltensbasierten Checks wird versucht, ungewöhnliches Verhalten von Clients festzustellen. Hierbei wird vor allem auf Verstöße gegen das SMTP-Protokoll geachtet. Wir bieten derzeit zwei Checks an:

1. postscreen

Der postscreen gehört zum postfix-Paket und besteht aus einem Daemon, der vor dem eigentlichen SMTP-Daemon sitzt. Er nimmt die eingehende Verbindung an und führt diverse Tests durch, bevor er die Verbindung an den SMTP-Daemon weiterreicht.

Er implementiert folgende Verhaltens-Checks:

CheckBeschreibungVoreinstellung
pregreetEs wird 2 Sekunden gewartet, bevor die SMTP-Greeting-Zeile ausgegeben wirdaktiviert
pipeliningSenden mehrerer SMTP-Kommandos hintereinander ohne Warten auf Bestätigungdeaktiviert
non-smtpProtokoll-fremde Kommandos deaktiviert
bare-newlineFehlerhafte Zeilenendendeaktiviert

Alle Tests außer dem pregreet-Test führen zu einem greylisting-ähnlichem Verhalten des postscreen. Der postscreen unterbricht die Verbindung mit einem 4xx-Code und zwingt den Clienten zu einem reconnect. Die Nachteile dieses Verfahrens sind unter postgrey/greylisting erläutert.

2. postgrey / Greylisting

Im Greylisting wird eine Datenbank über alle einliefernden Mailclients samt der von ihnen genutzten Absender- und Empfänger-Mailadresse geführt. Maileinlieferungsversuche mit einer noch unbekannten Kombination dieser drei Parameter werden zuerst pauschal mit 4xx-Code abgelehnt, aber in der Datenbank vermerkt. SMTP-konforme Clienten versuchen die Zustellung zu einem späteren Zeitpunkt nochmals. Nun ist die Kombination bekannt und die Mail wird angenommen.

Leider ergeben sich mehrere Probleme:

Der Aufbau einer manuell geführten Whitelist und deren regelmäßige Pflege ist daher unumgänglich.

Da RBLs eine vergleichbare Spamabwehrrate ohne die erwähnten Nachteile liefern, wird Greylisting im Mailsupport nur auf ausdrücklichem Wunsch hin aktiviert. Wir nutzen die Greylisting-Implementierung postgrey.