Назад | Перейти на главную страницу

Debian с iptables и fail2ban не запрещает IP

У меня есть сервер с Debian 9. Я установил fail2ban и настроил его. Он работает с sshd (запрещает IP при неудачных попытках входа в систему), но я не могу заставить его работать с apache-auth (IP запрещен, но iptables не блокирует его).

jail.local выглядит так:

[DEFAULT]
bantime  = 720h
findtime  = 60m
banaction = iptables
mta = sendmail
destemail = my-email@example.com
action = %(action_mw)s
maxretry = 2

[sshd]
enabled = true

[apache-auth]
enabled = true

Когда я запускаю compand:

fail2ban-client status sshd

он показывает забаненный IP. Когда я запускаю команду:

iptables -L -n

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

Когда я бегу:

fail2ban-client status apache-auth

Показывает бан IP (меня).

iptables -L -n

Не показывать IP-адреса из предыдущего списка. Могут быть важные показы iptables:

Chain f2b-apache-auth (0 references)

И я все еще могу подключиться к серверу через WWW. Точно такая же проблема была у меня с nginx, поэтому я переключился на apache, я думал, что это решит мою проблему.

Я нашел решение!

[apache-auth]
enabled = true
action   = iptables-multiport[port="http,https"]
port     = http,https

«действие» отсутствовало. fail2ban отправлял диапазон портов, а iptables ожидал один порт ... после добавления такого "действия" все работает отлично.

Так что можно сказать, что проблема решена.

@Jonas Eberle - ваш конфиг есть во всех уроках, к сожалению, тоже не работал :(

Моя часть jail.conf для apache выглядит немного иначе

[apache]
enabled  = true
port     = http,https
filter   = apache-auth
logpath  = /var/log/apache*/*error.log
maxretry = 6

Вы можете найти загруженную конфигурацию с помощью

fail2ban-client -d

Вы сказали, что тестируете локально. Убедитесь, что ваш IP-адрес не указан в сетевой маске, указанной в ignoreip.

Поскольку действие, вероятно, запускается в вашем случае, найдите запись actionban там и посмотрите, действительно ли он добавляет желаемое правило iptables.

Может быть var/log/fail2ban.log есть дополнительная информация?