Спам-боты, postfix и fail2ban

На моём сервере Postfix работает в качестве сервера исходящей почты, то есть только отправляет почту с сайтов. Естественно, открыт 25-ый порт. Но большую часть времени туда долбятся носом всякие боты, пытающиеся воспользоваться сервером, как открытым релеем. 🙂 Естественно, у них ничего не получается, ибо настроены правила. Но логи засоряют.

Некоторые боты подключившись, сразу обрывают соединение, толком не обменявшись с сервером информацией. В логи попадает нечто вроде этого:

Apr 8 21:15:20 omega postfix/smtpd[3075]: connect from unknown[189.158.233.139] Apr 8 21:15:21 omega postfix/smtpd[3075]: lost connection after UNKNOWN from unknown[189.158.233.139] Apr 8 21:15:21 omega postfix/smtpd[3075]: disconnect from unknown[189.158.233.139] Apr 8 21:16:00 omega postfix/smtpd[3075]: warning: hostname dsl-189-158-233-139-dyn.prod-infinitum.com.mx does not resolve to address 189.158.233.139: Name or service not known

Поскольку у меня также установлен fail2ban для борьбы с брутфорсом в блогах, то и решение нашлось довольно быстро. Этим и хочу поделиться с вами. 🙂

Прежде всего откройте конфигурационный файл фильтра для Postfix. Он находится в каталоге /etc/fail2ban/filter.d/postfix.conf. Найдите параметр failregex и с новой строки допишите следующее регулярное выражение:

^%(__prefix_line)sdisconnect from \S+\[\]

Сохраните файл. Теперь проверьте регулярку командой:

fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/postfix.conf

У меня в итоге выдало 100500 ip-адресов, в том числе и по стандартному правилу. 🙂

Последний шаг: откройте главный файл настроек /etc/fail2ban/jail.conf. Найдите директиву [postfix] и включите фильтр.

enabled = true

Перезапустите Fail2ban. На этом всё.

Оцените статью
avege.ru
Добавить комментарий