Die Veröffentlichung von firewalld 1.0, einem dynamisch verwalteten Firewall-System, wurde vorgestellt. Es handelt sich dabei um eine Wrapper-Lösung ĂŒber den Paketfiltern nftables und iptables. Firewalld lĂ€uft als Hintergrundprozess und ermöglicht dynamische Ănderungen der Paketfilterregeln ĂŒber D-Bus, ohne dass die Regeln neu geladen oder bestehende Verbindungen unterbrochen werden mĂŒssen. Das Projekt wird bereits in vielen Linux-Distributionen eingesetzt, darunter RHEL 7+, Fedora 18+ und SUSE/openSUSE 15+. Der Code von firewalld ist in Python geschrieben und wird unter der GPLv2-Lizenz veröffentlicht.
Zur Verwaltung der Firewall wird das Tool firewall-cmd verwendet, das beim Erstellen von Regeln nicht von IP-Adressen, Netzwerkinterfaces und Portnummern, sondern von Dienstnamen (zum Beispiel wird der Zugriff auf SSH mit âfirewall-cmd âadd âservice=sshâ eröffnet, und um SSH zu schlieĂen, mit âfirewall-cmd âremove âservice=sshâ). FĂŒr die Anpassung der Firewall-Konfiguration kann auch die grafische BenutzeroberflĂ€che firewall-config (GTK) und das Applet firewall-applet (Qt) genutzt werden. Die UnterstĂŒtzung fĂŒr die Verwaltung der Firewall ĂŒber die D-BUS-API von firewalld ist in Projekten wie NetworkManager, libvirt, podman, docker und fail2ban vorhanden.
Die signifikante Ănderung der Versionsnummer ist auf Anpassungen zurĂŒckzufĂŒhren, die die AbwĂ€rtskompatibilitĂ€t beeintrĂ€chtigen und das Verhalten beim Umgang mit Zonen Ă€ndern. Alle in der Zone definierten Filterparameter gelten jetzt nur fĂŒr den Verkehr, der an den Host gerichtet ist, auf dem firewalld lĂ€uft, wĂ€hrend fĂŒr die Filterung von Transitverkehr eine Anpassung der Richtlinien erforderlich ist. Die auffĂ€lligsten Ănderungen sind:
- Der Backend, der die Nutzung von iptables ermöglichte, wurde als veraltet erklĂ€rt. Die UnterstĂŒtzung fĂŒr iptables wird in naher Zukunft erhalten bleiben, die Entwicklung dieses Backends wird jedoch nicht fortgesetzt.
- Intra-Zone-Forwarding ist standardmĂ€Ăig fĂŒr alle neuen Zonen aktiviert und ermöglicht die ungehinderte Bewegung von Paketen zwischen Netzwerkinterfaces oder Traffic-Quellen innerhalb einer Zone (öffentliche, blockierte, vertrauenswĂŒrdige, interne usw.). Um das alte Verhalten wiederherzustellen und das Weiterleiten von Paketen innerhalb einer Zone zu verbieten, kann der Befehl âfirewall-cmd âpermanent âzone public âremove-forwardâ verwendet werden.
- Die Regeln fĂŒr die AdressĂŒbersetzung (NAT) wurden in die Protokollfamilie âinetâ verschoben (frĂŒher wurden sie in den Familien âipâ und âip6â hinzugefĂŒgt, was die Notwendigkeit zur Duplizierung von Regeln fĂŒr IPv4 und IPv6 zur Folge hatte). Diese Ănderung ermöglicht es, Duplikate beim Einsatz von ipset zu vermeiden â anstelle von drei Kopien der ipset-EintrĂ€ge wird nun nur eine verwendet.
- Die Aktion âdefaultâ, die im Parameter ââset-targetâ angegeben wird, ist jetzt gleichbedeutend mit ârejectâ, d.h. alle Pakete, die nicht unter bestimmte Regeln in der Zone fallen, werden standardmĂ€Ăig blockiert. Eine Ausnahme gilt nur fĂŒr ICMP-Pakete, die weiterhin durchgelassen werden. Um das alte Verhalten fĂŒr die öffentlich zugĂ€ngliche Zone âtrustedâ wiederherzustellen, können folgende Regeln verwendet werden: firewall-cmd âpermanent ânew-policy allowForward firewall-cmd âpermanent âpolicy allowForward âset-target ACCEPT firewall-cmd âpermanent âpolicy allowForward âadd-ingress-zone public firewall-cmd âpermanent âpolicy allowForward âadd-egress-zone trusted firewall-cmd âreload
- Politiken mit positivem PrioritĂ€tswert werden jetzt unmittelbar vor der AusfĂŒhrung der Regel ââset-target catch-allâ ausgefĂŒhrt, d.h. in dem Moment, der dem HinzufĂŒgen der endgĂŒltigen Regeln drop, reject oder accept vorausgeht, einschlieĂlich fĂŒr Zonen, in denen ââset-target drop|reject|acceptâ verwendet wird.
- Die Blockierung von ICMP gilt nun nur fĂŒr eingehende Pakete (input), die an den aktuellen Host adressiert sind, und betrifft nicht die zwischen den Zonen weitergeleiteten Pakete (forward).
- Der Dienst tftp-client wurde entfernt, der zur Ăberwachung von Verbindungen fĂŒr das TFTP-Protokoll gedacht war, jedoch in einem unbrauchbaren Zustand war.
- Die veraltete Schnittstelle âdirectâ, die das direkte EinfĂŒgen von fertigen Regeln zur Paketfilterung ermöglicht, wurde als obsolet erklĂ€rt. Die Notwendigkeit dieser Schnittstelle ist weggefallen, nachdem die Möglichkeit zur Filterung von weitergeleiteten und ausgehenden Paketen hinzugefĂŒgt wurde.
- Ein Parameter CleanupModulesOnExit wurde hinzugefĂŒgt, dessen Standardwert auf ânoâ geĂ€ndert wurde. Mit diesem Parameter können Sie die Entladung von Kernelmodulen nach Beendigung von firewalld steuern.
- Die Verwendung von ipset bei der Bestimmung des Zielsystems (destination) ist erlaubt.
- Die Definitionen der Dienste WireGuard, Kubernetes und netbios-ns wurden hinzugefĂŒgt.
- Autocomplete-Regeln fĂŒr zsh wurden implementiert.
- Die UnterstĂŒtzung fĂŒr Python 2 wurde eingestellt.
- Die Liste der AbhĂ€ngigkeiten wurde verkĂŒrzt. Neben dem Linux-Kernel benötigt firewalld jetzt nur noch die Python-Bibliotheken dbus, gobject und nftables, wĂ€hrend die Pakete ebtables, ipset und iptables als optional eingestuft wurden. Die Python-Bibliotheken decorator und slip wurden aus den AbhĂ€ngigkeiten entfernt.
Quelle: opennet.ru
