Я заметил поток спама, связанный с тем же диапазоном IP-адресов.
Все спам-сообщения содержат разный текст HTML (английский, но бессмысленный) и несколько встроенных изображений (которые я блокирую), но на самом деле они явно сгенерированы машиной, и внутреннее форматирование очень похоже. Кстати, все ссылки и внешние изображения заблокированы моей почтовой программой.
Я заметил, что MX для адресного домена "от" все находятся в небольшом диапазоне IP-адресов, все они находятся на одном узле службы VPS. ТОО «Аутлет Индия». Итак, кто-то использует эту службу для размещения фермы спам-ботов.
Я хотел бы создать правило spamassassin, которое говорит что-то вроде:
Я использую прокси spampd и spamassassin, работающие в Linux.
Для пояснения, вот пример: Спам-электронное письмо отправлено из (скрытого) источника, оно проходит SPF, DMARC и подписано DKIM - все законно, но это спам. Только по этим проверкам он получает хорошие результаты.
Единственное, что рассылает спам - это контент. В основном это HTML и ссылки вне домена, встроенные изображения и небольшой текст, только благодаря этим функциям он вообще имеет рейтинг спама, но не большой. Эти электронные письма явно предназначены для того, чтобы избежать мер по борьбе со спамом.
Я выполняю поиск MX RR DNS на сайте stufftobuy.com, и вы получаете mail.stufftobuy.com, выполняю поиск A RR DNS на mail.stufftobuy.com, и он возвращает IPV4 с нескольких адресов, на которые указывают все записи MX от домена.
Мне нужно провести дополнительный анализ, но похоже, что это всего лишь две серверные фермы, одна в Индии, другая в Турции.
Из 1000 писем один IPV4 может появиться только дважды.
Я не могу просто забейте или заблокируйте stufftobuy.com, так как это фактическое доменное имя можно использовать только один раз. Следующее сообщение может быть от makecatvids.com или чего-то еще.
Точно так же я не могу просто слепо заблокировать тысячи IPV4 в постфиксе, поскольку это сделало бы предположение, что провайдер плохой, а не один из их клиентов.
ОБНОВЛЕНИЕ : Я вижу, что плагин askdns существует, но я не вижу, как одно правило может влиять на другое. Одного поиска в DNS недостаточно.
Значительно более важный: Удостоверяются, что Вы используете репутацию IP отправителя, например, через [1 115] Дзэн Spamhaus и SpamCop, Блокирующий Список . Они уже включены в SpamAssassin по умолчанию (см. RCVD_IN_PBL
и RCVD_IN_BL_SPAMCOP_NET
), просто удостоверьтесь, что Вы имеете Почта:: SpamAssassin:: Плагин:: DNSEval правильно загрузился и что Вы работаете с включенными тестированиями сети (который также требуется для AskDNS).
Почта:: SpamAssassin:: Плагин:: AskDNS не может сделать этого. Необходимо было бы записать собственный плагин, чтобы сделать точно, что Вы ищете.
Однако, возможно, это использование AskDNS может получить Вас близко:
ifplugin Mail::SpamAssassin::Plugin::AskDNS
askdns JM_SPF_HAS_36_255 _AUTHORDOMAIN_ TXT /\sip4:36\.255\.(?:2[0-4]|3[01])\./
describe JM_SPF_HAS_36_255 From header's SPF record blesses an IP in 36.255.24.0/21
score JM_SPF_HAS_36_255 2.0
endif
Это проверяет Платформа политики Отправителя (SPF) запись для домена From заголовка. Протесты:
HELO
& mail from
команды, не заголовки v=spf1 ip4:198.51.100.21 mx a include:example.com ~all
имеет проблемы: mx
, и мы не можем разрешить это к IPa
или другой include:…
, который может перечислить этот IPОтносительно того первого маркера: запись MX относится к [1 126] получение почта, таким образом, я полагаю, что список SPF разрешенных отправка хосты более релевантен в общем случае, хотя я не могу говорить с Вашим точным намерением.
<час>Обновление: Вы упомянули, что эти сообщения со спамом DKIM - подписаны. При принятии они все совместно используют тот же домен подписания, просто блок на основе того (никакой сетевой необходимый поиск!):
header JM_DKIM_EVIL_EXAMPLE_COM DKIM-Signature =~ /\sd=evil\.example\.com;/
describe JM_DKIM_EVIL_EXAMPLE_COM Message has DKIM signed by evil.example.com
score JM_DKIM_EVIL_EXAMPLE_COM 2.0
Вам будет нужно одно из этих правил на подписание домена (d=…
), Вы находите, который я ожидаю, небольшое число.
, С другой стороны, Вы могли использовать regex чередование. Например:
/\sd=(?:(?:evil|spammer)\.example\.com|bad\.example\.info);/
заблокируется d=evil.example.com;
, d=spammer.example.com;
, и d=bad.example.info;
.