Ist es empfehlenswert oder zu drakonisch, Mails von Mailservern ohne RDNS abzulehnen?

20

Ich habe SpamAssassin kürzlich gelöscht und begründe die Spam-Ablehnung nun mit DNSRBLs, Gray-Listing und anderen grundlegenden Tests. Ich frage mich, ob ich auch Hosts blockieren soll, die kein gültiges RDNS haben, das mit dem EHLO übereinstimmt.

Wenn ich das tue, mache ich dann Ärger mit viel seriöser Post und ärgere meine Kunden? Ich habe gehört, wie sich Leute darum gekümmert haben, dass AOL das tut, was mich denken lässt, dass es vielleicht zu ungewöhnlich für mich ist.

Ich frage mich auch, ob ich Kompromisse eingehen kann, indem ich überprüfe, ob RDNS mindestens auf etwas eingestellt ist, aber nicht versuche, es mit dem EHLO abzugleichen. Ist das mit Postfix möglich (und ist es nützlich)?

Peter Snow
quelle
4
Ja, das wird häufig gemacht, auch wenn eine sehr kleine Anzahl von Menschen Probleme damit hat. Siehe Spam-Bekämpfung - Was kann ich als: E-Mail-Administrator, Domäneninhaber oder Benutzer tun? zur weiteren Diskussion.
Michael Hampton
Jon Postel ist anderer Meinung :-)
Mathias R. Jessen
Vor vielen Monden war das Reverse-Lookup für eine Neuinstallation von sendmail in Red Hat die Standardeinstellung ... Ich denke, rDNS ist zwar kein formaler Standard für Mailserver, aber so ziemlich der Defacto-Standard. Es war einmal, dass der Großteil dieser dynamischen IPs mit Verbindungen Botnets waren ... keine Ahnung, was heutzutage der Fall ist.
Avery Payne

Antworten:

10

Ich habe mehrere Ansätze mit der HELO / EHLO-Prüfung bei einem relativ großen Kundenstamm von 100.000 bis 200.000 Benutzern ausprobiert und am Ende eine Lösung gefunden, die die folgenden Aufgaben erfüllt:

  • Überprüfen Sie, ob das HELO / EHLO einen Domainnamen enthält. - Das läuft meist darauf hinaus, dass der Name einen Punkt enthält. Das Überprüfen des DNS auf den Namen führte zu VIELEN ausgefallenen Servern, da es nicht ungewöhnlich ist, dass der Server einen internen Namen hat oder etwas, das Sie nicht richtig auflösen können.
  • Überprüfen Sie, ob die IP einen umgekehrten DNS-Eintrag hat. - Auch dies ist eine lockere Einstellung, da wir sie nicht mit dem HELO / EHLO vergleichen. Beim Vergleich mit dem HELO / EHLO wurden so viele Tickets erstellt, dass diese Einstellung nicht einmal einen Tag dauerte.
  • Überprüfen Sie, ob der Domainname des Absenders gültig ist. - Dies ist eine grundlegende Überprüfung, um sicherzustellen, dass es zumindest eine Möglichkeit gibt, einen Server dafür zu finden, wenn wir die Nachricht bouncen müssen.

Hier ist der Postfix-Block, den wir für diese Prüfungen verwenden:

smtpd_recipient_restrictions =
    reject_non_fqdn_sender,
    reject_unauth_destination,
    reject_unknown_reverse_client_hostname,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_sender_domain,
    reject_non_fqdn_recipient
