Как настроить Postfix для проверки SPF-записи только для тех доменов, которые я хочу проверить

Как настроить Postfix для проверки SPF-записи только для тех доменов, которые я хочу проверить

У меня есть рабочий сервер postfix. Он настроен с помощью amavis и использует довольно хороший контроль заголовков SMTP. Но иногда мои пользователи получают спам от спамеров с адресами известных почтовых провайдеров. Например: @gmail.com @yahoo.com и другие. Конечно, они рассылают этот спам с нелегальных серверов, но с правильными записями DNS (A и PTR) и заголовками EHLO. Sever не может отклонить эту почту.

Итак, я не хочу использовать rbl из-за ложных|положительных результатов. И я не хочу использовать серый список из-за тайм-аутов.

Я хочу использовать проверку SPF, но только для почты из известных доменов. Я знаю, что у домена есть правильная запись SPF.

Я знаю, что существуют два демона SPF (policyd-spf-perl и policyd-spf-python), и, похоже, они не обладают такой функциональностью.

Итак, мой вопрос: возможно ли проверить запись SPF только для определенного списка доменов?

решение1

Да, ты можешь

Взгляните на пример постфиксаДелегирование политики доступа SMTPгде он показывает, что вы можете включить серый список из часто подделываемых доменов. Он использует smtpd_restriction_classesдля достижения этого.

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

# /etc/postfix/main.cf:

smtpd_recipient_restrictions =
    reject_unlisted_recipient
    ...
    reject_unauth_destination 
    check_sender_access hash:/etc/postfix/sender_access
    ...
smtpd_restriction_classes = spfcheck
spfcheck = check_policy_service unix:private/spfcheck

# /etc/postfix/sender_access:
    aol.com     spfcheck
    hotmail.com spfcheck
    bigfoot.com spfcheck
    ... etcetera ...

Связанный контент