Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
nginx + mai + dnsrbl + blacklisting + MTA (postfix)
Предполагалось использовать nginx как фронтенд к postfix для отсеивания спама
на ранних этапах при помощи белых/черных списков и DNSRBL. Таким образом
значительная часть соединений были бы корректно закрыты nginx до их
поступления в postfix (сам он с этим не очень хорошо справляется на слабых
машинах).
Что я сделал:
Я прикрутил к модулю mail возможность проверять соединения по белым/черным
спискам (которые хранятся в файле, и перезагружаются при его изменении), по
спискам dnsrbl-сервером, при этом каждому серверу назначается некоторый "вес"
и если сумма весов сработавших dnsrbl превышает некоторое (тоже заданное)
значение - соединение отвергается.
В обоих случаях на другой конец отправляется уведомление и причина разрыва
соединения.
Если соединение не было отвергнуто nginx, то он переключается в режим прокси,
в том числе передавая команду XCLIENT с указанием реального отправителя.
Так же я открутил http-авторизацию, т.к. с ней отлично справляется и сам
postfix (на самом деле просто не хотелось что-то в нем трогать :)) ).
В чем проблема:
Для того, что бы это сделать я переломал весь модуль mail, т.к. не сразу понял
как вообще работает nginx. Сейчас передо мной стоит делема: либо допилить
mail, добавив в него эти возможности, либо оформить отдельный модуль, что
порекомендуете?
P.S. Если кому-то надо было решить точно такую же проблему - обращайтесь,
поделюсь исходниками еще до того, как выложу конечный патч (или модуль).
Работает более-менее стабильно :)))
Attachment:
signature.asc
Description: This is a digitally signed message part.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|