Как добавить в черный список домены верхнего уровня (TLD) с помощью SpamAssassin?

Вопрос или проблема

Здесь вы можете узнать, как редактировать черный или белый список в SpamAssassin:

https://www.antho.net/spamassassin/spamassassin_instructions.html

Но как можно занести TLD в черный список?

Я думаю, это делается так, например:

blacklist_from *.com
blacklist_from *.shop

Верно?

SpamAssassin

Невозможно использовать blacklist_from для блокировки доменов верхнего уровня (TLD), так как директива ограничена совпадением с конкретными доменами; например, blacklist_from *.com не сработает.

Вам потребуется пользовательское правило SpamAssassin в /etc/mail/spamassassin/local.cf, например:

header   LOCAL_TLD_BLOCK From =~ /\.(com|shop)$/i
describe LOCAL_TLD_BLOCK Blacklisted TLDs
score    LOCAL_TLD_BLOCK 5.0

Сравнение выполняется с заголовком From отправителя (RFC 5322, 3.6.2).

Отклонение на стадии подключения

Если SpamAssassin не настроен как milter до очереди, способный отклонять почту, сервер SMTP примет сообщение. В типичной настройке SpamAssassin не блокирует и не отклоняет сообщение, но оно может быть отфильтровано или проигнорировано молча. Легитимная почта может быть уничтожена без уведомления отправителю.

Еще более плохим вариантом будет излучение обратного рассеивания, т.е. неверно автоматизированных Отчетов о нея доставке.

…с Postfix

Рекомендуемый вариант для блокировки целого TLD в Postfix — это проверка адреса отправителя с использованием регулярных выражений с поддержкой PCRE. Сравнение выполняется с конвертным отправителем (RFC 5321, 4.1.1.2).

  1. /etc/postfix/main.cf:

    smtpd_recipient_restrictions = check_sender_access pcre:/etc/postfix/sender_access
    
  2. /etc/postfix/sender_access:

    /\.com$/  550 Emails from .com not allowed
    /\.shop$/ 550 Emails from .shop not allowed
    

(Это решение также представлено на моем blocked.icu.)

Ответ или решение

Создание черного списка для доменов верхнего уровня (TLD) в SpamAssassin — это задача, которая требует аккуратного подхода, учитывая возможности и ограничения данной антиспам-системы. Давайте рассмотрим, как ее можно реализовать, учитывая дополнительные аспекты серверной интеграции, такие как Postfix.

Как создать черный список для TLD в SpamAssassin

Использование blacklist_from в SpamAssassin не предназначено для блокировки целых TLD, поскольку этот директив действует на уровне специфичных доменных имен. Например, строка blacklist_from *.com не сработает. Для создания черного списка TLD вам потребуется прописать пользовательские правила в конфигурационном файле local.cf SpamAssassin, расположенном обычно по адресу /etc/mail/spamassassin/local.cf.

Вот пример, как это можно сделать:

header   LOCAL_TLD_BLOCK From =~ /\.(com|shop)$/i
describe LOCAL_TLD_BLOCK Blacklisted TLDs
score    LOCAL_TLD_BLOCK 5.0

Объяснение:

  • header: Это правило проверяет заголовок From на содержание указанных доменов.
  • describe: Краткое описание правила, чтобы понимать, чему оно служит.
  • score: Определяет, на сколько увеличится антиспам-оценка письма. Если она превышает установленные пороги, письмо будет помечено как спам.

Особенности отбраковки на уровне SMTP

SpamAssassin традиционно используется на уровне фильтрации нежелательной почты, а не блокировки. Поэтому, если вам необходимо отвергать такие письма на этапе SMTP-сессии, необходимо интегрировать его с системами, такими как Postfix, который поддерживает Milter.

  • Milter-интеграция: Это позволит SpamAssassin в связке с Milter-поддержкой отвергать письма в ходе SMTP-сессии, что исключает вероятность попадания нежелательных писем в почтовый ящик пользователя.

Настройка черного списка TLD с использованием Postfix

Если на вашем сервере установлен Postfix, можно дополнительно применять его возможности для блокировки TLD на этапе приема почты:

  1. Настройка main.cf:
    В основной конфигурации Postfix укажите использование регулярных выражений для проверки отправителя.

    smtpd_recipient_restrictions = check_sender_access pcre:/etc/postfix/sender_access
  2. Настройка sender_access:
    Создайте или отредактируйте файл /etc/postfix/sender_access для указания доменов, которые следует блокировать.

    /\.com$/  550 Email из доменов .com не принимаются
    /\.shop$/ 550 Email из доменов .shop не принимаются

Важно учитывать

  • Неиспользование backscatter: Применение отказа от доставки (NDR) может привести к обратному спаму — так называемому Backscatter. Поэтому все отвергнутые письма лучше просто блокировать без уведомлений.
  • Работа с легитимной почтой: Тщательно подбирайте TLD для черных списков, чтобы избежать потерь важной почты.

Таким образом, используя возможности SpamAssassin и интеграцию с Postfix, вы можете создать мощную схему фильтрации и отклонения писем с нежелательных TLD, минимизируя нежелательную почту и защищая почтовый сервер от потенциальных угроз.

Оцените материал
Добавить комментарий

Капча загружается...