Postfix: Как проверить на вредоносное ПО и спам исходящих пользователей SMTP SASL auth?

Хотя я нашел два ответа на этот вопрос, я не могу понять, как их реализовать, и по крайней мере один из них не отвечает на вопрос. Так что если у кого-нибудь есть опыт, которым можно поделиться, я буду очень благодарен.

У меня есть сервер (Ubuntu 18.04), на котором работает Postfix. Я уже ограничиваю скорость SASL-отправителей с помощью postfwd, а также использую и другие вещи для сканирования исходящей почты с локальной машины/сети (например, с веб-серверов) с помощью Amavis. Все это в порядке, и выглядит следующим образом в main.cf:

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

и в 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

Как мне пройти проверку SASL-отправителей (которые по определению не находятся в моей сети) на спам и вредоносное ПО так же, как я делаю это для локальных отправителей?

0
задан 12 January 2021 в 10:09
1 ответ

Ответ на этот вопрос, несколько смущающий, заключался в том, что пользователи SASL-auth были отфильтрованы. Однако я не указал syslog_name для прослушивателя smtpd в master.cf, поэтому я не видел доказательств того, что это работает во всем шуме (отправители SASL-auth составляют, возможно, 1% всего трафика в журнале).

Итак, в качестве покаяния, ниже приводится полное описание моей теперь слегка измененной конфигурации в полном объеме, которая передает как исходящую почту (например, веб-приложения в локальной сети), так и учетные записи с аутентификацией SASL, отправляющие почту из произвольных внешних сетей через наши почтовый сервер.

Использование Ubuntu 18.04 со стандартными пакетами, если не указано иное:

Во-первых, мне нужно было добавить пользователя clamav в ту же группу, что и amavis:

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

Изменения в / etc / amavis / conf.d файлы:

05-domain_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-content_filter_mode : включить проверку на спам и антивирус

20-debian_defaults : установить и создать карантинный каталог (принадлежит пользователю amavis + group) и установите для final_spam_destiny значение D_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
};

В 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

В 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

Перезагрузите amavis и postfix, чтобы получить новые конфиги. Найдите в журналах «amavis-reentry», и вы должны увидеть результаты фильтрации.

0
ответ дан 24 April 2021 в 02:16

Теги

Похожие вопросы