Как включить проверку RBL в postfix?

Как включить фильтры RBL в постфиксе?

Моя текущая конфигурация:

submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=reject_sender_login_mismatch,permit
  -o receive_override_options=no_header_body_checks,no_address_mappings
  -o smtpd_sender_restrictions=permit_sasl_authenticated,reject
  -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject

Письма отправляются и получаются.

Когда я добавляю:

reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net

Во время отправки Thunderbird зацикливается навсегда, и ничего не происходит. /var/log/mail.* пусты.

2 ответа

Ваш reject_rbl_client объявление входит в объявление smtpd_recipient_restrictions, найденное в main.cf. Для моих машин CentOS это находится в /etc/postfix/. Код, который вы разместили, как правило, отображается в master.cf. Это совсем другой файл.

Вот как выглядит мое определение smtpd_recipient_restrictions:

smtpd_recipient_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        reject_unauth_destination
        reject_unauth_pipelining,
        check_client_access hash:/etc/postfix/rbl_override,
        reject_unknown_reverse_client_hostname,
        reject_invalid_helo_hostname,
        reject_non_fqdn_helo_hostname,
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unknown_sender_domain,
        reject_unknown_recipient_domain,
        reject_invalid_hostname,
        check_client_access hash:/etc/postfix/client_checks,
        reject_rbl_client zen.spamhaus.org,
        reject_rbl_client bl.spamcop.net,
        reject_rbl_client b.barracudacentral.org,
        reject_rbl_client dnsbl.sorbs.net,
        check_policy_service unix:private/policy,
        permit

Как говорили другие, вы помещаете reject_rbl_client в неправильное место. Установите это в строке smtpd master.cf или в main.cf,

Если ваш постфикс имеет версию 2.8 выше, вы можете поставить проверку RBL в postscreen, Вы можете получить больше информации на странице Postscreen Howto.

Например, эквивалентный конфиг

reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net

в постэкране

postscreen_dnsbl_sites = sbl-xbl.spamhaus.org, bl.spamcop.net
postscreen_dnsbl_action = enforce

Некоторое соображение, где вы помещаете проверку rbl, ограничение smtpd_*_ или постэкран

Postcreen Плюсы

  • Проверьте перед любой транзакцией SMTP, потому что вход был только IP-адрес
  • Использовать механизм кэширования, когда IP-адрес не найден в RBL
  • Взвешенная оценка поддержки для сайта dnsbl (например, ваш внутренний RBL был более надежным, чем spamhaus RBL, тогда вы можете поставить postscreen_dnsbl_sites = internal.rbl.example.com*3, spamhaus.org)
  • Вес может быть отрицательным значением, чтобы получить тот же эффект с permit_dnswl_client

Postcreen Минусы

См. Ответ sebix на этот вопрос и sebix в списке рассылки postfix.

Другие вопросы по тегам