1 заметка с тегом

x-spam-asn

/core.php, line 2
Error 2: Use of undefined constant k - assumed 'k' (this will throw an Error in a future version of PHP)

Борьба со спамом при помощи ASN

Блокируем целую подсеть спамеров одним махом

Бывает, что нужно отсечь почту, приходящую от целой сети. Отправители все время меняют свои адреса: отправляют определенное количество писем, меняют адрес, снова меняют адрес, снова отправляют... В таком случае помогает запрет на прием писем с определенных IP-адресов. А что делать, если таких адресов скапливается очень много? В итоге мы получаем целую «простыню» в настройках почтового сервера. Лично меня это не устраивает. Изучив часть из них, обратил внимание, что все они принадлежат одной сети. Посмотрев на список IP-адресов, закрепленных за этой сетью, понял, что список будет очень большим. Тогда же я заметил, что в регистрационных данных присутствует такая вещь, как ASN. Если очень кратко, то это уникальный идентификатор, присвоенный этой сети. Появилась мысль как-то использовать этот идентификатор в борьбе со спамом. Изучив список плагинов Spamassassin’а, увидел, что помимо прочих он также может определять не только вышеупомянутый ASN, но и подсеть отправителя.
Далее было дело техники. В настройках Spamassassin’а включаем загрузку этого модуля в v320.pre:

loadplugin Mail::SpamAssassin::Plugin::ASN

Дальше нам нужно, чтобы он вставлял нужные заголовки в получаемые письма. Для этого в local.cf добавляем следующую строку:

add_header all ASN _ASN_ _ASNCIDR_

Перезапускаем Spamassassin и... ничего не получилось. Заголовок вставляется, но данных в нем нет

X-Spam-ASN:

Я потратил почти полдня, пока нашел причину почему это не работает. Оказалось, что в параметрах запуска Spamassassin был указан параметр -L, который запрещает работу с DNS. После удаления этого параметра, заголовок приобрел более «осмысленный» вид:

X-Spam-ASN: AS25549 95.170.128.0/22

Вот теперь уже можно отдавать письмо на дополнительную проверку postfix. В файл header_checks добавляем строку:

/^X-Spam-ASN.*AS25549 .*/ DISCARD This is spamer

и перезапускаем postfix. Всё, больше писем из этой сети вы не получите.
Но, к сожалению, не все сети имеют ASN. Тогда бороться с ними остается только по IP-адресам.

2017   asn   bgp   postfix   spamassassin   x-spam-asn   борьба   спам