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

Почему FirewallD не блокирует IP-адреса с помощью правил отклонения?

Моя установка следующая:

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