headermask image

Фильтрация почты на сервере Postfix при помощи postgrey

Количество спама на моем сервере последнее время немного увеличилось, что стало напрягать меня и заставило задуматься о способах фильтрации и изучения софта для этого. Изучив кучу рукописных скриптов на просторах рунета понял что это не лучшее решение, так как в коментах почему то множество нелестных отзывов… Наткнулся на описание софтинки 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]

На этом настройка окончена, можно наслаждаться отсутствием немалой доли спама, результат меня сильно поразил….

Оригинал вроде тут.

vtoroy
Похожие посты
  • Установка Postgrey в Centos
  • Установка Postfix Admin в RHEL/CentOS 5
  • Postfix, установка двух копий на одном сервере.
  • Чуток переделал расцветку сайта
  • Настройка SSL для SMTP-сервера postfix (FreeBSD)
  • Postfix antispam при помощи RBL (DNSBL) и штатных средств
  • Разрешаем внешние подключения для postfix
  • Fallback relay. Ускоряем работу почты.
  • Подписываем и проверяем почту при помощи DomainKeys и DKIM в Postfix
  • Как сделать переадресация почты на внешнего адресата не создавая контакт с включенной поддержкой почты