Моя установка следующая:
fail2ban
с некоторыми тюрьмами (работает нормально), используя FirewallD
чтобы заблокировать пойманные IP-адреса.
Вот мой брандмауэр по умолчанию:
myzone
target: default
icmp-block-inversion: no
interfaces:
sources:
services: rcsa dhcpv6-client http https
ports: 80/tcp 443/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="79.48.51.171" port port="3306" protocol="tcp" accept
rule family="ipv4" source address="155.121.53.253" port port="22" protocol="tcp" accept
rule family="ipv4" source address="79.48.51.171" port port="22" protocol="tcp" accept
Итак, порты 80 и 443 / tcp открыты.
Затем я запускаю некоторые правила fail2ban (с использованием онлайн-прокси) и получаю это в брандмауэре:
myzone
target: default
icmp-block-inversion: no
interfaces:
sources:
services: rcsa dhcpv6-client http https
ports: 80/tcp 443/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="79.48.51.171" port port="3306" protocol="tcp" accept
rule family="ipv4" source address="155.121.53.253" port port="22" protocol="tcp" accept
rule family="ipv4" source address="79.48.51.171" port port="22" protocol="tcp" accept
rule family="ipv4" source address="37.58.58.206" port port="http" protocol="tcp" reject type="icmp-port-unreachable"
rule family="ipv4" source address="37.58.58.206" port port="https" protocol="tcp" reject type="icmp-port-unreachable"
Итак, добавлено 2 новых правила. Хорошо. Тем не менее, этот IP не отклонено вообще и продолжает заливать мой сервер, несмотря на эти правила в FirewallD.
Что-то не так? Я перехожу с UFW на FirewallD.
В Debian / Ubuntu нет запрета по умолчанию для firewalld, потому что это не брандмауэр по умолчанию для этих дистрибутивов.
Вы должны установить banaction = firewallcmd-ipset
, чтобы создать ipset, в который fail2ban будет вставлять заблокированные адреса и который затем будет вызываться из брандмауэра. Системы Red Hat уже включают этот бит конфигурации, потому что по умолчанию они используют firewalld. Таким образом, вы можете просто создать тот же файл, который они включают, на /etc/fail2ban/jail.d/00-firewalld.conf
[DEFAULT]
banaction = firewallcmd-ipset