Wie blockiere ich Anhänge an eingehenden Mails nur mit Postfix?


9

Ich habe einen Mailserver (CentOS 6.5), auf dem Postfix und Dovecot ausgeführt werden

Postfix überwacht Port 25 auf eingehende E-Mails und 587 auf ausgehende E-Mails

Das Problem ist, dass ausgehende E-Mails mit PDF-Anhängen blockiert werden, während eingehende E-Mails nur mit blockierten PDF-Anhängen blockiert werden sollen.

Ich habe diese Konfigurationszeile in main.cf

 mime_header_checks = regexp:/etc/postfix/blocked_attachments

Die blocked_attachments-Datei enthält:

/name=[^>]*\.(pdf|zip)/ REJECT

Eingehende E-Mails mit einem PDF-Anhang werden also korrekt blockiert. Wenn ich jedoch eine E-Mail mit einer PDF-Datei verfasse, wird diese auch blockiert, wenn ich versuche, sie zu senden.

Wie kann ich Postfix mitteilen, dass nur eingehende Anhänge gefiltert werden sollen? Oder habe ich etwas verpasst?

Antworten:


7

Ich werde Ihre Frage umschreiben:

Wie kann ich verschiedene _header_checks für smtpd (Port 25) und Submission (Port 587) verwenden?

Dieses kanonische Problem kann mit mehreren Bedingungen geteilt werden

  1. Ich möchte header_checks für smtpd oder Submission deaktivieren.
  2. Ich möchte verschiedene header_checks für smtpd und Submission ausführen.

1. Ich möchte header_checks für smtpd oder Submission deaktivieren.

Für das Beispiel gehe ich davon aus, dass Sie die header_checks für die Übermittlung (ausgehende E-Mail) deaktivieren möchten .

Lösung 1: Methode "receive_override_options"

Sie können den Postfix-Parameter " receive_override_options" verwenden . Mit dem Parameter können Sie den globalen Schalter header_check überschreiben, damit der Filter nicht ausgeführt wird. # main.cf header_checks = pcre: / path / to / header_checks

#master.cf
submission inet n       -       n       -       -       smtpd
    -o receive_override_options=no_header_body_checks

Vorsichtsmaßnahmen: Dadurch werden ALLE _header_checks und body_checks deaktiviert, die in man 5 header_checks definiert sind . Informationen zur vollständigen Steuerung, welcher Parameter ausgeschaltet werden soll, finden Sie in Lösung 2.

Lösung 2: Mehrfachbereinigungsdienstmethode

Wir können mehrere Bereinigungsservice-Techniken für Ihr Problem verwenden, wie *_header_checkssie vom Bereinigungsservice durchgeführt wurden. Sie können das Beispiel dieses Setups in einem neuen Tutorial sehen .

Der magische Parameter für diese Konfiguration ist cleanup_service_name . Mit diesem Parameter können wir für jeden smtpd-Prozess einen anderen Bereinigungsdienst verwenden. Zuerst definieren wir in master.cf einen zusätzlichen Bereinigungsdienst (No-Headerchecks genannt)

no-headerchecks unix    n       -       n       -       0       cleanup
    -o mime_header_checks=

In dieser Bereinigung definieren wir leere mime_header_checks, um die Filterung zu deaktivieren. Der letzte Schritt besteht darin, den Übermittlungsdienst anzuweisen, unsere No-Headerchecks zu verwenden

submission inet n       -       n       -       -       smtpd
    -o cleanup_service_name=no-headerchecks 

2. Ich möchte verschiedene header_checks für smtpd und Submission ausführen.

Für dieses Problem können Sie die oben beschriebene Methode für mehrere Bereinigungsdienste verwenden.

Zuerst definieren wir einen zusätzlichen Bereinigungsdienst (als Second-Headerchecks bezeichnet) in master.cf

second-headerchecks unix    n       -       n       -       0       cleanup
    -o mime_header_checks=pcre:/path/to/2ndheaderchecks

In dieser Bereinigung definieren wir zweite mime_header_checks für andere PCRE-Tabellen. Der letzte Schritt besteht darin, den Übermittlungsdienst anzuweisen, unsere zweiten Headerchecks zu verwenden

submission inet n       -       n       -       -       smtpd
    -o cleanup_service_name=second-headerchecks

Hinweis:

  • Ihr Fall sieht bei dieser Frage ähnlich aus . Leider funktioniert die Antwort von Laurentiu Roescu nur, wenn Sie header_checks für ausgehende E-Mails aktivieren möchten, die SMTP als Transport verwenden. Die gute Nachricht ist, dass sein erster Satz über cleanupDaemon uns eine Idee für eine zweite Lösung gibt.

  • Es können mehrere Bereinigungsdienstmethoden angewendet werden, wenn Sie unterschiedliche header_checks, body_checks und andere in definierte Parameter wünschen man 5 header_checks.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.