# firewall-cmd --zone=trusted --permanent --add-interface=wg0 # firewall-cmd --zone=trusted --list-interface # firewall-cmd --reload success # firewall-cmd --zone=trusted --list-interface wg0 #
Es ist ein Firewall, welchen sowohl für den Einsatz im Heimbereich wie auch im professionellen Umfeld eingesetzt werden kann.
Firewalld baut auf nftables und wurde von RedHat entwickelt.
Nftables erstezt weitgehend die alten iptables.
Masquerding erfolgt jedoch immer noch per iptables, firewalld beinhaltet eine Schnittstelle dafür.
Mir neuere Versionen von iptables geht einiges nicht mehr!
Firewalld kennt einige Zonen:
drop, block, external, public, dmz, work, home, internal, trusted
Weitere Zonen können hinzugefügt werden.
Die Konfiguration von firewalld kann permanent oder temporär erfolgen.
Ausgehende Verbindungen sind in alle Zonen möglich.
Die Zugehörigkeit einer Zone zu einer Netwerkverbindung wird durch das NetworkManager unterstützt.
Die Regel **REJECT** ist üblicherweise die letzte Regel in der Firewall Konfiguration. Hier ist es die erste un letzte.
Hinzufügen weitere Regeln sind bei beie Zonen wirkungslos.
Beide Zonen sind identisch konfiguriert, haben von der Namensgebung eine andere Bedeutung (dmz = demilitarized).
Es ist normalerweise die standard Zone, die bei neue Verbindungen eingestellt wird. (Es kann aber geändert werden).
Dies kann Sinnvoll sein, wenn ein einloggen im Heimbereich sowie auch beim Arbeitsgeber stattfindet.
Diese Zonen sind für die Konfigurieren einen Router gedacht.
Die in der Zone external zugeordnete Schnitstelle ist der Ausgang zum Internet.
Internal stellt der Anschluss des Subnetzes, andere Rechner sind dort angesiedelt. Gemäß freigegebenen Dienste kann der als Router, entweder seine Adressen von ein Server im Subnetz erhalten oder selbst als DHCP Server dienen.
NAT (Masqurade) muss auch explizit konfiguriert werden.
Das NetworkManager kann, je nach Verbindung, den Anschluss eine Vorgegebene Zone zuweisen. Dies ist vor allem bein WLAN Verbindungen von Vorteil.
Im Tab "Allgemein" kann eine Firewall Zone vorgegeben werden.
Falls eine Vorgabe nicht vorhanden ist, wird die Vorgabe von firewalld (normalerweise public) für die Verbindung eingestellt.
Neue Regeln können fest vorgegeben werden (permanent) oder nur in der Runtime Umgebung.
Regeln die permanent sind, werden gesichert und beim erneuten Booten beachtet.
Dagegen sind die Regeln, die in der Runtime Umgebung nur solange gültig bis das System läuft.
Die Regeln können mittels der graphische Oberfläche firewall-config oder per Terminal mit firewall-cmd (Fedora, Suse)
Unter Debian basierte Systeme ist ufw bzw. die grafische Oberfläche gufw mit nftables verwendbar, leider sind die Zonen nicht dynamisch. Firewalld kann jedoch installiert werden.
Firewalld ist für der Einsatz mit Mobile Rechner sehr empfehlenswert, vor allem, wenn man sich in einem öffentlichen WLAN einbucht. Die default Zone ist "public", damit ist ein ausreichender Schutz immer gewährleistet.
Für stationäre Systeme ist ufw kein Problem.
# firewall-cmd --zone=trusted --permanent --add-interface=wg0 # firewall-cmd --zone=trusted --list-interface # firewall-cmd --reload success # firewall-cmd --zone=trusted --list-interface wg0 #
Die Konfigurierung ist erst nach ein "Reload" von firewalld aktive.
# firewall-cmd --zone=trusted --add-interface=wg0 # firewall-cmd --zone=trusted --list-interface wg0 # firewall-cmd --reload success # firewall-cmd --zone=trusted --list-interface #
Die neuen Regeln stehen sofort zur Verfügung, überleben jedoch nicht ein "Reload" oder ein Boot-Vorgang.
# firewall-cmd --zone=home --add-service=http --add-service=https success # firewall-cmd --zone=public --list-services dhcpv6-client http https mdns ssh # firewall-cmd --reload success # firewall-cmd --zone=public --list-services dhcpv6-client mdns ssh #
# firewall-cmd --permanent --new-zone=wireguard success # firewall-cmd --permanent --zone=wireguard --add-interface=wg0 success # firewall-cmd --permanent --zone=wireguard --set-target=ACCEPT success # firewall-cmd --reload success # firewall-cmd --permanent --delete-zone=wireguard success # firewall-cmd --reload success # firewall-cmd --permanent --new-zone-from-file=/home/user/test/Wireguard.xml sucess # firewall-cmd --reload success
<?xml version="1.0" encoding="utf-8"?> <zone target="ACCEPT"> <short>wireguard</short> <description>Wireguard zone. All network connections are accepted.</description> <interface name="wg0"/> </zone>
/