Postgrey. Защищаем postfix от spamа на FreeBSD

«Серый список» (greylist), один из очень простых, но в то же время эффективных систем защищающих от SPAM. Идея очень простая, спамеру необходимо отправить максимальное количество почты, спам чаще всего рассылается из «зомбированного» компьютера, с помощью «троянского коня», реализовывать полноценный SMTP сервер в трояне никто не будет, поэтому дисковая очередь отправки сообщений, чаще всего полностью отсутствует. А почтовый сервер при первом получении соединения, откажется принять сообщение, вернув 400-тую ошибку. 400-тые ошибки означают временный отказ почтовой системы и сигнализируют удаленному почтовому серверу, повторить отправку позже. Обычно это позже означает, через примерно 30 минут. Но если дисковый spool отсутствует, повторная отправка уже не состоится. В общем простая и эффективная система защиты от SPAMа.

Одна из реализация его для postfixа, postgrey. Установим его из портов:

cd /usr/ports/mail/postgrey/

make install clean

Установка не задает дополнительных вопросов. Соответственно собирается все быстро и легко.

Теперь разрешим его запуск:

echo "postgrey_enable=YES" >> /etc/rc.conf

и естественно запустим:

/usr/local/etc/rc.d/postgrey start

Ну а теперь нужно настроить postfix. Postfix состоит из целого ряда компонент, которые управляются центральным процессом master. За прием сообщений из вне, отвечает smtpd, соответственно, проверку greylist, необходимо указать в его рестрикшенах, для этого нужно найти такую строку в main.cf:

smtpd_recipient_restrictions =

permit_mynetworks,

reject_unauth_destination,

reject_non_fqdn_sender,

reject_non_fqdn_recipient,

reject_unauth_pipelining,

reject_invalid_hostname

и добавим в конце обращение к posgrey, теперь это в main.cf postfixа примет такой вид:

smtpd_recipient_restrictions =

permit_mynetworks,

reject_unauth_destination,

reject_non_fqdn_sender,

reject_non_fqdn_recipient,

reject_unauth_pipelining,

reject_invalid_hostname,

check_policy_service inet:127.0.0.1:10023

Теперь перегрузим конфигурацию postfix, ну что бы новые настройки применились:

postfix reload

В общем настройка postgrey для postfix закончилась. Все должно нормально заработать, но в каждой компании наверняка найдется человек, который начнет нудеть, что почта ходит плохо, теряются важные письма и тд и тп. Да и просто, у вас наверняка найдутся коллеги, фильтровать почту от которых смысла нет.

Для этого в postgrey присутствуют 2 файла postgrey_whitelist_clients, в него вы можете внести ip адреса серверов отправителей, для которых не нужно осуществлять проверку «серым» списком и postgrey_whitelist_recipients, тут перечисленны адреса электронной почты, ваших пользователи, для которых не нужно применять фильтрацию.

Больше никаких настроек делать не нужно.

http://www.hilik.org.ua/postgrey-защищаем-postfix-от-spamа/

Обновлено: 12.03.2015