Почему 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.

1 ответ

В Debian/Ubuntu нет запрета по умолчанию для firewalld, потому что это не брандмауэр по умолчанию для этих дистрибутивов.

Вы должны установить banaction = firewallcmd-ipset, чтобы создать ipset, в который fail2ban вставит запрещенные адреса и который затем будет вызываться из брандмауэра. Системы Red Hat уже включают этот бит конфигурации, потому что они используют firewalld по умолчанию. Таким образом, вы можете просто создать тот же файл, который они включают в /etc/fail2ban/jail.d/00-firewalld.conf

[DEFAULT]
banaction = firewallcmd-ipset
Другие вопросы по тегам