Ed.
quelle
1
Ein weiterer guter Ansatz besteht darin, den Hostnamen anhand der Liste der regulären Ausdrücke zu überprüfen, die mit verschiedenen Namen übereinstimmen, die von ISPs wie xxxx.dynamic.yyy.comoder dynamisch zugewiesen wurden 12-34-56-78.dsl.zzz.com. Alle diese Hosts sollten ihre E-Mails über das Relay des Internetdienstanbieters und nicht direkt an den MX des Empfängers senden. Hauptsächlich solche Hosts sind die Botnetzknoten und ihre Nachrichten, mit denen ich meine Bayes gelernt habe.
Kondybas
Dies scheint die Lösung für mich zu sein. Gibt es eine Möglichkeit, SpamAssassin auszuführen und es von allen umgangen zu lassen, mit Ausnahme der E-Mails, bei denen der HELO-Abgleich mit RDNS fehlgeschlagen ist? Andere Mails umgehen diesen Schritt weiterhin vollständig.
Peter Snow
Mit dem Exim-MTA habe ich dies der Reihe nach getan: Die Adresse / der Host des Absenders wird mit der Whitelist verglichen. Bei Übereinstimmung - sofort akzeptiert, wird else mit der schwarzen Liste verglichen. Bei Übereinstimmung - Variable Flag "Gotcha!" und Nachricht wird ebenfalls akzeptiert. Wenn die Nachricht durch die Listen geleitet wurde, wird sie an die SA weitergeleitet, die als Daemon fungiert. Wenn der zurückgegebene Wert hoch genug ist, kennzeichnen Sie "Gotcha!" ausgelöst und Nachricht auch akzeptiert. Dann wird die Nachricht an die Router weitergeleitet.
Kondybas
1
Wird das Flag nicht gesetzt, wird die Nachricht wie gewohnt zugestellt. Andernfalls wird eine Blindkopie erstellt. Die ursprüngliche Nachricht wird wieder wie gewohnt zugestellt, während BC an den speziellen Router weitergeleitet wird, der als Transport sa-learn hat. Ein solches Schema ermöglicht die Aufteilung des Mailflows in den definitiv Spam-Zweig, der SA-Bayes lernt, und verdächtigen den Rest, der von SA-Bayes geprüft wurde. Nachrichten mit Flag haben auch einen zusätzlichen Header, mit dem sie
Kondybas 25.09.13
Ich habe diese Regeln mit meinem Postfach abgeglichen, und es gibt E-Mails, die aufgrund von Nicht-Domain-HELO oder dem Fehlen eines Reverse-DNS-Eintrags abgelehnt wurden. Es gibt zwar sehr wenige (nur ein paar Absender in einem Postfach mit 40.000 E-Mails), aber es gibt wichtige Dinge. Insbesondere wäre reject_unknown_reverse_client_hostnameeine E-Mail mit den Ergebnissen meines Visumantrags für ein bestimmtes südostasiatisches Land nicht eingegangen. Ich würde davon abraten, reject_invalid_helo_hostnameund zu verwenden reject_unknown_reverse_client_hostname.
Michau
12

Es ist äußerst verbreitet, SMTP-Server zu blockieren, die nicht über die folgenden Grundlagen verfügen:

  1. Der Hostname in der HELO-Weiterleitung wird in eine IP-Verbindung aufgelöst, die von stammt.
  2. Die Ursprungs-IP der Verbindung wird auf den in HELO angegebenen Hostnamen zurückgesetzt.
  3. Überprüfen Sie, ob SPF-, DKIM- oder DMARC-Richtlinien vorhanden sind.

Jeder, der sich wegen einer solchen Blockade überlegt, sollte geteert und mit Federn versehen werden.
Menschen, die aus anderen Gründen blockiert werden, insbesondere aus Situationen, in denen die RFC-Konformität in "abnormalen" Situationen erforderlich ist, habe ich Verständnis dafür. Spam ist ein solches Problem, dass es einfach keine Entschuldigung gibt, die Grundlagen zu verpassen.

Chris S
quelle
2
Der Name mit umgekehrter Suche ist nicht erforderlich, um überhaupt mit HELO übereinzustimmen. Der Host kann viele Domänen betreiben, während die umgekehrte Suche nur einen Primärnamen zurückgibt.
Kondybas
1
Klar, du kannst machen was du willst. Ihr 511 Your rDNS doesn't match your HELOServer wird von meinen Servern und auch von vielen anderen Servern eine bekommen. Spam ist ein großes Problem, mit dem sich die Entwickler des SMTP-RFC nicht befassen mussten. Die realistischen Anforderungen unterscheiden sich geringfügig von den RFCs.
Chris S
Spam ist kein Problem, wenn MTA richtig konfiguriert ist. Meine Erfahrung zeigt, dass (fehlgeschlagene rDNS- ORÜbereinstimmungen mit kurzen lokalen Regex-Listen- ORÜbereinstimmungen) 99,99% der Spam - Nachrichten erkannt werden. Keine DNSBLs, keine Greylists, kein DKIM, kein SPF. Über 200.000 eingehende Nachrichten monatlich. 1-2 falsch-p, 10-20 falsch-n pro Monat.
Kondybas
5

