Назад | Перейти на главную страницу

Postfix: ограничение входящего трафика для злоупотребляющих получателей

Я хотел бы установить ограничения для каждого получателя для входящей почты на наши серверы Postfix MX, но я не знаю, что использовать для этого. Документы Postfix и поиск в Google дадут мне только рецепты конфигурации для настройки (глобального) входящего параллелизма или ограничения количества писем, исходящих из Postfix.

Например, если данный получатель получил более 1000 писем за последние 60 секунд, мы заблокируем его временными кодами ошибок на следующие 60 минут.

Пока я ничего не нашел и пропустил другие варианты, я бы, вероятно, попытался взломать что-то, что сканирует файлы журналов и редактирует Postfix check_recipient_access список доступа.

[если кто-то собирается спросить причину, это спам, приходящий с обычно законных серверов (с хорошей репутацией IP, хорошими записями PTR, отсутствующими в каких-либо RBL и т. д.) на заданный адрес единственного получателя. Пару раз мы были переполнены, и нашим серверам amavis потребовалось много времени, чтобы очистить очередь, мы хотели бы предотвратить это наводнение]

В качестве альтернативы написанию собственного демона политики вы можете использовать почтовый фильтр, например milter-limit . Кажется, он делает именно то, что вы хотите. Сам я им не пользовался, но использовал другие milters от snertsoft, и они отлично работали с postfix.

Сначала я подумал об использовании наковальня и какие-то _rate_limits. Но это не то, что вы ищете (1000 писем в течение 60 секунд могут приходить из разных источников).

Я думаю, вы могли бы настроить это с помощью политическое делегирование и ваш собственный конкретный сценарий, как и в случае с серыми списками, в котором учитываются и выполняются определенные условия. Вот пример шаблон демона политики. Таким образом, вы очень гибки, например занести в белый список некоторые IP-адреса, клиенты или серверы и выполнять вычисления в реальном времени, не просматривая файлы журналов.