Firewalld 1.0-release

Er wordt een release van de dynamisch gecontroleerde firewall firewalld 1.0 gepresenteerd, geïmplementeerd in de vorm van een wrapper over de nftables- en iptables-pakketfilters. Firewalld draait als een achtergrondproces waarmee u pakketfilterregels dynamisch kunt wijzigen via D-Bus zonder dat u de pakketfilterregels opnieuw hoeft te laden of gevestigde verbindingen hoeft te verbreken. Het project wordt al in veel Linux-distributies gebruikt, waaronder RHEL 7+, Fedora 18+ en SUSE/openSUSE 15+. De firewalld-code is geschreven in Python en is gelicentieerd onder de GPLv2-licentie.

Om de firewall te beheren wordt het firewall-cmd-hulpprogramma gebruikt, dat bij het maken van regels niet gebaseerd is op IP-adressen, netwerkinterfaces en poortnummers, maar op de namen van services (om bijvoorbeeld toegang tot SSH te openen, moet u voer “firewall-cmd —add —service= ssh” uit om SSH te sluiten – “firewall-cmd –remove –service=ssh”). Om de firewallconfiguratie te wijzigen, kunnen ook de grafische interface firewall-config (GTK) en de applet firewall-applet (Qt) worden gebruikt. Ondersteuning voor firewallbeheer via de D-BUS API firewalld is beschikbaar in projecten als NetworkManager, libvirt, podman, docker en fail2ban.

Een aanzienlijke wijziging in het versienummer houdt verband met wijzigingen die de achterwaartse compatibiliteit verbreken en het gedrag van het werken met zones veranderen. Alle filterparameters die in de zone zijn gedefinieerd, worden nu alleen toegepast op verkeer dat is geadresseerd aan de host waarop firewalld draait, en voor het filteren van transitverkeer is het instellen van beleid vereist. De meest opvallende veranderingen:

  • De backend waarmee het bovenop iptables kon werken, is verouderd verklaard. Ondersteuning voor iptables zal de komende tijd behouden blijven, maar deze backend zal niet worden ontwikkeld.
  • De modus voor doorsturen binnen een zone is standaard ingeschakeld en geactiveerd voor alle nieuwe zones, waardoor vrij verkeer van pakketten mogelijk is tussen netwerkinterfaces of verkeersbronnen binnen één zone (openbaar, blok, vertrouwd, intern, enz.). Om het oude gedrag te herstellen en te voorkomen dat pakketten binnen één zone worden doorgestuurd, kunt u het commando “firewall-cmd –permanent –zone public –remove-forward” gebruiken.
  • Regels met betrekking tot adresvertaling (NAT) zijn verplaatst naar de “inet”-protocolfamilie (eerder toegevoegd aan de “ip”- en “ip6”-families, wat leidde tot de noodzaak om regels voor IPv4 en IPv6 te dupliceren). Door de wijziging konden we duplicaten verwijderen bij het gebruik van ipset - in plaats van drie kopieën van ipset-items wordt er nu één gebruikt.
  • De "default"-actie die is opgegeven in de parameter "--set-target" is nu gelijk aan "reject", d.w.z. alle pakketten die niet onder de regels vallen die in de zone zijn gedefinieerd, worden standaard geblokkeerd. Er wordt alleen een uitzondering gemaakt voor ICMP-pakketten, die nog steeds worden doorgelaten. Om het oude gedrag voor de openbaar toegankelijke “vertrouwde” zone te herstellen, kunt u de volgende regels gebruiken: firewall-cmd —permanent —new-policy allowForward firewall-cmd —permanent —policy allowForward —set-target ACCEPT firewall-cmd —permanent — beleid allowForward —add-ingress -zone public firewall-cmd —permanent —policy allowForward —add-egress-zone vertrouwde firewall-cmd —reload
  • Beleid met positieve prioriteit wordt nu onmiddellijk uitgevoerd voordat de ‘--set-target catch-all’-regel wordt uitgevoerd, d.w.z. op het moment voordat u de laatste drop toevoegt, kunt u regels afwijzen of accepteren, ook voor zones die gebruik maken van “--set-target drop|reject|accept”.
  • ICMP-blokkering is nu alleen van toepassing op binnenkomende pakketten die zijn geadresseerd aan de huidige host (invoer) en heeft geen invloed op pakketten die tussen zones worden omgeleid (voorwaarts).
  • De tftp-clientservice, ontworpen om verbindingen voor het TFTP-protocol te volgen, maar in een onbruikbare vorm verkeerde, is verwijderd.
  • De “directe” interface is verouderd, waardoor kant-en-klare pakketfilterregels direct kunnen worden ingevoegd. De behoefte aan deze interface verdween na het toevoegen van de mogelijkheid om omgeleide en uitgaande pakketten te filteren.
  • Parameter CleanupModulesOnExit toegevoegd, die standaard is gewijzigd in 'nee'. Met deze parameter kunt u het verwijderen van kernelmodules regelen nadat firewalld is uitgeschakeld.
  • Toegestaan ​​om ipset te gebruiken bij het bepalen van het doelsysteem (bestemming).
  • Definities toegevoegd voor WireGuard-, Kubernetes- en netbios-ns-services.
  • Regels voor automatisch aanvullen geïmplementeerd voor zsh.
  • Ondersteuning voor Python 2 is stopgezet.
  • De lijst met afhankelijkheden is ingekort. Om firewalld te laten werken zijn nu, naast de Linux-kernel, de enige python-bibliotheken dbus, gobject en nftables vereist, en de ebtables-, ipset- en iptables-pakketten zijn geclassificeerd als optioneel. De decorateur en slip van de Python-bibliotheken zijn uit de afhankelijkheden verwijderd.

Bron: opennet.ru

Voeg een reactie