Postfix - пропустить проверки RBL после SPF Pass

Я начал использовать policyd-spf и использую следующее ограничение для получателей. Я хотел бы, чтобы отправители проходили проверку SPF, чтобы пропустить любые проверки RBL. К сожалению, этого не происходит.

  smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_non_fqdn_sender,
    reject_non_fqdn_recipient,
    reject_unauth_destination,
    reject_unauth_pipelining,
    reject_invalid_hostname,
    check_policy_service unix:private/policy-spf
    check_sender_access mysql:/etc/postfix/mysql_sender_checks.cf
    reject_rbl_client zen.spamhaus.org,
    reject_rbl_client bl.spamcop.net,
    reject_rbl_client cbl.abuseat.org,
    reject_rbl_client dnsbl.sorbs.net

Неудачные проверки SPF являются правильными, но, как вы можете видеть из системного журнала - policyd-spf говорит, что он пройден, но продолжает проверки RBL:

Mar 29 13:15:51 policyd-spf[6442]: Pass; identity=mailfrom; client-ip=69.171.232.144; helo=mx-out.facebook.com; envelope-from=REDACTED; receiver=REDACTED
Mar 29 13:15:51 postfix/smtpd[5971]: NOQUEUE: reject: RCPT from 69-171-232-144.outmail.facebook.com[69.171.232.144]: 554 5.7.1 Service unavailable; Client host [69.171.232.144] blocked using dnsbl.sorbs.net; Currently Sending Spam See: http://www.sorbs.net/lookup.shtml?69.171.232.144; from=<REDACTED> to=<REDACTED> proto=ESMTP helo=<mx-out.facebook.com>

Кто-нибудь знаком с postfix-policyd-spf-python, и если да, то можете объяснить, почему он работает не так, как ожидалось.

С помощью:

Debian GNU/Linux 7
Linux XXXXX 3.2.0-4-amd64 #1 SMP Debian 3.2.82-1 x86_64 GNU/Linux
Postfix 2.9.6-2
postfix-policyd-spf-python 1.0.2

1 ответ

Решение

Согласно журналам, сообщение было отклонено списком dnsbl.sorbs.net,

Как описано в разделе Введение в использование SORBS

Будучи потенциальным пользователем списков SORBS, наиболее важный вопрос, который вам нужно задать себе: я понимаю критерии листинга для списков, которые я планирую использовать?

Затем у вас есть несколько вариантов / решений для принятия:

  1. Насколько агрессивным в борьбе со спамом вы хотите быть?
  2. Вы хотите доверять администраторам SORBS, а также сценарию тестирования?
  3. Доверяете ли вы сценариям, которые администраторы SORBS используют для идентификации плохо настроенных хостов?

Список dnsbl.sorbs.net является агрегатной зоной, содержащей все зоны SORBS, кроме spam.dnsbl.sorbs.net). Это означает, что ваша установка очень агрессивна в борьбе со спамом, то есть у вас, скорее всего, будут ложные срабатывания, как вы уже сделали.

Хотя это правда, что (из параметров конфигурации Postfix, smtpd_recipient_restrictions)

Ограничения применяются в указанном порядке; первое ограничение, которое соответствует победам.

check_policy_service только вызывает отправку запроса на указанный сервер политики, а не прямой reject или же permit, Тогда ваш python-policyd-spf может вернуться reject если PermError_reject = True иначе он просто добавляет Received-SPF Заголовок и ограничения обработки продолжаются.

Вы должны прочитать Использование SORBS для получения списка доступных зон. Затем вы можете решить, какие зоны лучше всего соответствуют вашим потребностям, и добавить их отдельно, например:

smtpd_recipient_restrictions =
    . . .
    reject_rbl_client relays.dnsbl.sorbs.net,
    reject_rbl_client web.dnsbl.sorbs.net,
    reject_rbl_client escalations.dnsbl.sorbs.net,
    reject_rbl_client block.dnsbl.sorbs.net,
    reject_rbl_client zombie.dnsbl.sorbs.net,
    reject_rbl_client dul.dnsbl.sorbs.net,
    reject_rbl_client noserver.dnsbl.sorbs.net,
    reject_rbl_client rhsbl.sorbs.net,
    . . .

или вы могли бы поменяться dnsbl.sorbs.net в менее агрессивную агрегатную зону safe.dnsbl.sorbs.net,

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