Wie kann ich Postfix verwenden, um den HELO-Namen zu verfolgen / zu protokollieren, mit dem IPs mit ihm kommunizieren?

7

Ich verwende Postfix als internen Mail-Relay-Server, und wir haben mehrere Server, auf denen intern alle Arten von benutzerdefiniertem Code ausgeführt werden. Einige sind Pakete / Dienste, andere sind native Linux- oder Windows-Systemdienste, die diese / diese Systeme zur Kommunikation verwenden ein Mail-Relay.

Das Problem, auf das ich stoße, ist, dass ich daran arbeite, die Server-HELO-Namen zu bereinigen, die sie an den Server kommunizieren, wie beim Senden von E-Mails. Einige sind beispielsweise localhost.localdomain und beeinträchtigen unseren IP-Ruf (Blacklists / etc).

Ich habe pflogsumm installiert, was eine große Hilfe war, aber ich wünschte wirklich, es gäbe eine Möglichkeit, eine Liste der IPs zu erhalten, die eine Verbindung zu diesem Server herstellen, und die entsprechenden HELOs, die die IPs erstellen (oder ihre Servernamen, die sie melden, als ob du weißt was ich meine).

Wenn jemand weiß, wie ich diese Informationen von Postfix erhalten kann, die großartig wären, könnte ein Bonus dies pflogsumm zugänglich machen, damit ich sie in meinem täglichen E-Mail-Bericht anzeigen kann. Vielen Dank!

Keegan Jacobson
quelle

Antworten:

5

Wietse Venema (Autorin von Postfix ) gab diese Antwort auf eine 2012 auf der Mailingliste gestellte Frage :postfix-users

warn_if_reject check_helo_access static:reject

Es ist wahrscheinlich aktuell, probieren Sie es aus.

Aktualisieren

Ich habe es versucht:

Zunächst muss die Konfiguration in der Konfigurationsanweisung smtpd_helo_restrictions vorgenommen werden .

smtpd_helo_restrictions = warn_if_reject check_helo_access static:reject

Dies führt zu Protokolleinträgen der folgenden Art:

Oct 16 00:12:45 vega postfix/smtpd[6676]: NOQUEUE: reject_warning: RCPT from unknown[xxxx:xxxx:xxxx::x]: 554 5.7.1 <test>: Helo command rejected: Access denied; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<test>

In diesem Fall habe ich testim HELOBefehl die SMTPVerbindung verwendet. Da dies eine Zurückweisungswarnung ist, pflogsummwird es wahrscheinlich kein Problem geben, dies zusammenzufassen.

Joffrey
quelle
Vielen Dank für eine ausführliche Antwort. Ich freue mich darauf, sie auszuprobieren und werde darüber berichten! Sehr geschätzt und einen schönen Tag.
Keegan Jacobson
Ich habe diesen Fehler bekommen, postfix: fatal: /etc/postfix/main.cf, line 44: missing '=' after attribute name: "smtpd_helo_restrictions warn_if_reject check_helo_access static:reject"aber es war einfach genug zu verstehen, dass es sein musstesmtpd_helo_restrictions = warn_if_reject check_helo_access static:reject
Keegan Jacobson
1
Oh, mein schlechtes in Copy-Paste ... Ich werde das in meiner Antwort beheben!
Joffrey
Keine Sorge! Es funktioniert ziemlich perfekt, soweit ich das Testen beurteilen kann, aber es gibt ein kleines Problem im Zusammenhang mit pflogsumm. Beim Überprüfen des pflogsumm-Mail-Statistikberichts ist dies fast richtig: RCPT Helo command rejected: Access denied (total: 2) 1 examplehost.domain.local 1 10.10.10.10 Also habe ich es mit zwei verschiedenen Hosts getestet, aber das Problem ist, dass examplehost.domain.local so etwas wie "localhost.localdomain" im pflogsumm-Bericht war Es würde nicht mit einer IP-Adresse korrelieren. Wenn das Sinn macht
Keegan Jacobson
1
Es ist sinnvoll, dass für einen Protokollanalysator nicht gleichzeitig die fqdn- und die IP-Adresse angezeigt werden müssen. Sie müssen wahrscheinlich den Code von pflogsumm dafür anpassen.
Joffrey