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


Ich habe kürzlich SpamAssassin gelöscht und basiere nun die Spam-Zurückweisung auf die DNSRBL-, Graylisting- und andere Basistests und ich frage mich, ob ich auch Hosts blockieren sollte, die keinen gültigen RDNS haben, der dem EHLO entspricht?

Wenn ich das tue, werde ich Ärger mit viel legitimer Post machen und meine Kunden verärgern? Ich habe gehört, dass Leute sich daran stören, dass AOL das macht, 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 zumindest auf etwas eingestellt ist, aber versuche nicht, es mit dem EHLO abzugleichen. Ist das mit Postfix möglich (und ist es sinnvoll)?


20
2017-09-20 08:52


Ursprung


Ja, es ist üblich, auch wenn eine sehr kleine Anzahl von Leuten Probleme damit hat. Sehen Spam bekämpfen - Was kann ich tun als: E-Mail-Administrator, Domain-Inhaber oder Benutzer? für weitere Diskussion. - Michael Hampton♦
Jon Postel stimmt dem nicht zu :-) - Mathias R. Jessen
Vor vielen Monden war das Reverse-Lookup auf einer neuen Installation von sendmail in Red Hat der Standard ... Ich denke, dass rDNS, obwohl es kein formeller Standard für Mail-Server ist, ziemlich genau der Defacto-Standard ist. Es verschraubt Leute auf dynamische IP-Adressen (d. H. Häuser mit Consumer Grade-ISP-Verbindungen), aber es war einmal, dass der Großteil dieser dynamischen IPs mit Verbindungen botnets waren ... weiß nicht über nowdays. - Avery Payne


Antworten:


Ich habe mehrere Ansätze mit der HELO / EHLO-Prüfung ausprobiert, die mit einer recht anständigen Kundenbasis von 100k-200k Benutzern durchgeführt wurden, und endete mit einer Lösung, die Folgendes tut:

  • Überprüfen Sie, ob das HELO / EHLO einen Domain-Namen enthält. - Das läuft meistens darauf hinaus, dass der Name einen Punkt hat. Die Überprüfung des DNS auf den Namen führte zu VIELEN fehlgeschlagenen Servern, da es nicht ungewöhnlich ist, dass der Server einen internen Namen oder etwas anzeigt, das nicht korrekt aufgelöst werden kann.
  • Überprüfen Sie, ob die IP einen umgekehrten DNS-Eintrag enthält. - Auch dies ist eine laxe Einstellung, da wir es nicht gegen die HELO / EHLO überprüfen. Als wir gegen HELO / EHLO so viele Tickets vorstellten, dauerte diese Einstellung nicht einmal einen Tag.
  • Überprüfen Sie, ob der Name der Absenderdomäne gültig ist. - Dies ist eine grundlegende Überprüfung, um sicherzustellen, dass, wenn wir die Nachricht hüpfen müssen, es zumindest eine Möglichkeit geben wird, einen Server dafür zu finden.

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

10
2017-09-20 21:37



Ein weiterer guter Ansatz besteht darin, den Hostnamen anhand einer Liste von Regexes zu überprüfen, die mit verschiedenen dynamisch vom ISP zugewiesenen Namen übereinstimmen xxxx.dynamic.yyy.com oder 12-34-56-78.dsl.zzz.com. Alle diese Hosts sollten ihre E-Mails über das Relay des ISP und nicht direkt an das MX des Empfängers senden. Hauptsächlich solche Hosts sind die Botnet-Knoten und ihre Nachrichten, die ich benutzt habe, um meine Bayes zu lernen. - Kondybas
Das sieht nach einer Lösung für mich aus. Gibt es eine Möglichkeit, SpamAssassin auszuführen und es von allen umgehen zu lassen, mit Ausnahme von Mails, bei denen der HELO-Abgleich mit RDNS fehlgeschlagen ist, dann werden nur solche über einen bestimmten Wert hinausgeworfen? Andere Mails umgehen diesen Schritt weiterhin vollständig. - Peter Snow
Mit dem Exim-MTA habe ich das sequentiell gemacht: Absenderadresse / Host wird gegen weiße Liste geprüft. Wenn abgestimmt - sofort akzeptiert wird, wird sonst gegen schwarze Liste geprüft. Wenn übereinstimmend - variable Flagge "Gotcha!" und Nachricht wird auch akzeptiert. Wenn eine Nachricht über die Listen übertragen wurde, wird sie an die SA weitergeleitet, die als Daemon fungiert. Wenn der zurückgegebene Wert hoch genug ist, markieren Sie "Gotcha!" angehoben und Nachricht auch angenommen. Dann wurde die Nachricht an die Router übergeben. - Kondybas
Wenn das Flag nicht ausgelöst wird, wird die Nachricht wie üblich zugestellt. Andernfalls wird Blindkopie erzeugt. Die ursprüngliche Nachricht wird wieder wie gewohnt zugestellt, während BC an den speziellen Router übergeben wird, der sa-learn als Transport hat. Ein solches Schema erlaubt es, den Nachrichtenfluss in den definitiven Spam-Zweig zu teilen, der SA-Bayes lernt, und den Rest, der von SA-Bayes geprüft wird, zu verdächtigen. Nachrichten mit Flag haben auch einen zusätzlichen Header, der es erlaubt, sie in den "Junk" zu sortieren - Kondybas


