
У меня Ubuntu 20.04 VPS (LEMP) и установлен iptables-persistent
. На этом сервере я установил fail2ban
и настроил для CloudFlare
запрета IP-адресов, забаненных fail2ban. Также я использую CSF. Я использую настраиваемый порт SSH и настраиваю его также через CSF. В jail.local
действии Fail2ban я использую " iptables-allports
".
Проблема в том, что когда Fail2ban запускает действие IPv6 ban, iptables-persistent не блокирует IPv6 IP. Например, если Fail2ban забанил мой IPv6, я все равно могу подключиться к своему VPS через SSH или SFTP. Но Cloudflare успешно заблокировал доступ HTTPS (порт 443 и порт 80).
Если Fail2ban запретил IPv4, этот IP-адрес успешно блокируется iptables-persistent (включая пользовательский порт SSH).
Есть ли способ исправить эту проблему с IPv6?
решение1
Проблема в том, что когда Fail2ban запускает действие запрета IPv6, iptables-persistent не блокирует эти IP-адреса IPv6.
Это не работает так, не говоря уже о том, iptables-persistent
что устроено по совершенно другим причинам, fail2ban не нуждается во всем этом. А если вы используете iptables-allports
banaction, fail2ban банит адреса IPv4, использующие iptables
и адреса IPv6, использующие ip6tables
.
Cloudflare — это совсем другое дело (не пытайтесь смешивать бананы и огурцы в одном выпуске).
Есть ли способ исправить эту проблему с IPv6?
- Обратите внимание, что поддержка IPv6 впервые реализована в fail2ban >= 0.10 (0.9 не поддерживает ее вообще).
- Видите ли вы
[jail] Ban <some-ip-v6>
fail2ban.log? - Если вы этого не сделаете, ваш фильтр/failregex не поддерживает IPv6 и не соответствует строкам. Вам следует найти разницу и исправить ее в failregex. Предоставьте отрывок журнала с отказами IPv6 и failregex, который вы установили в fail2ban для этого.
- Видите ли вы какие-либо ошибки в fail2ban.log, если IPv6 заблокирован?
- Видите ли вы записи о тюремных заключениях и запрещенных IPv6 в выводе
ip6tables -nL
?