Количество спама на моем сервере последнее время немного увеличилось, что стало напрягать меня и заставило задуматься о способах фильтрации и изучения софта для этого. Изучив кучу рукописных скриптов на просторах рунета понял что это не лучшее решение, так как в коментах почему то множество нелестных отзывов… Наткнулся на описание софтинки greylistd который прикручивается к exim, но у меня установлен postfix и это решение меня не устроило, но была найдена альтернатива для моего дистрибутива почтовика, называется она postgrey. Все Функции данной софтинки сводятся к простому reject’y почты от неизвестных ей отправителей на 5 минут и сообщении об этом с ссылкой на страничку где это и сообщается. По прошествии пяти минут при повторном обращении письмо пропускается.
Установка и настройка займет у Вас не более 5 минут, пакет имеется в стандартных репозиториях Ubuntu, Debian, и в других дистрибутивах Linux.
Установим пакет
Код:
aptitude install postgrey
Проверим работает ли демон
Код:
netstat -pan |grep 60000
Если все хорошо то вы увидите примерно следующее:
Код:
tcp 0 0 127.0.0.1:60000 0.0.0.0:* LISTEN 20345/postgrey.pid
Далее вы можете отредактировать конфиг файлы postgrey, они находятся в каталоге /etc/postgrey , вы найдете там два файла whitelist_clients и whitelist_recipients в первом файле содержится список хостов которым разрешено присылать вам почту без пятиминутной задержки, во втором файле хранятся ящики на которые письма будут так же приходить без всяких задержек. В принципе программа готова к работе сразу после установки, настроить дополнительные разрешенные сети можно позже.
Для объединения postfix и postgrey необходимо добавить одну строку в конфигурационный файл postfix Отредактируйте файл /etc/postfix/main.cf откройте его в редакторе, найдите строку smtpd_recipient_restrictions = и добавьте в ее конец запятую и check_policy_service inet:127.0.0.1:60000 что бы в результате у вас вышло примерно так
Код:
[....]
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,check_policy_service inet:127.0.0.1:60000
[....]
Теперь перезапустим postfix и postgrey
Код:
/etc/init.d/postfix reload
/etc/init.d/postgrey restart
После этого заглянем в логи, там видны результаты работы postgrey
Код:
Jun 23 21:25:43 main-server postfix/smtpd[25432]: connect from ppp85-140-71-65.pppoe.mtu-net.ru[85.140.71.65]
Jun 23 21:25:45 main-server postgrey[20345]: action=greylist, reason=new, client_name=ppp85-140-71-65.pppoe.mtu-net.ru, client_address=85.140.71.65, sender=pebbledt602@coe-co.com, recipient=XXXXXX@sudouser.com
Jun 23 21:25:45 main-server postfix/smtpd[25432]: NOQUEUE: reject: RCPT from ppp85-140-71-65.pppoe.mtu-net.ru[85.140.71.65]: 450 4.2.0: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/sudouser.com.html; from= to= proto=ESMTP helo=<08a50730d9ad491>
Jun 23 21:25:48 main-server postfix/smtpd[25432]: lost connection after DATA (0 bytes) from ppp85-140-71-65.pppoe.mtu-net.ru[85.140.71.65]
Jun 23 21:25:48 main-server postfix/smtpd[25432]: disconnect from ppp85-140-71-65.pppoe.mtu-net.ru[85.140.71.65]
На этом настройка окончена, можно наслаждаться отсутствием немалой доли спама, результат меня сильно поразил….
Оригинал вроде тут.