После того, как количество ежедневно приходящего спама стало уже реально напрягать, я озаботился методами борьбы с ним. На сервере у меня стоит Postfix. В качестве экспериментального метода борьбы была избрана технология серых списков (grey lists). Почитать подробнее можно здесь. В двух словах: при использовании данного механизма в случае соединения с вашим почтовым сервером, он не будет принимать почту сразу, а занесет IP-адрес сервера-отправителя в серый список; самому же отправителю (серверу) вернется ошибка «сервис временно недоступен». Далее: если через некоторое время сервер-отправитель повторит попытку — он считается добропорядочным почтовым сервером, и его IP-адрес заносится в белый список, — а в дальнейшем письма от него будут приниматься уже сразу (минуя искусственную задержку).

Механизм серых списков на Postfix можно организовать разными вспомогательными средствами. Я для себя выбрал PostGrey. Выбор был быстрым и стремительным — скачал первое на что наткнулся, настроил — работает. Скачать данный плагин можно на странице автора: http://postgrey.schweikert.ch/

Сам PostGrey писан на Perl, и требует для своей работы такие модули:

Инсталляции скрипт не требует — все делается довольно просто и быстро. Вопреки рекомендациям, я не стал распаковывать его в отдельный каталог, а закинул прямо в /etc/postfix — где располагаются конфиги самого Postfix.

Конфигурируем  PostGrey: тут всего два файла. Это postgrey_whitelist_clients и postgrey_whitelist_recipients. В первом файле нужно указать домены, которые мы априори считаем «чистыми» — белый список отправителей. Во втором файле нужно указать домены (ящики), на которые к нам приходит почта. Дальше нужно открыть сам скрипт и указать куда складировать результаты его работы — например, /var/spool/postfix/postgrey — права и владельца на него нужно указать таким образом, чтобы postgrey имел туда полный доступ. Запуск скрипта осуществляется примерно таким образом

/etc/postfix/postgrey —inet=127.0.0.1:10023 —group=postdrop —user=postfix —daemonize

Конфигурирование Postfix: тут надо сходить в файл /etc/postfix/main.cf и добавить там в параметр smtpd_recipient_restrictions после фразы reject_unauth_destination фразу check_policy_service inet:127.0.0.1:10023  — после чего рестартовать Postfix.

После упомянутых манипуляций мы получим слушающий на порту 10023 скрипт Postgrey, и перенаправление входящей почты Postfix’ом на него. Точнее, — применения политики серых списков.

Эффективность такого метода меня приятно удивила — спама не стало практически вовсе. Если раньше за сутки сыпалось до нескольких сотен единиц всякого мусора, то теперь это 1-2 за несколько дней.

Мой блог находят по следующим фразам





Опубликовать в twitter.com

0