Ich würde erwarten, dass das Senden von MTA gültige RDNS hat, aber darauf zu bestehen, dass EHLO übereinstimmt, würde davon abhängen, wer "die Kunden" sind. In RFC5321 finden Sie einige interessante Richtlinien :

2.3.5.

(...) Der im EHLO-Befehl angegebene Domänenname MUSS entweder ein primärer Hostname (ein Domänenname, der in eine Adresse RR aufgelöst wird) oder, falls der Host keinen Namen hat, ein Adressliteral sein (...)

4.1.4.

(...) Ein SMTP-Server KANN überprüfen, ob das Domänennamenargument im EHLO-Befehl tatsächlich der IP-Adresse des Clients entspricht. Wenn die Überprüfung fehlschlägt, DARF der Server die Annahme einer Nachricht auf dieser Basis NICHT ablehnen.

aber dann in 7.9.

Es ist allgemein anerkannt, dass ein SMTP-Server die Annahme von E-Mails aus betrieblichen oder technischen Gründen ablehnen kann, die für den Standort, der den Server bereitstellt, sinnvoll sind. (...)

Dusan Bajic
quelle
1
Dies ist wahrscheinlich verboten, da der mit EHLO gesendete String in der Praxis häufig nicht RFC-konform ist. Ich habe interne Hostnamen gesehen localhostund viele andere falsche Dinge, die hier gesendet wurden, sogar mit absolut legitimer Post.
Michael Hampton
3

Reverse Lookup zeigt nicht unbedingt auf den in HELO angegebenen Hostnamen. Manchmal werden mehrere Domänen auf demselben Host gehostet und alle haben dieselbe IP-Adresse. Wenn Sie jedoch versuchen, die Rückwärtssuche durchzuführen, erhalten Sie den Namen, der in den PTR-Datensatz eingefügt wurde. Es ist offensichtlich, dass beide FQDNs unterschiedlich sind - und das ist völlig akzeptabel.

Der einzige Umstand, der das Löschen einer Nachricht zulässt, ist die fehlgeschlagene Reverse-Suche. Jede erfolgreiche Suche bedeutet, dass der Host gültig ist. Namen sollten nicht übereinstimmen.

Kondybas
quelle
1
"Es ist offensichtlich, dass beide FQDNs unterschiedlich sein werden - und das ist völlig akzeptabel." Nein. Sie können nur einen PTR-Datensatz konfigurieren und Ihr Mailserver kann nur einen Hostnamen im HELO ansagen. Es sollte also offensichtlich sein, dass beide übereinstimmen können.
Chris S
2

Ich frage mich, ob ich auch Hosts blockieren soll, die kein gültiges RDNS haben, das mit dem EHLO übereinstimmt.

Nein, das solltest du nicht. Blockiert eine ganze E-Mail nur nach einem Kriterium. Es ist eine schlechte Praxis.

Wenn ich das tue, mache ich dann Ärger mit viel seriöser Post und ärgere meine Kunden?

Wahrscheinlicher ist, dass Sie legitime E-Mails verlieren

Ich frage mich auch, ob ich Kompromisse eingehen kann, indem ich überprüfe, ob RDNS mindestens auf etwas eingestellt ist, aber nicht versuche, es mit dem EHLO abzugleichen. Ist das mit Postfix möglich (und ist es nützlich)?

ja es ist möglich Sie können reject_unknown_reverse_client_hostname anstelle von reject_unknown_client_hostname verwenden

Leider hat postfix keine flexiblen Optionen für "komplexe Entscheidungen". In exim können Sie einige Punkte für solche Mails hinzufügen, z

Score = 0 
1. The HELO or EHLO hostname is not in fully-qualified domain or address literal form. Score +=10
2. The HELO or EHLO hostname has no DNS A or MX record. Score +=20
3. The HELO or EHLO hostname is listed with the A record "d.d.d.d" under rbl_domain. Score +=20
4. The sender domain has no DNS A or MX record. Score +=10
5. SPF checks return softfail. Score +=10, fail, Score +=20
...

Und so weiter. Nachdem alle Überprüfungen abgeschlossen sind und Sie einen Score> 100 hatten, können Sie E-Mails ablehnen. Eigentlich können Sie ein solches Verhalten feststellen, aber Sie müssten einen eigenen Richtliniendienst schreiben

ALex_hha
quelle