Postfix check_policy_service - prüft nur eingehende E-Mails, ignoriert interne und ausgehende

Postfix check_policy_service - prüft nur eingehende E-Mails, ignoriert interne und ausgehende

Ich versuche, einen Policy-Server auf Centos x64 (Selinux deaktiviert) einzurichten, der es mir ermöglicht, die Anzahl der von verschiedenen Servern eingehenden und (noch wichtiger) von verschiedenen Benutzerkonten ausgehenden Nachrichten zu begrenzen. Im Moment glaube ich, dass ich eine funktionierende Konfiguration zur Begrenzung eingehender E-Mails (z. B. von Google) habe, aber ich kann Postfix nicht dazu bringen, dieselben Richtlinienprüfungen für interne und ausgehende E-Mails durchzuführen.

Hier ist das Problem (im Moment versuche ich nur, Postfix dazu zu bringen, den Richtliniendienst überhaupt zu verwenden)

Ich habe folgende Zeilen zu main.cf hinzugefügt

smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10031,   reject_unauth_destination
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10031

Und Policyd deaktiviert (zum Testen)

Beim Senden von E-Mails von einem anderen Host (z. B. von Gmail) an diesen Computer wird in den Postfix-Protokollen ein Fehler angezeigt, dass auf den Policyd-Server nicht zugegriffen werden kann

Sep 10 10:40:23 centosvbox1 postfix/smtpd[9378]: connect from unknown[IP_ADDRESS]
Sep 10 10:40:23 centosvbox1 postfix/smtpd[9378]: warning: connect to 127.0.0.1:10031: Connection refused
Sep 10 10:40:23 centosvbox1 postfix/smtpd[9378]: warning: problem talking to server 127.0.0.1:10031: Connection refused
Sep 10 10:40:24 centosvbox1 postfix/smtpd[9378]: warning: connect to 127.0.0.1:10031: Connection refused
Sep 10 10:40:24 centosvbox1 postfix/smtpd[9378]: warning: problem talking to server 127.0.0.1:10031: Connection refused

was bedeutet, dass Postfix versucht, auf den Policyd-Server zuzugreifen (was wie erwartet funktioniert)

Wenn ich jedoch versuche, E-Mails von der Konsole (mit mailx) an den Benutzer root (lokales Konto) oder irgendwo anders (gmail) zu senden, werden keine solchen Suchvorgänge durchgeführt - die E-Mails gleiten einfach durch, ohne dass ich auch nur versuche, auf policyd zuzugreifen.

echo "ksfdhjksf" | mail -s "kjfhkjsfkjsfd" root

Sep 10 10:42:03 centosvbox1 postfix/cleanup[9386]: 9B606417D9: message-id=<20130910084203.9B606417D9@domain>
Sep 10 10:42:03 centosvbox1 postfix/qmgr[9342]: 9B606417D9: from=<root@domain>, size=458, nrcpt=1 (queue active)
Sep 10 10:42:03 centosvbox1 postfix/local[9388]: 9B606417D9: to=<root@domain>, orig_to=<root>, relay=local, delay=0.04, delays=0.03/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Sep 10 10:42:03 centosvbox1 postfix/qmgr[9342]: 9B606417D9: removed

Da frage ich mich, warum check_policy_service nicht funktioniert. (Ich glaube, das ist ein Postfix-Problem.)

Hat jemand eine Idee, wie man die Anzahl der Systembenutzer (z. B. Webanwendungen) beim Senden von E-Mails per Richtlinie begrenzen kann?

Antwort1

Sie haben die Richtlinienprüfung in definiert smtpd_*_restrictions, daher wird sie nie nach lokal generierten E-Mails abgefragt, da diese Art von E-Mails über den pickup(8)Dienst in die Postfix-Warteschlange eingefügt wird. Um dies zu umgehen, müssen Sie den Dienst ändern master.cfund eine Instanz hinzufügen (und natürlich müssen Sie auch die besagte Inhaltsfilterinstanz hinzufügen, sehen Sie sich das ancontent_filterpickup(8)Inhaltsfilterung.

FWIW, ich glaube nicht, dass es den Aufwand wert ist, dies zu tun. Niemand sollte in der Lage sein, lokale E-Mails auf einem Mail-Gateway zu generieren, und istnichtdas zentrale Mailgateway, dann limitieren Sie ohnehin an der falschen Stelle.

verwandte Informationen