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

И снова решил немного улучить систему фильтрации спама на работе. Посредством так называемых “Серых списков“.

Идею о этом дал мой “препод” по Cisco Бурковец Дмитрий.

“Работает эта технология следующим образом. Есть списки так называемых “белых” почтовых серверов, с которых почта приходит сразу и без проблем. Если почта приходит с незнакомого сервера, то он считается “серым” (grey) и ему сообщается, что мы пока не можем принять его почту - то есть имитируем так называемые временные проблемы приема (tempfail). Расчет идет на то, что по стандарту почтовые роботы после получения подобного отлупа должны повторить попытку доставить письмо. Принимающая сторона обычно ждет какое-то ограниченное время - например, дает отправляемой стороне “окно” в 4 часа. Если за это время вторая попытка не состоится - сервер остается в “черном” списке. Если состоится, то его заносят в “белый” список и больше не проверяют (или не проверяют в течение какого-то срока - например, в течение месяца). Вот и вся система. В чем суть? В том, что почтовые роботы спамеров, как правило, работают по принципу: отправил - а там трава не расти. То есть они не будут перепосылать заново письма со своим чертовым спамом, получив сообщение о проблемах приема.” - сказал Дмитрий.

Я немного задумался и решил реализовать у себя подоную систему на работе.Темболее такаяже система стоит и у нашего интернет провайдера “Sacura“.

Нуссс… Приступимссс….

Устанавливаем саму программу:

sudo apt-get install postgrey

Далее мы можем отредактировать конфиги postgrey, они находятся в каталоге /etc/postgrey , там два файла whitelist_clients и whitelist_recipients в первом файле содержится список хостов которым разрешено присылать нам почту без пятиминутной задержки, во втором файле хранятся ящики на которые письма будут так же приходить без всяких задержек.

Далее отредактируем файл /etc/postfix/main.cf в строке smtpd_recipient_restrictions = добавим в ее конец запятую и check_policy_service inet:127.0.0.1:60000 (также не забудем что обезательно перед словом permit иначе не будет работать).

Теперь перезапустим postfix и postgrey

sudo /etc/init.d/postfix reload
sudo /etc/init.d/postgrey restart

После этого заглянем в логи, там видны результаты работы postgrey

Nov 21 11:30:40 server postfix/smtpd[23433]: NOQUEUE: reject: RCPT from wind.pbank.com.ua[xxx.xxxx.xx.xxx]: 450 4.7.1 : Recipient address rejected: Greylisted, see http://isg.ee.ethz.ch/tools/postgrey/help/mashzavod.com.html; from= to= proto=ESMTP helo=

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

Статейка взята с: http://arabuntu.cv.ua/filtraciya-pochty-na-servere-postfix-pri-pomoshhi-postgrey/