Firewalld
Je nástroj pro dynamickou správu firewallu s podporou síťových zón, které definují úroveň důvěry síťových spojení. Podporuje rovněž IPv4, IPv6, ethernetové mosty a sady IP adres. Poskytuje také rozhraní pro přidávání pravidel napřímo jako služby a aplikace. Více o tomto nástroji se dočtete na firewalld.org.

Obsah:
Kde jej najdeme?
Firewalld je použit v následujících linuxových distribucích jako základní nástroj správy firewallu:
- RHEL 7 a novějších
- CentOS 7 a novějších
- Fedora 18 a novějších
- SUSE 15 a novějších
- OpenSUSE 15 a novějších
Níže jsou aplikace a knihovny podporující firewalld:
- NetworkManager
- libvirt
- podman
- docker
- fail2ban
Konfigurační soubory
Pro nastavení firewallu můžeme využít definice zón, služeb a sad IP adres. V /etc/firewalld/ najdeme tyto adresáře, které obsahují nastavení daných komponent. Důležité tedy pro nás jsou:
Firewalld.conf
Obsahuje základní nastavení a definice firewallu, důležitá je pro nás řádka:
DefaultZone=public
Ipsets
Obsahem tohoto adresáře jsou sady IP adres, u kterých můžeme později určit zda budou blokovány anebo povoleny.
Vytvořím si například soubor whitelist.xml, který bude sloužit k zápisu lokálních a povolených adres:

Pro blokování některých IP adres si vytvořím soubor blacklist.xml s obsahem adres:

Services
Slouží pro konfigurační soubory jednotlivých služeb, můžeme využít stávající služby anebo vytvořit nový název služby s pravidly. Příklad pro službu SSH vypadá následovně, vytvořím soubor ssh.xml a doněj zapíši:

Zones
Obsahuje konfigurační soubory zón jako například public.xml, která má přísnější pravidla oproti ostatním. Na obrázku je zaměněno lokal.xml a whitelist.xml. Obsahem takové zóny public pro službu SSH a lokální adresy definované v souboru whitelist.xml a blokované adresy zapsané v souboru blacklist.xml je:

Hodící se příkazy
- Zobrazí aktuální nastavení firewallu
firewall-cmd --list-all
- Znovunahrání pravidel a firewallu
firewall-cmd --reload