Postfix: Wie scanne ich ausgehende SMTP-SASL-Authentifizierungsbenutzer auf Malware und Spam?

Postfix: Wie scanne ich ausgehende SMTP-SASL-Authentifizierungsbenutzer auf Malware und Spam?

Obwohl ich festgestellt habezwei Antwortendazu komme ich nicht dahinter, wie man sie tatsächlich umsetzt, und mindestens eine davon beantwortet die Frage nicht wirklich. Wenn also jemand Erfahrungen hat, die er teilen möchte, wäre ich sehr dankbar.

Ich habe einen Server (Ubuntu 18.04), auf dem Postfix läuft. Ich begrenze bereits die Rate von SASL-Absendern mit postfwd und verwende andere Dinge, um ausgehende E-Mails vom lokalen Rechner/Netzwerk (z. B. von Webservern) mit Amavis zu scannen. Das ist alles in Ordnung und sieht in main.cf so aus:

smtpd_sender_restrictions =
    check_client_access cidr:/etc/postfix/internal_clients_filter,
    permit_mynetworks, 
    reject_unknown_sender_domain

und in master.cf

senderCheck  unix  -       n       n       -       15       spawn
  user=nobody argv=/opt/policyd/src/policyd.pl  max_idle=30 max_use=50 daemon_timeout=50

127.0.0.1:10025 inet    n    -    n    -    -    smtpd
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o smtpd_restriction_classes=
    -o smtpd_delay_reject=no
    -o smtpd_client_restrictions=
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o mynetworks=127.0.0.0/8
    -o smtpd_data_restrictions=
    -o smtpd_end_of_data_restrictions=
    -o local_header_rewrite_clients=
    -o smtpd_error_sleep_time=0
    -o smtpd_soft_error_limit=1001
    -o smtpd_hard_error_limit=1000
    -o smtpd_client_connection_count_limit=0
    -o smtpd_client_connection_rate_limit=0
    -o smtpd_milters=
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings

Wie kann ich SASL-Absender (die sich per Definition nicht in meinem Netzwerk befinden) auf die gleiche Weise einem Spam- und Malware-Scan unterziehen wie lokale Absender?

Antwort1

Die Antwort darauf war, etwas peinlich, dass die SASL-Auth-Benutzerwargefiltert werden. Allerdings hatte ich syslog_namein master.cf kein SMTP-Listener angegeben, sodass ich in all dem Lärm keine Hinweise darauf sah, dass das funktioniert (SASL-Auth-Absender machen vielleicht 1 % des gesamten Datenverkehrs im Protokoll aus).

Zur Buße folgt nun eine vollständige Beschreibung meiner nun leicht geänderten Konfiguration, die sowohl ausgehende E-Mails (z. B. Webanwendungen im lokalen Netzwerk) als auch SASL-authentifizierte Konten, die E-Mails aus beliebigen externen Netzwerken senden, über unseren Mailserver weiterleitet.

Verwenden von Ubuntu 18.04 mit Standardpaketen, sofern nicht anders angegeben:

Zuerst musste ich den Clamav-Benutzer zur gleichen Gruppe wie Amavis hinzufügen:

$ id clamav
uid=115(clamav) gid=115(clamav) groups=115(clamav),126(amavis)

Änderungen an /etc/amavis/conf.dDateien:

05-Domänen-ID

@local_domains_acl = ( ".$mydomain" );

# I've got multiple IP addresses on my machine and only want one to be used for mail:
@inet_acl = qw(127.0.0.1 [::1] 185.73.x.x [2001:ba8:0:x::x]); 

15-Inhaltsfiltermodus: Spam- und Antivirenprüfung aktivieren

20-debian_defaults: Quarantäneverzeichnis einrichten und erstellen (im Besitz von amavis user+group) und final_spam_destinyaufD_DISCARD

40-policy_banks:

$interface_policy{'10024'} = 'INTERNAL'; 
$policy_bank{'INTERNAL'} = {  # mail originating from clients in cidr:/etc/postfix/internal_clients_filter
  bypass_spam_checks_maps   => [0],  # spam-check outgoing mail 
  bypass_banned_checks_maps => [0],  # banned-check outgoing mail 
  bypass_header_checks_maps => [0],  # header-check outgoing mail  
  forward_method => 'smtp:[127.0.0.1]:10025', # relay to Postfix listener on port 10025
};

In Postfix main.cf:

smtpd_sender_restrictions =
    check_client_access cidr:/etc/postfix/internal_clients_filter,
    permit_mynetworks, 
    reject_unknown_sender_domain

/etc/postfix/internal_clients_filter:

0.0.0.0/0 FILTER smtp:127.0.0.1:10024
::/0 FILTER smtp:[::1]:10024

In master.cf

127.0.0.1:10025 inet    n    -    n    -    -    smtpd
    -o syslog_name=amavis-reentry
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o smtpd_restriction_classes=
    -o smtpd_delay_reject=no
    -o smtpd_client_restrictions=
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o mynetworks=127.0.0.0/8
    -o smtpd_data_restrictions=
    -o smtpd_end_of_data_restrictions=
    -o local_header_rewrite_clients=
    -o smtpd_error_sleep_time=0
    -o smtpd_soft_error_limit=1001
    -o smtpd_hard_error_limit=1000
    -o smtpd_client_connection_count_limit=0
    -o smtpd_client_connection_rate_limit=0
    -o smtpd_milters=
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings

Laden Sie amavis und Postfix neu, um neue Konfigurationen zu erhalten. Suchen Sie in Ihren Protokollen nach „amavis-reentry“ und Sie sollten die Ergebnisse der Filterung sehen.

verwandte Informationen