Postgrey. Защищаем postfix от spamа.
«Серый список» (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, тут перечисленны адреса электронной почты, ваших пользователи, для которых не нужно применять фильтрацию.
Больше никаких настроек делать не нужно.



