Spam blockieren mit Postfix durch regex (Regular Expressions) direkt auf PTR und helo

Die meisten Spams versenden nach wie vor Rechner, die willige Drohnen von Botnetzwerken sind, also Systeme die durch Viren und Trojaner verseucht sind. Diese sind aber zumeist über die gängigen Kabel- und DSL-Provider mit dem Internet verbunden

Hier ein kleines HowTo wie man diese spammenden Systeme schon bei der Kontaktaufnahme identifiziert und direkt wegschmettert. "Wegschmettern" bedeutet, daß wir die Annahme der Mail verweigern, was im Gegensatz zu einer Markierung als SPAM den Vorteil hat, das wir den Traffic nicht bekommen um die Mail anzunehmen und die Mail auch nicht dem Kunden zur weiteren Bearbeitung überlassen müssen. 

Hier wird nicht behandelt, ob man die danach übriggebliebenen Mails noch weiteren Prüfungen unterzieht (z.B. SPAM-Assisian o.ä.)

Postfix bietet etliche Einstellungen, die es einem mit wenigen Zeilen in der Konfiguration ermöglichen Dynamische IP-Adressen und ungültige HELOs mit regular expressions zu überprüfen, dadurch ungültige zu erkennen und die Annahme der Mails (ohne Autentifizierung) zu verweigern.

Ich habe die Aufgabe in einige Schritte zerteilt:

Definition und Regex für dynamische IPs
Merkmale dynamischer IPs und erstellen von Regular Expressions für diese
Definition und Regex für helo valid und invalid
Definition richtiger und falscher "helo"s und regex dafür
Erstellen der Regex-Dateien für Postfix für helo und PTR
Die Regular expressions Postfix übergeben
Konfiguration Postfix Reject Codes und Verwendung der regular Expressions
Die sinnvollen Einstellungen für Postfix, damit das Ganze schlüssig ist und funktioniert
Erweitern der Regular Expressions durch Validitätsprüfung des Absenders
finden weiterer Dynamischen Adressen und erweiterung der regex-Dateien
Vermeiden von falschen Positiverkennungen
Das geht auch umgekehrt: Positiverkennung für gültige Werte

Hinweis

Die folgenden Seiten wurden nicht für Laien geschrieben. Es handelt sich um Methoden am Mailserver für SPAM-Abwehr. Folgende Begriffe und Abkürzungen sollte man nicht nur kennen, sonder wissen was da hinter Steckt, da diese in den folgenden Texten zum Teil ohne weitere Erklärungen verwendet werden.:

Wem das "zu starker Tobak" ist, dem empfehle ich eher den Einsatz des Anti-Spam-SMTP-Proxies - kann das gleiche und noch mehr, ist aber schon alles fertig verpackt.


4 Kommentare

Seite 1 von 1 1

#3 A.K. schrieb am 16.07.2010 14:33 answer

Das funktioniert alles ganz klasse, danke für das HowTo!

 

Ich hab da noch so einen Superkiller-Regex:

/((dsl|adsl|internetdsl|pool|ppp|cpc|dial|cable|catv|broadband|user|client|public|dyn|dhcp|chello).*\.[a-z0-9]+\.[a-z0-9]{2,6})$/

 

Anfang egal, dann eines von den Wörtern, dann noch was oder nicht und dann eine Domain.

Die Wörter sind alle von diesen dynamischen Zugängen, damit das nicht auf eine domain matcht hab ich .*\. vor dem Domainpart.

 

K

#4 Christian Rehkopf schrieb am 16.07.2010 15:48 answer homepage

Bitteschön :-)

 

Aber das "pool" greift auch bei den ebay-Mailern, die heissen mxpool oder mxphxpool!

 

Das kann man leider SO nicht nehmen, oder man lässt die vorher passieren wie im Abschnitt mit den Positiverkennungen beschrieben.

 

Christian

#1 Jens schrieb am 15.07.2010 00:36 answer homepage

Deine Page wird immer besser!

Was issn das fürn CMS? Oder ist das Eigenentwicklung?

#2 Christian Rehkopf schrieb am 15.07.2010 13:58 answer homepage

Danke Jens.

Das ist TYPO3 mit der db_ttv Extension und einer Menge CSS-Knowledge.

Dazu noch ein paar extras aus dem normalen T3-Respository.

Christian

einen Kommentar schreiben

smile zwinker Big Grins Confused Cool Cry Eek Evil Frown Mad Mr. Green Neutral Razz Redface Rolleyes Sad Surprised