Использование fail2ban для блокировки smtp
Я настроил рабочее реле SMTP вместе с MailScanner. Этот SMTP-ретранслятор не может и не сможет ретранслировать электронную почту извне, только локальную электронную почту.
Мы предоставляем SMTP-ретранслятор для наших клиентов, чтобы они могли получать уведомления, например, со своего сайта Wordpress. Но иногда - как вы все знаете, сайты будут взломаны и могут начать рассылать спам по электронной почте (10 КБ / час). Я хочу использовать fail2ban, чтобы заблокировать сервер для этого.
Например: сайт клиентов был взломан, и один из их хостов рассылает спам по электронной почте. Fail2Ban обнаруживает флуд и блокирует весь трафик на порту 25 с этого сервера - и отправляет мне электронное письмо, что "Сервер B был заблокирован из-за smtp-флуд".
Как этого достичь?
2 ответа
Когда вы используете postfix, посмотрите на конфигурацию наковальни: она позволяет ограничивать соединения (без электронной почты). Затем вы можете использовать fail2ban, чтобы прочитать журналы постфикса, сбросить соединение и сообщить вам об этом по почте (см. http://www.postfix.org/postconf.5.html).
Я обнаружил, что могу заблокировать это с помощью iptables:
-A ВХОД -p tcp -m tcp --dport 22 -m состояние --state NEW -m недавно --update --seconds 60 --hitcount 4 --name DEFAULT --rsource -j DROP -A INPUT -p tcp -m tcp --dport 22 -m состояние --state NEW -m последние --set --name DEFAULT --rsource
Если клиент отправляет более 4 писем в минуту, он блокируется.