Firewalld 1.0 version

En utgåva av den dynamiskt styrda brandväggsbrandväggen 1.0 presenteras, implementerad i form av ett omslag över paketfiltren nftables och iptables. Firewalld körs som en bakgrundsprocess som låter dig ändra paketfilterregler dynamiskt via D-Bus utan att behöva ladda om paketfilterreglerna eller bryta etablerade anslutningar. Projektet används redan i många Linux-distributioner, inklusive RHEL 7+, Fedora 18+ och SUSE/openSUSE 15+. Brandväggskoden är skriven i Python och är licensierad under GPLv2-licensen.

För att hantera brandväggen används brandvägg-cmd-verktyget, som, när man skapar regler, inte baseras på IP-adresser, nätverksgränssnitt och portnummer, utan på namnen på tjänster (till exempel för att öppna åtkomst till SSH måste du kör “firewall-cmd —add —service= ssh”, för att stänga SSH – “firewall-cmd –remove –service=ssh”). För att ändra brandväggskonfigurationen kan det grafiska gränssnittet för brandvägg-config (GTK) och applet-applet för brandvägg (Qt) också användas. Stöd för brandväggshantering via D-BUS API-brandvägg finns i projekt som NetworkManager, libvirt, podman, docker och fail2ban.

En betydande förändring av versionsnumret är förknippad med ändringar som bryter bakåtkompatibiliteten och ändrar beteendet för att arbeta med zoner. Alla filtreringsparametrar som definierats i zonen tillämpas nu endast på trafik adresserad till den värd som brandväggen körs på, och filtrering av transittrafik kräver inställning av policyer. De mest märkbara förändringarna:

  • Backend som tillät det att fungera ovanpå iptables har förklarats föråldrat. Stöd för iptables kommer att bibehållas under överskådlig framtid, men denna backend kommer inte att utvecklas.
  • Läget för vidarebefordran inom zonen är aktiverat och aktiverat som standard för alla nya zoner, vilket tillåter fri rörlighet av paket mellan nätverksgränssnitt eller trafikkällor inom en zon (offentlig, blockerad, betrodd, intern, etc.). För att returnera det gamla beteendet och förhindra att paket vidarebefordras inom en zon kan du använda kommandot "firewall-cmd -permanent -zone public -remove-forward".
  • Regler relaterade till adressöversättning (NAT) har flyttats till "inet" protokollfamiljen (tidigare lagts till "ip" och "ip6" familjerna, vilket ledde till behovet att duplicera regler för IPv4 och IPv6). Förändringen gjorde att vi kunde bli av med dubbletter när vi använde ipset - istället för tre kopior av ipset-poster används nu en.
  • "Default"-åtgärden som anges i parametern "--set-target" motsvarar nu "reject", dvs. alla paket som inte faller under reglerna som definieras i zonen kommer att blockeras som standard. Ett undantag görs endast för ICMP-paket, som fortfarande är tillåtna. För att återställa det gamla beteendet för den allmänt tillgängliga "betrodda" zonen kan du använda följande regler: firewall-cmd —permanent —new-policy allowForward firewall-cmd —permanent —policy allowForward —set-target ACCEPTERA firewall-cmd —permanent — policy allowForward —add-ingress -zone public firewall-cmd —permanent —policy allowForward —add-egress-zone betrodd brandvägg-cmd —reload
  • Positiva prioritetspolicyer exekveras nu omedelbart innan "--set-target catch-all"-regeln exekveras, dvs. för tillfället innan du lägger till den sista droppen, avvisa eller acceptera regler, inklusive för zoner som använder "--set-target drop|reject|accept".
  • ICMP-blockering gäller nu endast för inkommande paket adresserade till den aktuella värden (ingång) och påverkar inte paket som omdirigeras mellan zoner (vidarebefordra).
  • tftp-klienttjänsten, designad för att spåra anslutningar för TFTP-protokollet, men var i en oanvändbar form, har tagits bort.
  • Det "direkta" gränssnittet har föråldrats, vilket gör att färdiga paketfilterregler kan infogas direkt. Behovet av detta gränssnitt försvann efter att man lagt till möjligheten att filtrera omdirigerade och utgående paket.
  • Lade till parametern CleanupModulesOnExit, som ändras till "nej" som standard. Med den här parametern kan du styra urladdningen av kärnmoduler efter att brandväggen stängts av.
  • Tillåtet att använda ipset vid bestämning av målsystemet (destination).
  • Lade till definitioner för WireGuard, Kubernetes och netbios-ns tjänster.
  • Implementerade regler för autoslutförande för zsh.
  • Python 2-stödet har upphört.
  • Listan över beroenden har förkortats. För att brandväggen ska fungera, förutom Linux-kärnan, krävs nu de enda pythonbiblioteken dbus, gobject och nftables, och paketen ebtables, ipset och iptables klassificeras som valfria. Pythonbibliotekens dekoratör och slip har tagits bort från beroenden.

Källa: opennet.ru

Lägg en kommentar