Назад | Перейти на главную страницу

проверить заголовок для аутентифицированного отправителя в постфиксе

Мои пользователи отправляют электронную почту с SMTP AUTH через аутентификацию SASL. К сожалению, их письма были помечены как NoBounceOpenRelay пользователя Amavis.

Итак, я установил postfix main.cf

smtpd_sasl_authenticated_header = yes

Можно ли сказать, что amavis проверяет этот заголовок электронной почты, чтобы я мог использовать policy_bank к подпрыгивать или отвергать письма, содержащие спам?

Похоже, ваш случай был похож на этот пример случая в документации Amavisd

Если по какой-то причине пользователи SASL подключаются к порту 25, в качестве альтернативного метода вы могли бы, чтобы все клиенты в Postfix '$ mynetworks и отправители SASL auth обходили проверки и позволяли всему остальному проходить через catchall, который устанавливает content_filter.

#main.cf
content_filter = smtp-amavis:[127.0.0.1]:10026

smtpd_data_restrictions =
    reject_unauth_pipelining
    permit_mynetworks
    permit_sasl_authenticated
    check_client_access regexp:/etc/postfix/filter-catchall.regexp

# /etc/postfix/filter-catchall.regexp:
/^/ FILTER smtp-amavis:[127.0.0.1]:10024

В этом режиме

  • Пользователь SASL будет разрешен через permit_sasl_authenticated так что это попадет в content_filter параметр т.е. content_filter = smtp-amavis:[127.0.0.1]:10026.
  • Другой адрес электронной почты попадет в общий список check_client_access regexp:/etc/postfix/filter-catchall.regexp. Итак, он пройдет через smtp-amavis: [127.0.0.1]: 10024.

Последняя часть - настройка отдельного банка политик в портах 10024 и 10026.


Вышеуказанные настройки могут быть расширены, чтобы разрешить внесение в белый список на основе других факторов, например: имя пользователя SASL и домен отправителя.

  • Для имени пользователя SASL вы можете использовать check_sasl_access до разрешения_sasl_authenticated. Примечание: эта функция была доступна в Postfix 2.11 и новее.

    # main.cf
    ...
    check_sasl_access hash:/etc/postfix/amavis-bypass-sasl
    permit_sasl_authenticated
    ...
    
    
    #/etc/postfix/amavis-bypass-sasl
    
    # Use this when smtpd_sasl_local_domain is empty.
    username   FILTER smtp-amavis:[127.0.0.1]:10026
    # Use this when smtpd_sasl_local_domain=example.com.
    username@example.com FILTER smtp-amavis:[127.0.0.1]:10026
    
  • Для домена отправителя вы можете использовать check_sender_access

    # main.cf
    ...
    check_sender_access hash:/etc/postfix/amavis-bypass-sender
    permit_sasl_authenticated
    ...
    
    
    #/etc/postfix/amavis-bypass-sasl
    
    # Use this when smtpd_sasl_local_domain is empty.
    internal.example.com   FILTER smtp-amavis:[127.0.0.1]:10026
    # Use this when smtpd_sasl_local_domain=example.com.
    whitelist.example.org FILTER smtp-amavis:[127.0.0.1]:10026