Es ist extrem häufig, SMTP-Server zu blockieren, die diese Grundlagen nicht haben:

  1. Hostname in HELO-Weiterleitung wird in IP-Verbindung aufgelöst, von der er stammt.
  2. Verbindungs-Ursprungs-IP kehrt zu dem in HELO beanspruchten Hostnamen um.
  3. Überprüfen Sie, ob SPF-, DKIM- oder DMARC-Richtlinien vorhanden sind.

Wer sich wegen eines von diesen Hindernissen aufhält, sollte geteert und gefiedert werden.
Leute, die aus anderen Gründen blockiert werden, besonders Situationen, die auf RFC-Konformität in "abnormalen" Situationen angewiesen sind, werde ich Sympathie haben. Spam ist so ein Problem, dass es keine Entschuldigung dafür gibt, die Grundlagen zu vermissen.


12
2017-09-20 14:44



Umgekehrter Lookup-Name ist nicht erforderlich, um HELO überhaupt zu entsprechen. Der Host kann viele Domänen verwalten, während die umgekehrte Suche nur einen primären Namen zurückgibt. - Kondybas
Sicher, du kannst machen was du willst. Dein Server wird einen bekommen 511 Your rDNS doesn't match your HELO von meinen Servern und vielen anderen. Spam ist ein großes Problem, mit dem sich die Entwickler des SMTP RFC nicht auseinandersetzen mussten. Realistische Anforderungen unterscheiden sich in mancher Hinsicht deutlich von den RFCs. - Chris S
Spam ist kein Problem, wenn MTA ordnungsgemäß konfiguriert ist. Meine Erfahrung zeigt, dass (fehlgeschlagene rDNS OR kurze lokale Regex-Liste OR Bayes Matched) erkennt 99,99% Spam. Keine DNSBLs, keine Greylisten, kein DKIM, kein SPF. 200k + eingehende Nachrichten monatlich. 1-2 falsch-p, 10-20 falsch-n pro Monat. - Kondybas


Ich würde erwarten, dass MTA gültige RDNS hat, aber darauf zu bestehen, dass EHLO zusammenpasst, hängt davon ab, wer "die Kunden" sind. Sie können einige interessante Richtlinien in finden RFC5321:

2.3.5.

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

4.1.4.

(...) Ein SMTP-Server kann überprüfen, ob das Domain-Name-Argument in der   Der EHLO-Befehl entspricht tatsächlich der IP-Adresse des Clients.   Wenn die Überprüfung fehlschlägt, MUSS der Server jedoch nicht ablehnen   akzeptiere eine Nachricht auf dieser Basis.

aber dann in 7.9.

Es ist ein gut etablierter Grundsatz, dass ein SMTP-Server die Annahme von E-Mails aus betrieblichen oder technischen Gründen ablehnen kann   Sinn für die Seite, die den Server bereitstellt. (...)


5
2017-09-20 15:01



Dies ist wahrscheinlich verboten, da der mit EHLO gesendete String in der Praxis oft nicht RFC-konform ist. Ich habe interne Hostnamen gesehen, localhostund viele andere falsche Dinge, die hierher geschickt wurden, sogar mit vollkommen legitimer Post. - Michael Hampton♦


Reverse-Lookup verweist nicht unbedingt auf den in HELO angegebenen Hostnamen. Manchmal werden mehrere Domains auf demselben Host gehostet, und alle haben dieselbe IP-Adresse. Wenn Sie jedoch versuchen, die umgekehrte Suche durchzuführen, erhalten Sie den Namen, der in den PTR-Datensatz eingegeben wurde. Es ist offensichtlich, dass beide FQDNs unterschiedlich sein werden - und das ist völlig akzeptabel.

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


3
2017-09-20 23:55



"Es ist offensichtlich, dass beide FQDNs anders sein werden - und das ist völlig akzeptabel." Nein. Sie können nur einen PTR-Datensatz konfigurieren und Ihr Mail-Server kann nur einen Hostnamen im HELO ankündigen. Es sollte also offensichtlich sein, dass beide übereinstimmen können. - Chris S


Ich frage mich, ob ich auch Hosts blockieren sollte, die keinen gültigen RDNS haben, der dem EHLO entspricht?

Nein, du solltest nicht. Blockiert eine ganze E-Mail nur nach einem Kriterium, es ist eine schlechte Übung.

Wenn ich das tue, werde ich Ärger mit viel legitimer Post machen und meine Kunden verärgern?

Wahrscheinlicher ist es, dass Sie legitime E-Mails verlieren

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

Ja, es ist möglich. Sie können reject_unknown_reverse_client_hostname anstelle von reject_unknown_client_hostname verwenden

Postfix hat leider keine flexiblen Optionen für "komplexe Entscheidung". In exim können Sie einige Punkte für solche E-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. Wenn alle Prüfungen abgeschlossen sind und Sie über 100 Punkte verfügen, können Sie die E-Mail ablehnen. Eigentlich kannst du solches Verhalten bekommen, aber du musst dein eigenes schreiben Richtlinienservice


2
2017-09-24 21:34