четверг, 12 ноября 2015 г.

О Greylist и спаме.

Намедни переносил свой почтовый сервер на обновленную ОСь. Всвязи с этим надо было проверить работу спам-фильтров. Их у меня двое - spamassassin & DSpam. Вспомнил, что пару лет назад "прикручивал" к серверу greylist, но по каким-то причинам забраковал. Решил, что надо бы освежить воспоминания о том, что это и как оно работает. Итак, Greylist работает следующим образом - каждому вновь пришедшему клиенту сервер довольно грубо говорит что-то типа "приходи через час", выставляя к примеру такую ошибку:
451 4.7.1 Please try again later
или
451 4.7.1 Greylisting in action, come back in x minutes (where x is a number)
Делается это в надежде, что спамеры не станут дожидаться "x minutes" и больше не придут.
В этом алгоритме налицо хамоватый подход. Нормальный клиентский MTA конечно же повторит попытку через запланированное время, но письмо на это время задержится в его очереди. Так же и чуть более грамотный спамер - скормит свою рассылку какому-нибудь нормальному MTA и спам таки будет доставлен невзирая на нашу хамоватость...

Написал скриптик, который с логов достает статистику по всей проходящей через сервер почте. По входящим SMTP сессиям получилась следующая картина:
Здесь мы видим, что 72% входящих сессий зарубаются сервером без всяких greylis'ов, просто "за нарушение протокола". Чаще всего это попытки отправить почту на несуществующие адреса (и почему-то через мой сервер) и попытки "поторопить" сервер. Здесь "поторопить" - это начать протокольное общение не дожидаясь выдачи приглашения к общению. Ну и 21% входящей почты отправился в спам-хранилище, для дальнейшего обучения фильтров.
И вот после такого исследования подумалось, что не нужен мне на сервере greylist для 28% оставшихся после отсеивания нарушителей правил. Пусть лучше фильтры учатся.

Да, снимая статы так же посчитал как работают фильтры. Получил следующий чарт:
На этой картинке за 100% приняты те сессии, которые сервер принял для доставки, те два куска на верхней диаграмме, которые не дропнулись из-за нарушения протокола, т.е. оставшиеся 28%. Поскольку DSpam работает пошустрее, он стоит в обработчиках первым, письма помеченные им как спам на вход spamassassin'а не попадают. Discarded - это когда spamassassin ставит 25 и более баллов.

Глядя на следущую диаграмму можно однозначно говорить, что спамом занимается полная "пионерия", которая не в курсе, как работает SMTP-протокол:
Здесь мы наблюдаем (как пакман пожирает правилных спамеров), что 77% спамеров - пионэры, не читающие документации по SMTP-протоколу. Полагаю, что и оставшиеся 23% не особо умудренные, просто пользуются более дорогим способом - нормальным MTA, который написан грамотными программистами и обязан соблюдать правила. Эти 23%, видимо, доросли до комсомольского возраста. А когда совсем повзрослеют - пойдут оплачивать нормальную рекламу.


Комментариев нет:

Отправить комментарий