Изначально в качестве greylist использовались программы postgrey и policyd, при чем последний может хранить собранную статистику в SQL базе и зарекомендовал себя очень не плохо. Начиная с версии 2.8 в postfix появился демон postscreen, который принимает все входящие соединения, производит набор проверок и либо отбрасывает соединения, либо передает их дальше на реальный smtp-демон postfix. Основное назначение postscreen — борьба с «зомби» (они же спам-ботнет). Более подробно о принципе работы postscreen, его проверках и т.д. можно прочитать на официальной странице
В postfix версии 2.8.7 и ниже, при использовании postscreen наблюдается проблема, описанная в статье Postscreen и ошибка All server ports are busy. Решения этой проблемы в виде изменения/добавления каких-либо параметров или патча не удастся. Решением может послужить установка нового релиза демона postfix.
И так, перейдем к настройке
Для включения механизма серых списков необходимо в файле master.cf нужно закомментировать строку:
| 1 2 3 | smtp      inet  n       -       n       -       -       smtpd | 
Затем раскомментировать строки:
| 1 2 3 4 5 6 | smtp      inet  n       -       n       -       1       postscreen smtpd     pass  -       -       n       -       -       smtpd dnsblog   unix  -       -       n       -       0       dnsblog tlsproxy  unix  -       -       n       -       0       tlsproxy | 
Далее в файле main.cf добавить следующее параметры
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | postscreen_access_list =      permit_mynetworks,      cidr:/etc/postfix/access/client_access.cidr # реакция postscreen на адрес, помещенный в черный список postscreen_blacklist_action = enforce # порог веса, выше которого  соединения будут блокироваться postscreen_dnsbl_treshold = 3 # список dnsbl-серверов с весами postscreen_dnsbl_sites =  b.barracudacentral.org=127.0.0.[2..11]*2  dialups.mail-abuse.org=127.0.0.[2..11]*2  bl.spamcop.net=127.0.0.[2..11]*2  zen.spamhaus.org=127.0.0.[2..11]*2  cbl.abuseat.org=127.0.0.[2..11]*2  sbl.spamhaus.org=127.0.0.[2..11]*2  cbl.abuseat.org=127.0.0.[2..11]*2  zombie.dnsbl.sorbs.net=127.0.0.[2..11]*2  work.rsbs.express.ru=127.0.0.[2..11]*2  dnsbl.sorbs.net=127.0.0.[2..11]*1  dsn.rfc-ignorant.org=127.0.0.[2..11]*2  dul.dnsbl.sorbs.net=127.0.0.[2..11]*2  sbl-xbl.spamhaus.org=127.0.0.[2..11]*2  ix.dnsbl.manitu.net=127.0.0.[2..11]*2  combined.rbl.msrbl.net=127.0.0.[2..11]*2  rabl.nuclearelephant.com=127.0.0.[2..11]*2  zen.spamhaus.org=127.0.0.[2..11]*3  b.barracudacentral.org=127.0.0.[2..11]*2 # реакция postscreen на адрес, получивший вес больше порога postscreen_dnsbl_action = enforce # сообщение о паузе перед началом SMTP-диалога postscreen_greet_banner = Greylist in progress. Please wait... # реакция postscreen на адреса, начавшие диалог до завершения паузы postscreen_greet_action = drop # настройка паузы перед началом SMTP-диалога postscreen_greet_wait = ${stress?4}${stress:7}s # размер очередей postscreen_post_queue_limit = 300 postscreen_pre_queue_limit = 300 | 
В файле client_access.cidr можно указать постоянный белый/черный список IP-адресов в виде:
| 1 2 3 4 5 6 | IP.AD.DR.ES1     permit IP.AD.DR.ES2     reject IP.AD.DR.ES3     dunno | 
После чего необходимо перезапустить демон MTA





 Загрузка...
 Загрузка...