Найти тему

Спам-листы

Оглавление

Я давно собираю стоп-слова для своего почтового клиента (TheBat!), по которым он весьма эффективно отсекает спам. Лет восемь назад, я весьма благосклонно высказывался о грейлистинге, но вот уже как года два он выполняет максимум 30% работы по отсеканию почтового спама. Остальной шлак пролазит, потому что рассылается с "якобы нормальных" почтовых серверов, которые выполняют повтор доставки на протяжении длительного времени. Банить IP-адреса - дело неблагодарное и бессмысленное, т.к. они постоянно меняются.

Очень неплохо грейлистинг на сервере сочетается с байесовским фильтром для почтового клиента. Например, для TheBat! прекрасно работает фильтр Agava SpamProtexx (последняя версия 3.0.0.238) - простой, с минимумом настроек и возможностью обучения, которое минимизирует ложные срабатывания и повышает эффективность отлова спама. Но тут есть одна проблема: на байесовский фильтр нельзя полагаться на 100%, потому что он может ошибочно отнести письмо к категории "спам" (или, наоборот, не распознать однозначно спамное письмо). Соответственно, нельзя просто так грохать без просмотра всё, что нафильтровал антиспам. А смысл борьбы со спамом как раз и сводится к тому, чтобы вообще его не видеть и не отвлекаться на него. Поэтому, приходится настраивать антиспам, чтобы он складывал отфильтрованное в одну папку, а затем всё равно тратить время на просмотр и обучение в случаях "ложного срабатывания".

И я придумал для себя "третью ступень защиты": фильтр по стоп-словам в полях Sender (отправитель), Subject (тема), Reply-To (ответить на) и Return-Path (адрес возврата). Фильтр по полям является одним из встроенных фильтров TheBat! категории Selective Download (выборочное скачивание). Почтовый клиент загружает список писем с сервера, имея информацию об указанных полях, не загружая при этом всё письмо. Если какое-либо из стоп-слов обнаруживается в поле, TheBat! просто грохает письмо на сервере без приёма. Если подойти с умом, ложная детекция исключена, т.к. некоторые горе-спамеры светят свои домены прямо в Sender, даже не удосуживаясь подменить их на что-нибудь "от фонаря". Если в Sender написана ерунда - можно присмотреться к Subject и сделать соответствующие выводы. Спамеры не то, чтобы особенно извращаются с темами, да и сам рекламируемый товар или услуга, как правило, называются некоей уникальной последовательностью символов. Поля Reply-To и Return-Path используются мною в последнюю очередь, позволяя "добить" особых хитрецов.

За день ко мне "протискиваются" порядка 2-3 спам-писем (которые на 99% "дофильтровывает" Agava SpamProtexx, складывая в одну папку). Эти письма можно под конец рабочего дня спокойно просмотреть и добавить новые стоп-слова. Если бы описываемая система не работала, количество спама было бы минимум на порядок больше. Я решил поделиться своим списком стоп-слов, чтобы внести вклад в уничтожение спама. Да и страна должна знать своих "героев", если речь идёт о Sender - некоторые ресурсы спамят годами и что-то незаметно, чтобы кто-нибудь за этим присматривал, хотя вроде и законы есть...

Перед тем, как применять эти списки, нелишне будет их просмотреть. Например, мне, как мужчине ростом 176см и весом 72кг, абсолютно неинтересна тема "шеллаков", похудений и т.п., и любые письма с ними я грохаю без зазрения совести. То же самое относится ко всяким там вейпингам, косметике и прочей подобной бурде. Кто знает, может быть, вам это всё и нужно? :) Туда же всякие "работы" и прочие ресурсы, от которых нет никакого толку, но на которых я регистрировался лет десять назад и они задалбывают своим шлаком без нормальной возможности отписаться. Все спам-листы - инклюзивные; т.е., подразумевается не полное совпадение с фразой, а содержание фразы в том или ином поле. Например, строка "@kakaya-to-fignya.r" должна блокировать все адреса, что приходят с этого домена, в т.ч. и "vasya@kakaya-to-fignya.ru". Также обращаю внимание, что некоторые строки содержат пробелы в начале или конце строки - они тоже нужны, чтобы избежать ложной детекции.

Я поддерживаю списки в актуальном состоянии, обновляя их примерно раз в месяц. Формат - обычный текстовый, win-1251.

Спам-лист для поля Sender

Для горе-спамеров, которые светят свои домены прямо в адресе отправителя (таких немало).

Спам-лист для поля Subject

Строки для фильтрации по теме письма. Кому нужны эти долбаные кристаллы Swarowski? Просто отфильтруем их к чертям.

Спам-лист для поля Reply-To

Фильтрация "особо умных". В поле Sender прописывают лабуду, но Reply-To содержит правильный адрес для ответа, чтобы жертва могла пообщаться со спамером, просто ответив на письмо.

Спам-лист для поля Return-Path

Иногда, спам-письмо не предполагает ответа на него посредством электронной почты, а информация для связи даётся в письме. Телефоны, скайпы, вайберы, ссылки на страницы - вот это всё. "Умный клиент", который будет отвечать на письмо, спамеру в таких случаях не нужен (спамеру вообще умный клиент никогда не нужен). Поэтому - и Sender, и Reply-To содержат лабуду. Но есть Return-Path, на который спамеры-плебеи, не знающие стандарты отсылки писем и настройки почтовиков, просто не обращают внимание. Чаще всего он содержит правильный домен адреса, с которого осуществляется спам-рассылка. С Return-Path надо обращаться осторожно: он не всегда равен Sender, и это может быть вполне нормальной ситуацией для многих обычных писем. Но если в Return-Path засвечен домен, который ничем, кроме рассылки спама, не занимается - тут-то мы его и накроем.

Оригинал статьи на saanvi.ru (без купюр)