Firewall

Описание

  • Весь сетевой трафик обрабатывается ядром с помощью netfilter

  • Netfilter руководствуется набором правил, который задается с помощью nftables (iptables до RHEL 8)

  • Так как nftables сложен в настройке, для него используется демон firewalld

  • nftables доступен для непосредственной настройки, но не рекомендуется

Компоненты firewalld:

  • Сервис (service) - XML файл, который содержит список портов, которые должны быть открыты для сервиса systemd, а также модули ядра, необходимые для загрузки, при открытии доступа к сервису systemd

  • Зона (zone) - конфигурация по-умолчанию, к которой могут быть привязаны сетевые адаптеры, для назначения специфичных настроек

    • По сути эти настройки определяют поведение на интерфейсах для внешних и внутренних сетей

  • Порт (port) - опциональные элементы, определяющие доступ к определенным портам

    • Не рекомендуется открывать просто порты, лучше делать это в привязке к конкретному сервису

[root@centos8 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens160
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 3000/tcp 8080/tcp
  protocols: 
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

В данном примере:

  • public (active) - текущая зона и ее статус

  • interfaces - интерфейс в этой зоне

  • services - службы, для которых есть правило в этой зоне

  • ports - открытые порты

Настройка firewall-cmd

  • firewall-cmd - утилита для изменения настроек фаерволла

  • Для применения настроек с сохранением после перезагрузки необходимо использовать ключ --permanent

  • Посмотреть различные параметры можно через --get-

  • firewall-cmd --add-service <service_name> - добавляет сервис в правила

  • Необходимо не забывать о флаге --permanent

  • После изменения настроек firewall-cmd необходимо перезагрузить

Использование firewall-config

  • firewall-config - утилита для настройки фаерволла при помощи GUI

  • Не входит в стандартный набор и требует установки из официального репозитория

Last updated

Was this helpful?