Extra Systems Ban Software (ESBANS)

Модуль es-postfix

Модуль es-postfix был разработан компанией Extra Systems для защиты mail-сервера postfix от хакерской и спамерской активности в рамках системы fail2ban. Суть его деятельности заключается в выявлении подозрительной активности в файле /var/log/mail.log.

Подключение es-postfix к fail2ban производится таким способом:

[es-postfix]
enabled  = true
filter   = es-postfix
logpath  = /var/log/mail.log
action   = iptables-allports[name=es-postfix, blocktype=DROP, protocol=all]

Обратите внимание на тот факт, что данный фильтр блокирует для изобличенного хакера (или спамера) все протоколы на всех портах, причем делает это по методу DROP - что превращает после этого ваш хост в абсолютно "черную дыру" для данного конкретного злоумышленника. Ни на один свой последующий IP-пакет он не получит вообще никакого ответа. Таким образом нами обеспечивается значительная экономия ресурсов вашего сервера.

Код нашего фильтра es-postfix имеет такой вид:

[Definition]
failregex = ^.*postfix/smtpd\[\d+\]: disconnect from unknown\[<HOST>\]\s
            ^.*dovecot: (?:imap|pop3)-login: Disconnected: Connection closed \(no auth attempts in \d+ secs\): user=<>, rip=<HOST>, lip=.*$
            ^.*dovecot: (?:imap|pop3)-login: Disconnected: Connection closed: read\(size=\d+\) failed: Connection reset by peer \(no auth attempts in \d+ secs\): user=<>, rip=<HOST>, lip=.*$
            ^.*postfix/(?:submission/)?smtpd\[\d+\]: disconnect from \S+\[<HOST>\] commands=0/0$
            ^.*postfix/smtpd\[\d+\]: NOQUEUE: reject: RCPT from unknown\[<HOST>\]: 450 4.7.1 Client host rejected: cannot find your reverse hostname.*$
            ^.*dovecot: imap-login: Disconnected: Connection closed: SSL_accept\(\) failed:.*rip=<HOST>, lip=.*$
            ^.*postfix/smtpd\[\d+\]: warning: hostname \S+ does not resolve to address <HOST>: Name or service not known$
            ^.*postfix/smtpd\[\d+\]: NOQUEUE: reject: RCPT from unknown\[<HOST>\]: 450 4.7.25 Client host rejected: cannot find your hostname.*$
            ^.*postfix/smtpd\[\d+\]: warning: \S+\[<HOST>\]: SASL LOGIN authentication failed: authentication failure$
            ^.*postfix/smtpd\[\d+\]: NOQUEUE: reject: RCPT from \S+\[<HOST>\]: 554 5.7.1 Service unavailable; Client host \[\S+\] blocked using .*$
            ^.*postfix/(?:submission/)?smtpd\[\d+\]: warning: non-SMTP command from \S+\[<HOST>\]: .*$
            ^.*postfix/submission/smtpd\[\d+\]: disconnect from \S+\[<HOST>\] ehlo=0/1 commands=0/1$
ignoreregex =

В условиях практической эксплуатации на наших Linux-серверах данный фильтр показал очень высокую эффективность в деле подавления хакерской и спамерской активности в рамках mail-сервера postfix.


© Extra Systems, 2026 Extra Web Top