Настройка Fail2ban с IPv6

Приведу пример настройки Fail2ban для работы с IPv6 адресами.

Допустим Fail2ban уже установлен и работает с IPv4 адресами:
Установка и настройка Fail2ban

Посмотрим текущие правила для IPv6:

ip6tables -nvL

Создадим цепочку f2b-sshd в которую Fail2ban будет добавлять правила бана IP адресов, а также другие цепочки если необходимо:

ip6tables -N f2b-sshd
ip6tables -A f2b-sshd -j RETURN
ip6tables -N f2b-postfix-pregreet
ip6tables -A f2b-postfix-pregreet -j RETURN
ip6tables -N f2b-dovecot
ip6tables -A f2b-dovecot -j RETURN
ip6tables -N f2b-postfix
ip6tables -A f2b-postfix -j RETURN
ip6tables -N f2b-apache-badbots
ip6tables -A f2b-apache-badbots -j RETURN

В начало списка добавим правило:

ip6tables -I INPUT 1 -p tcp -m multiport --dports 22 -j f2b-sshd
ip6tables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Если IPv6 только настраивается и других правил больше нет, то добавим другие необходимые вам правила, например:

ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
ip6tables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
ip6tables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT

Укажем по умолчанию политику INPUT на DROP, чтобы блокировать все остальное что не разрешено:

ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT ACCEPT

Пример для других цепочек:

ip6tables -I INPUT 1 -p tcp -m multiport --dports 80,443,25,587,465,110,995,143,993,4190 -j f2b-postfix-pregreet

Сохраним правила, чтобы они не сбросились после перезагрузки:

ip6tables-save >/etc/iptables/rules.v6

IPv6 адреса удаляются из бана так же как и IPv4:

fail2ban-client set sshd unbanip 2000::::....

Оставьте комментарий

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