2

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

Найти IP-адрес отправителя спама и заблокировать его очень просто, но у меня все еще есть десятки тысяч спам-писем в очереди почты, часто с разными адресами отправителя.

Когда я печатаю почтовую очередь, используя postqueue -p она отображает почтовый идентификатор, адрес электронной почты отправителя и всех получателей. Он не отображает IP-адрес отправителя.

Я могу найти IP-адрес отправителя, запустив:

postcat -q ABCDEF1234 | egrep "\\bclient_address="

Где "ABCDEF1234" - это почтовый идентификатор.

Я написал инструмент, который перечисляет все почтовые идентификаторы, затем просматривает их, выполняя postcat -q для каждого и отфильтровывая те, которые не соответствуют входному идентификатору.

Это работает, но это очень медленно. Фильтрация почтовой очереди с 441 электронным письмом занимает 7-8 секунд. Если я попытаюсь отфильтровать спам-очередь с десятками тысяч писем, этот инструмент окажется бесполезным.

Я надеюсь, что есть какой-то инструмент или флаг, о котором я не знаю, и давайте отфильтруем по IP-адресу отправителя.


Я использую Postfix 2.10

0