Utgjeven versjon av den dynamisk styrte brannmurprogramvaren firewalld 1.0, som er implementert som et lag over pakke-filtrene nftables og iptables. Firewalld kjÞrer som en bakgrunnsprosess, som gjÞr det mulig Ä endre pakke-filtregler dynamisk via D-Bus, uten behov for Ä laste inn pÄ nytt de eksisterende reglene og uten Ä bryte etablerte forbindelser. Prosjektet er allerede i bruk i mange Linux-distribusjoner, inkludert RHEL 7+, Fedora 18+ og SUSE/openSUSE 15+. Koden for firewalld er skrevet i Python og distribueres under GPLv2-lisensen.
For Ă„ administrere brannmuren brukes verktĂžyet firewall-cmd, som nĂ„r det oppretter regler baserer seg pĂ„ IP-adresser, nettverksgrensesnitt og portnumre, men pĂ„ tjenestenavn (for eksempel, for Ă„ Ă„pne tilgang til SSH mĂ„ man kjĂžre «firewall-cmd âadd âservice=ssh», for Ă„ stenge SSH â «firewall-cmd âremove âservice=ssh»). For Ă„ endre brannmurkonfigurasjonen kan ogsĂ„ det grafiske grensesnittet firewall-config (GTK) og applet-en firewall-applet (Qt) brukes. StĂžtte for Ă„ administrere brannmuren via D-BUS API firewalld er tilgjengelig i prosjekter som NetworkManager, libvirt, podman, docker og fail2ban.
Den betydelige endringen av versjonsnummeret skyldes endringer som bryter bakoverkompatibiliteten og endrer oppfÞrselen for zone-hÄndtering. Alle innstilte parametere for filtrering i en sone gjelder nÄ kun for trafikk rettet mot verten hvor firewalld kjÞrer, mens filtrering av transittrafikk krever tilpasning av politikker. De mest merkbare endringene er:
- Backend-en som tillot drift pÄ toppen av iptables er blitt foreldet. StÞtte for iptables vil bli opprettholdt i overskuelig framtid, men den backend-en vil ikke bli videreutviklet.
- Modus for intra-zone-forwarding er aktivert som standard for alle nye soner, som tillater fri bevegelse av pakker mellom nettverksgrensesnitt eller kilder innen Ă©n sone (public, block, trusted, internal, osv.). For Ă„ gjenopprette den gamle oppfĂžrselen og forby pakkeviderekobling innen Ă©n sone, kan kommandoen «firewall-cmd âpermanent âzone public âremove-forward» brukes.
- Regler knyttet til NAT-adressering er flyttet til protokollfamilien «inet» (de ble tidligere lagt til i familiene «ip» og «ip6», noe som fĂžrte til behovet for Ă„ duplisere regler for IPv4 og IPv6). Endringen har gjort det mulig Ă„ unngĂ„ duplikater ved bruk av ipset â i stedet for tre kopier av ipset-poster brukes nĂ„ Ă©n.
- Handlinga «default», spesifisert i parameteren «âset-target», er nĂ„ ekvivalent med «reject», som betyr at alle pakker som ikke faller inn under bestemte regler i sonen, som standard vil bli blokkert. Unntaket er ICMP-pakker, som fortsatt slippes gjennom. For Ă„ gjenopprette det gamle atferden for den offentlig tilgjengelige sonen «trusted» kan man bruke reglene: 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
- Politikkene med positiv prioritet utfĂžres nĂ„ rett fĂžr reglen «âset-target catch-all» utfĂžres, dvs. i Ăžyeblikket fĂžr de endelige reglene drop, reject eller accept, ogsĂ„ for soner der «âset-target drop|reject|accept» brukes.
- Blokkering av ICMP gjelder nÄ kun for innkommende pakker rettet mot den aktuelle verten (input) og pÄvirker ikke pakker som omdirigeres mellom soner (forward).
- Tjenesten tftp-client, laget for Ă„ spore forbindelser for TFTP-protokollen, er fjernet, da den har vĂŠrt ubrukelig.
- Grensesnittet «direct» er erklÊrt foreldet, som gjÞr det mulig Ä sette inn klare pakke-filter regler direkte. Behovet for dette grensesnittet forsvant etter at muligheten til Ä filtrere omdirigerte og utgÄende pakker ble lagt til.
- Parameteren CleanupModulesOnExit er lagt til, som som standard er endret til «no». Ved hjelp av denne parameteren kan man styre lasting av kjerner etter at firewalld har avsluttet.
- Bruk av ipset er tillatt ved bestemmelse av mÄl-systemet (destination).
- Definisjoner for tjenestene WireGuard, Kubernetes og netbios-ns er lagt til.
- Regler for autokomplettering for zsh er implementert.
- StĂžtte for Python 2 er avsluttet.
- Lista over avhengigheter er forkortet. For at firewalld skal fungere, kreves nÄ kun Python-bibliotekene dbus, gobject og nftables, mens ebtables, ipset og iptables er blitt valgfrie. Python-bibliotekene decorator og slip er fjernet fra avhengighetene.
Kilde: opennet.ru
