Firewalld
Firewalld is een implementatie van Netfilter op een hoger niveau, die een gebruiksvriendelijkere interface biedt dan iptables of nftables. Beheerders kunnen Firewalld-regels beheren, terwijl applicaties er via het DBus-messagingssysteem mee kunnen communiceren. Dit maakt het mogelijk om regels toe te voegen of te verwijderen zonder directe tussenkomst van de beheerder, waardoor applicaties de firewall vanuit de gebruikersruimte kunnen beheren.
Standaard past Firewalld regels alleen toe op inkomende pakketten; uitgaande pakketten worden niet gefilterd.
Firewalld Zones
Firewalld vereenvoudigt het beheer door het gebruik van zones. Een zone is een set regels die worden toegepast op inkomende pakketten op basis van hun bronadres of het netwerkinterface waarop ze binnenkomen.
Zones zijn met name handig op servers met meerdere netwerkinterfaces, omdat ze verschillende regels mogelijk maken voor elke interface. Op een machine met één interface werk je meestal met de default zone.
Firewalld analyseert het bronadres van elk inkomend pakket om te bepalen of het overeenkomt met een specifieke zone. Zo niet, dan wordt de zone van de inkomende interface gebruikt. Als er geen specifieke zone wordt gevonden, gelden de regels van de standaardzone.
Zone Naam | Beschrijving |
---|---|
block | Inkomende verbindingen worden afgewezen met een "ICMP-host-prohibited" bericht. Uitgaande verbindingen zijn toegestaan. |
dmz | Voor gebruik in een gedemilitariseerde zone. Geselecteerde inkomende verbindingen worden geaccepteerd, met beperkte toegang tot het interne netwerk. |
drop | Alle inkomende pakketten worden zonder antwoord verworpen. |
external | Voor externe netwerken met masquerading (NAT) ingeschakeld, meestal gebruikt op routers. Geselecteerde inkomende verbindingen worden geaccepteerd. |
home | De meeste netwerkcomputers zijn vertrouwd; slechts geselecteerde inkomende verbindingen worden geaccepteerd. |
internal | De meeste netwerkcomputers zijn vertrouwd; slechts geselecteerde inkomende verbindingen worden geaccepteerd. |
public | Andere netwerkcomputers zijn niet vertrouwd; beperkte verbindingen worden geaccepteerd. Dit is de default zone voor nieuwe interfaces. |
trusted | Alle netwerkverbindingen worden geaccepteerd. |
work | De meeste netwerkcomputers zijn vertrouwd; slechts geselecteerde inkomende verbindingen worden geaccepteerd. |
Werken met Firewalld
Firewalld biedt een command-line interface tool, firewall-cmd, die zowel runtime- als permanente (op schijf) configuraties beheert. Gebruik de --permanent
vlag om wijzigingen te laten persistent na een herstart. Herlaad altijd om wijzigingen toe te passen in de runtime-omgeving.
[root@localhost ~]# firewall-cmd --get-default-zone
public
[root@localhost ~]# firewall-cmd --get-zones
block dmz drop external home internal libvirt public trusted work
[root@localhost ~]# firewall-cmd --list-all --zone=public
public (actief)
target: standaard
icmp-block-inversie: nee
interfaces: enp1s0
bronnen:
services: cockpit dhcpv6-client ftp http https ssh
poorten:
protocollen:
masquerade: nee
doorsturen-poorten:
bron-poorten:
icmp-blokken:
rijke regels:
[root@localhost ~]# firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet
...
[root@localhost ~]# firewall-cmd --list-services
cockpit dhcpv6-client ftp http https ssh
[root@localhost ~]# firewall-cmd --add-service=vnc-server --permanent
succes
[root@localhost ~]# firewall-cmd --list-services
cockpit dhcpv6-client ftp http https ssh
[root@localhost ~]# firewall-cmd --reload
succes
[root@localhost ~]# firewall-cmd --list-services
cockpit dhcpv6-client ftp http https ssh vnc-server
[root@localhost ~]# firewall-cmd --add-port=2022/tcp --permanent
succes
[root@localhost ~]# firewall-cmd --reload
succes
[root@localhost ~]# firewall-cmd --list-all
public (actief)
target: standaard
icmp-block-inversie: nee
interfaces: enp1s0
bronnen:
services: cockpit dhcpv6-client ftp http https ssh vnc-server
poorten: 2022/tcp
protocollen:
masquerade: nee
doorsturen-poorten:
bron-poorten:
icmp-blokken:
rijke regels:
Essentiële Commando's
firewall-cmd --list-all
firewall-cmd --list-all --zone=public
firewall-cmd --get-default-zone
firewall-cmd --get-zones
firewall-cmd --get-services
firewall-cmd --list-services
firewall-cmd --add-service ftp
firewall-cmd --add-service ftp --permanent
firewall-cmd --reload
firewall-cmd --add-port=2022/tcp --permanent
firewall-cmd --reload