Боремся со спамом: Postfix + GreyListing
После того, как количество ежедневно приходящего спама стало уже реально напрягать, я озаботился методами борьбы с ним. На сервере у меня стоит Postfix. В качестве экспериментального метода борьбы была избрана технология серых списков (grey lists). Почитать подробнее можно здесь. В двух словах: при использовании данного механизма в случае соединения с вашим почтовым сервером, он не будет принимать почту сразу, а занесет IP-адрес сервера-отправителя в серый список; самому же отправителю (серверу) вернется ошибка «сервис временно недоступен». Далее: если через некоторое время сервер-отправитель повторит попытку — он считается добропорядочным почтовым сервером, и его IP-адрес заносится в белый список, — а в дальнейшем письма от него будут приниматься уже сразу (минуя искусственную задержку).
Механизм серых списков на Postfix можно организовать разными вспомогательными средствами. Я для себя выбрал PostGrey. Выбор был быстрым и стремительным — скачал первое на что наткнулся, настроил — работает. Скачать данный плагин можно на странице автора: http://postgrey.schweikert.ch/
Сам PostGrey писан на Perl, и требует для своей работы такие модули:
- Perl (version ? 5.6.0)
- Net::Server
- IO::Multiplex
- BerkeleyDB (Perl module)
- Berkeley DB (Library, version ? 4.1)
Инсталляции скрипт не требует — все делается довольно просто и быстро. Вопреки рекомендациям, я не стал распаковывать его в отдельный каталог, а закинул прямо в /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 за несколько дней.
Мой блог находят по следующим фразам
- ключ к играм алавар
- бот для отправки сообщений вконтакте
- скачать бесплатно универсальный ключ к играм от Алавар
- как вернуть прежнюю прошивку iphone
- как удалить анкету с однаклассников ру с новым интерфейсом
- ключи к алавар играм
