Firewalld 1.0 eldono

Eldono de la dinamike kontrolita fajroŝirmilo firewalld 1.0 estas prezentita, efektivigita en la formo de envolvaĵo super la nftables kaj iptables pakaj filtriloj. Firewalld funkcias kiel fona procezo, kiu ebligas al vi dinamike ŝanĝi pakatajn filtrilregulojn per D-Bus sen devi reŝargi la pakaĵetfiltrilregulojn aŭ rompi establitajn ligojn. La projekto jam estas uzata en multaj Linukso-distribuoj, inkluzive de RHEL 7+, Fedora 18+ kaj SUSE/openSUSE 15+. La firewalld-kodo estas skribita en Python kaj estas licencita laŭ la permesilo GPLv2.

Por administri la fajroŝirmilon, estas uzata la fajroŝirmilo-cmd, kiu, kreante regulojn, baziĝas ne sur IP-adresoj, retaj interfacoj kaj havenaj nombroj, sed sur la nomoj de servoj (ekzemple, por malfermi aliron al SSH, vi devas. rulu “firewall-cmd —add —service= ssh”, por fermi SSH – “firewall-cmd –remove –service=ssh”). Por ŝanĝi la firewall-agordon, la firewall-config (GTK) grafika interfaco kaj la firewall-aplet (Qt) ankaŭ povas esti uzataj. Subteno por administrado de fajroŝirmilo per la D-BUS API firewalld estas disponebla en projektoj kiel NetworkManager, libvirt, podman, docker kaj fail2ban.

Signifa ŝanĝo en la versio numero estas rilata al ŝanĝoj, kiuj rompas malantaŭan kongruon kaj ŝanĝas la konduton labori kun zonoj. Ĉiuj filtraj parametroj difinitaj en la zono nun estas aplikataj nur al trafiko adresita al la gastiganto, sur kiu firewalld funkcias, kaj filtri transitan trafikon postulas agordi politikojn. La plej rimarkindaj ŝanĝoj:

  • La backend kiu permesis al ĝi funkcii supre de iptables estis deklarita malnoviĝinta. Subteno por iptables estos konservita por la antaŭvidebla estonteco, sed ĉi tiu backend ne estos disvolvita.
  • La intra-zona-sendanta reĝimo estas ebligita kaj aktivigita defaŭlte por ĉiuj novaj zonoj, permesante liberan movadon de pakaĵoj inter retaj interfacoj aŭ trafikfontoj ene de unu zono (publika, bloka, fidinda, interna, ktp.). Por redoni la malnovan konduton kaj malhelpi pakojn esti plusendita ene de unu zono, vi povas uzi la komandon "firewall-cmd -permanent -zone public -remove-forward".
  • Reguloj rilataj al adrestradukado (NAT) estis movitaj al la "inet" protokola familio (antaŭe aldonitaj al la "ip" kaj "ip6" familioj, kio kondukis al la bezono duobligi regulojn por IPv4 kaj IPv6). La ŝanĝo permesis al ni forigi duplikatojn kiam oni uzas ipset - anstataŭ tri kopioj de ipset-enskriboj, oni nun uzas unu.
  • La ago "defaŭlta" specifita en la parametro "--set-target" nun ekvivalentas al "reject", t.e. ĉiuj pakoj kiuj ne falas sub la reguloj difinitaj en la zono estos blokitaj defaŭlte. Escepto estas farita nur por ICMP-pakoj, kiuj ankoraŭ estas permesitaj. Por redoni la malnovan konduton por la publike alirebla "fidinda" zono, vi povas uzi la jenajn regulojn: firewall-cmd —permanent —new-policy allowForward firewall-cmd —permanent —policy allowForward —set-target ACCEPT firewall-cmd —permanent — politiko allowForward —add-ingress-zone publika fajroŝirmilo-cmd —permanenta —politiko allowForward —aldonu-egress-zone fidinda fajroŝirmilo-cmd —reŝargi
  • Pozitivaj prioritatpolitikoj nun estas ekzekutitaj tuj antaŭ la "--set-target catch-all" regulo estas efektivigita, t.e. en la momento antaŭ ol aldoni la finan guton, malakceptu aŭ akceptu regulojn, inkluzive por zonoj, kiuj uzas “--set-target drop|reject|akcept”.
  • ICMP-blokado nun validas nur por alvenantaj pakaĵetoj adresitaj al la nuna gastiganto (enigo) kaj ne influas pakaĵetojn redirektitaj inter zonoj (antaŭen).
  • La tftp-klienta servo, dizajnita por spuri ligojn por la TFTP-protokolo, sed estis en neuzebla formo, estis forigita.
  • La "rekta" interfaco estis malrekomendita, permesante rekte enmeti pretajn pakatajn filtrilregulojn. La bezono de ĉi tiu interfaco malaperis post aldoni la kapablon filtri alidirektajn kaj elirantajn pakaĵojn.
  • Aldonita CleanupModulesOnExit parametro, kiu estas ŝanĝita al "ne" defaŭlte. Uzante ĉi tiun parametron, vi povas kontroli la malŝarĝon de kernaj moduloj post kiam fajroŝirmilo malŝaltas.
  • Permesita uzi ipset kiam oni determinas la celsistemon (celloko).
  • Aldonitaj difinoj por WireGuard, Kubernetes kaj netbios-ns-servoj.
  • Efektivigitaj aŭtokompletaj reguloj por zsh.
  • Python 2-subteno estis nuligita.
  • La listo de dependecoj estis mallongigita. Por ke firewalld funkciu, krom la Linukso-kerno, la nuraj python-bibliotekoj dbus, gobject kaj nftables nun estas postulataj, kaj la pakaĵoj ebtables, ipset kaj iptables estas klasifikitaj kiel laŭvolaj. La dekoraciisto kaj slip de python-bibliotekoj estis forigitaj de la dependecoj.

fonto: opennet.ru

Aldoni komenton