Woher kommen diese „Einzelpunkt“-SMTP-Verbindungsfehler?

Woher kommen diese „Einzelpunkt“-SMTP-Verbindungsfehler?

Ich betreibe einen Mailserver basierend auf Postfix. Es gibt viele Verbindungsfehler wie diese:

Transcript of session follows.

Out: 220 hostname.tld ESMTP Postfix
In:  .
Out: 502 5.5.2 Error: command not recognized
In:
Out: 500 5.5.2 Error: bad syntax

Session aborted, reason: lost connection

Diese Verbindungen kommen von unterschiedlichen IPs, aber in den meisten Fällen in/als Kontingent von einigen Zehnteln bis Hunderten Versuchen pro IP.

Was verursacht diese Verbindungen? Wenn es sich um Viren, Würmer oder Botnetze handelt, die „an die Tür klopfen“, warum so viele Male pro Host? Oder ist das Senden eines einzelnen Punktes eine Art Funktionstest und mein Server reagiert falsch? Auch hier machen mehrere Versuche keinen Sinn. Und es ist weit entfernt von jedem DoS-Skala.

Vielleicht weiß jemand von Euch, was da los ist?

Antwort1

Der Punkt wird im SMTP-Protokoll verwendet, um die Nachricht einer E-Mail zu beenden: Eine leere Zeile (CR, LF), gefolgt von einem einzelnen Punkt und erneut einer neuen Zeile mit CR und LF. Dies ist hier aber eindeutig nicht der Fall.

Um herauszufinden, ob es sich bei diesen SMTP-Clients nur um Botnetze oder legitime Absender handelt, können Sie sich den PTR ihrer IPs ansehen. Beide werden protokolliert. Wenn der PTR ein allgemeiner PTR von einem Anbieter ist, etwa so 192-0-2-1.broadband.customers.example.com. Dann können Sie ihn wirklich ignorieren und fail2ban verwenden, um sie zu blockieren.

Der HELO sollte mit dem PTR übereinstimmen, das ist zumindest die beste Vorgehensweise. Wenn sie sich aber nicht ähneln, handelt es sich wahrscheinlich wieder um ein Botnetz.

Im anderen Fall führt möglicherweise jemand einen Scan auf Ihrem Server durch und sucht nach TLS-Protokollen und -Chiffren.


Um die Clients nach solchen Anfragen zu sperren, können Sie fail2ban verwenden, das eine IP nach zu vielen fehlerhaften Anfragen vorübergehend blockiert.

filter.d/postfix-syntax.conf

[INCLUDES]
before = common.conf

[Definition]
failregex = reject: RCPT from (.*)\[<HOST>\]: 502 5.5.2
            reject: RCPT from (.*)\[<HOST>\]: 500 5.5.2
ignoreregex =

Und fügen Sie Folgendes zu Ihrem hinzu jail.conf:

[postfix-syntax]
enabled  = true
port     = smtp,ssmtp,submission
filter   = postfix-syntax
logpath  = /var/log/mail.log
maxretry = 10

Antwort2

Wenn Sie Ihren Mailserver dem Internet ausgesetzt haben, gehen Sie davon aus, dass die meisten Verbindungen von Spambots und anderen unrechtmäßigen Absendern stammen.

Ich würde in Betracht ziehen, Ablehnungen einfach auf Fehler in fail2ban abzugleichen. Legitime Absender sollten selten Fehler generieren und es später erneut versuchen, wenn sie gesperrt werden. Ich tue mutmaßlichen Spammern einige schlimme Dinge an, und es ist Jahre her, dass ein legitimer Absender andere Probleme als Lieferverzögerungen hatte.

Um die Legitimität von Absendern zu überprüfen, nutze ich einige Tests:

  • Die IP ist nicht aufgeführt zen.spamhaus.org. (Beinhaltet eine große Auswahl dynamischer IPs.)
  • Die IP hat einen DNS PTR, der rDNS übergibt. Es kommt selten vor, dass legitime E-Mails keinen PTREintrag haben, und rDNSdie IP-Adresse wird fast immer überschrieben.
  • Der Name im HELO/EHLO-Befehl ist ein vollqualifizierter Domänenname (FQDN), der rDNS durchläuft. Mit Ausnahme eines großen Unternehmens wird dieser Name fast immer durchgelassen. Normalerweise ist dieser Name derselbe, der für die IP-Adresse verwendet wird.
  • Der Name aus dem PTR-Eintrag und dem HELO-Befehl besteht die SPF HELO-Verifizierung entweder direkt oder für ihre übergeordnete Domäne. Domänen ohne SPF-Einträge werden ebenfalls bestanden, erhalten jedoch keine Glaubwürdigkeit. Dadurch werden Spambots blockiert, die sich mit der Domäne einer großen Organisation identifizieren.

Ich würde gerne DKIM zur Validierung verwenden, aber ein hoher Prozentsatz der Absender veröffentlicht ihren öffentlichen Schlüssel nicht richtig im DNS.

Wenn Sie diese Tests nicht ausführen können, während die Verbindung noch besteht, senden Sie die Nachricht nicht zurück, es sei denn, Sie können nachweisen, dass der Absender nicht gefälscht wurde. (Ich bin für alle Geldangebote des FBI, der UNO, von Banken usw. dankbar, aber sie haben noch immer nichts geliefert.)

verwandte Informationen