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

Postfix - пропуск проверки RBL после прохождения SPF

Я начал использовать 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

Согласно журналам, сообщение было отклонено списком 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.