Veröffentlichung von firewalld 1.0

Die Veröffentlichung von firewalld 1.0, einer dynamisch verwaltbaren Firewall, die als Wrapper ĂŒber den Paketfiltern nftables und iptables implementiert wurde, wurde vorgestellt. Firewalld wird als Hintergrundprozess ausgefĂŒhrt und ermöglicht es, die Regeln des Paketfilters ĂŒber D-Bus dynamisch zu Ă€ndern, ohne die Regeln neu laden oder bestehende Verbindungen trennen zu mĂŒssen. Das Projekt wird bereits in vielen Linux-Distributionen eingesetzt, einschließlich RHEL 7+, Fedora 18+ und SUSE/openSUSE 15+. Der Code von firewalld ist in Python geschrieben und wird unter der GPLv2-Lizenz verbreitet.

Zur Verwaltung der Firewall wird das Dienstprogramm firewall-cmd verwendet, das bei der Erstellung von Regeln nicht von IP-Adressen, Netzwerkinterfaces und Portnummern, sowie die Namen der Dienste (zum Beispiel, um den Zugriff auf SSH zu öffnen, muss «firewall-cmd —add —service=ssh» ausgefĂŒhrt werden, zum Schließen von SSH — «firewall-cmd —remove —service=ssh»). FĂŒr die Änderung der Firewall-Konfiguration kann auch die grafische BenutzeroberflĂ€che firewall-config (GTK) und das Applet firewall-applet (Qt) verwendet werden. Die UnterstĂŒtzung fĂŒr die Verwaltung der Firewall ĂŒber die D-BUS-API firewalld ist in Projekten wie NetworkManager, libvirt, podman, docker und fail2ban vorhanden.

Die signifikante Änderung der Versionsnummer steht im Zusammenhang mit Anpassungen, die die AbwĂ€rtskompatibilitĂ€t verletzen und das Verhalten im Umgang mit Zonen Ă€ndern. Alle in der Zone definierten Filterparameter gelten jetzt nur noch fĂŒr den Verkehr, der an den Host gerichtet ist, auf dem firewalld lĂ€uft, wĂ€hrend fĂŒr die Filterung des Transitverkehrs eine Richtlinieneinstellung erforderlich ist. Die auffĂ€lligsten Änderungen sind:

  • Der Backend, der die Arbeiten ĂŒber iptables ermöglichte, wurde als veraltet erklĂ€rt. Die UnterstĂŒtzung fĂŒr iptables wird in naher Zukunft aufrechterhalten, jedoch wird dieser Backend nicht weiterentwickelt.
  • Der intra-zone-forwarding-Modus ist fĂŒr alle neuen Zonen standardmĂ€ĂŸig aktiv und ermöglicht die ungehinderte Bewegung von Paketen zwischen Netzwerkinterfaces oder Verkehrsquellen innerhalb einer Zone (öffentlich, blockiert, vertrauenswĂŒrdig, intern usw.). Um das alte Verhalten wiederherzustellen und die Weiterleitung von Paketen innerhalb einer Zone zu verbieten, kann der Befehl „firewall-cmd —permanent —zone public —remove-forward“ verwendet werden.
  • Die mit der AdressĂŒbersetzung (NAT) verbundenen Regeln wurden in die Protokollfamilie „inet“ verschoben (frĂŒher wurden sie in den Familien „ip“ und „ip6“ hinzugefĂŒgt, was die Duplizierung von Regeln fĂŒr IPv4 und IPv6 erforderte). Diese Änderung hat es ermöglicht, Duplikate bei der Verwendung von ipset zu vermeiden – anstelle von drei Kopien der ipset-EintrĂ€ge wird jetzt 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 wurde nur fĂŒr ICMP-Pakete gemacht, die weiterhin durchgelassen werden. Um das alte Verhalten fĂŒr die öffentlich zugĂ€ngliche Zone «trusted» wiederherzustellen, können die 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 positiver PrioritĂ€t werden jetzt direkt vor der AusfĂŒhrung der Regel «—set-target catch-all» ausgefĂŒhrt, d.h. zu dem Zeitpunkt, der der HinzufĂŒgung 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 jetzt nur fĂŒr eingehende Pakete, die an den aktuellen Host adressiert sind (input), und betrifft nicht die zwischen den Zonen weitergeleiteten Pakete (forward).
  • Der Dienst tftp-client, der zur Verfolgung von Verbindungen fĂŒr das Protokoll TFTP vorgesehen war, wurde entfernt, da er in einer unbrauchbaren Form vorlag.
  • Das Interface «direct», das das direkte EinfĂŒgen von fertigen Paketfilterregeln ermöglichte, wurde als veraltet erklĂ€rt. Der Bedarf an diesem Interface entfiel nach der HinzufĂŒgung der Möglichkeit, weitergeleitete und ausgehende Pakete zu filtern.
  • Ein Parameter CleanupModulesOnExit wurde hinzugefĂŒgt, der standardmĂ€ĂŸig auf «no» geĂ€ndert wurde. Mit diesem Parameter kann die Entladung von Kernelmodulen nach dem Beenden von firewalld gesteuert werden.
  • Die Verwendung von ipset bei der Bestimmung des Zielsystems (destination) wurde ermöglicht.
  • Es wurden Definitionen fĂŒr die Dienste WireGuard, Kubernetes und netbios-ns hinzugefĂŒgt.
  • AutovervollstĂ€ndigungsregeln fĂŒr zsh wurden implementiert.
  • Die UnterstĂŒtzung von Python 2 wurde eingestellt.
  • Die Liste der AbhĂ€ngigkeiten wurde verkĂŒrzt. FĂŒr den Betrieb von firewalld werden neben dem Linux-Kernel nun nur noch die python-Bibliotheken dbus, gobject und nftables benötigt, wĂ€hrend die Pakete ebtables, ipset und iptables als optional eingestuft wurden. Von den AbhĂ€ngigkeiten wurden die python-Bibliotheken decorator und slip entfernt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4