Спам-боты, 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. На этом всё.

Добавить комментарий

  1. Антон

    Классические недостатки таких хавту — что они ничего необъясняют.
    Сделайте то, найдите это и так далее, а что оно делает — ни слова.

    Как здесь, например —

    «…Найдите параметр failregex и с новой строки допишите следующее регулярное выражение:
    ^%(__prefix_line)sdisconnect from \S+\[\]
    Сохраните файл. Теперь проверьте регулярку командой:
    fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/postfix.conf …»

    В сущности, информация, которая ничему не учит.

    Ответить
  2. guest

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

    Ответить