Postfix: регулировать входящий трафик для злоупотребленных получателей
Я хотел бы ввести ограничения для каждого получателя для входящей почты на наших серверах Postfix MX, но я не знаю, что использовать для этого. Документы Postfix и поиски в Google дадут мне только конфигурационные рецепты для настройки (глобальной) входящей параллельной или дроссельной почты, поступающей из Postfix.
Например, если данный получатель получил более 1000 писем за последние 60 секунд, мы заблокируем его временными кодами ошибок на следующие 60 минут.
До сих пор я ничего не нашел и пропустил другие варианты, я, вероятно, попытался бы собрать воедино что-то, что сканирует файлы журнала и редактирует Postfix check_recipient_access
список доступа.
[если кто-то собирается спросить причину, это спам-почта, приходящая с обычно законных серверов (с хорошей репутацией IP, хорошими записями PTR, отсутствующими ни в одном RBL и т. д.) по указанному адресу одного получателя. Мы были затоплены пару раз, и нашим серверам amavis потребовалось много времени, чтобы очистить очередь, мы хотели бы предотвратить это наводнение]
2 ответа
В качестве альтернативы написанию собственного демона политики вы можете использовать почтовый фильтр, такой как milter-limit. Кажется, делает именно то, что вы хотите. Я не использовал это сам, но я использовал другие milters от snertsoft, и они хорошо работали с postfix.
Сначала я подумал об использовании наковальни и каких-то _rate_limits. Но это не то, что вы ищете (1000 писем в течение 60 секунд могут поступать из разных источников).
Я полагаю, вы могли бы установить это с делегированием политики и вашим собственным конкретным сценарием, как с Greylisting, где некоторые конкретные условия учитываются и применяются. Вот пример шаблона демона политики. Таким образом, вы очень гибки, например, вносите в белый список некоторые IP-адреса, клиенты или серверы и выполняете вычисления в реальном времени, не просматривая лог-файлы.