Lançimi i filtrit të paketave nftables 0.9.9

ËshtĂ« publikuar lĂ«shimi i filtrit tĂ« paketave nftables 0.9.9, i cili njĂ«zon ndĂ«rfaqet e filtrimit tĂ« paketave pĂ«r IPv4, IPv6, ARP dhe urat rrjetore (synon tĂ« zĂ«vendĂ«sojĂ« iptables, ip6table, arptables dhe ebtables). NĂ« tĂ« njĂ«jtĂ«n kohĂ«, Ă«shtĂ« publikuar lĂ«shimi i bibliotekĂ«s pĂ«rkrahĂ«se libnftnl 1.2.0, e cila ofron njĂ« API tĂ« ulĂ«t pĂ«r ndĂ«rveprimin me nĂ«n-sistemin nf_tables. Ndryshimet e nevojshme pĂ«r funksionimin e lĂ«shimit nftables 0.9.9 janĂ« pĂ«rfshirĂ« nĂ« bĂ«rthamĂ«n Linux 5.13-rc1.

Paketa nftables përmban komponente të filtrit të paketave që funksionojnë në hapësirën e përdoruesit, ndërsa në nivelin e bërthamor punon nën-sistemi nf_tables, i cili është pjesë e bërthamës Linux që nga versione 3.13. Në nivelin e bërthamës ofrohet vetëm një ndërfaqe e përgjithshme, e pavaruar nga protokolli i veçantë dhe që ofron funksione bazë për nxjerrjen e të dhënave nga paketat, për kryerjen e operacioneve me të dhënat dhe menaxhimin e fluksit.

Rregullat për filtrimin dhe trajtuesit specifikë për protokollet kompilohet në kodin e bytes në hapësirën e përdoruesit, pas së cilës ky kod bytes ngarkohet në bërthamë përmes ndërfaqes Netlink dhe ekzekutohet në bërthamë në një mënyrë të veçantë, që i ngjan BPF (Filtrat e Paketa Berkeley). Ky qasje lejon të reduktohet ndjeshëm madhësia e kodit të filtrimit që operon në nivelin e bërthamës dhe të transferohet të gjitha funksionet e përpunimit të rregullave dhe logjikës së punës me protokollet në hapësirën e përdoruesit. makinën virtuale, që ngjan me BPF (Berkeley Packet Filters). Ky qasje lejon reduktimin e ndjeshëm të madhësisë së kodit të filtrimit që operon në nivelin e bërthamës dhe nxjerrjen e të gjitha funksioneve për të analizuar rregullat dhe logjikën e punës me protokollet në hapësirën e përdoruesit.

Novitetet kryesore:

  • ËshtĂ« realizuar mundĂ«sia e transferimit tĂ« pĂ«rpunimit flowtable nĂ« anĂ«n e adaptorit tĂ« rrjetit, e cila aktivizohet me ndihmĂ«n e flag ‘offload’. Flowtable Ă«shtĂ« njĂ« mekanizĂ«m optimizimi tĂ« rrugĂ«s pĂ«r ridrejtimin e paketave, ku kalimi i plotĂ« pĂ«r tĂ« gjitha zinxhirĂ«t e pĂ«rpunimit tĂ« rregullave aplikohet vetĂ«m pĂ«r paketĂ«n e parĂ«, ndĂ«ra tĂ« gjitha paketat e tjera nĂ« rrjedhĂ« kalojnĂ« direkt. table ip global { flowtable f { hook ingress priority filter + 1 devices = { lan3, lan0, wan } flags offload } chain forward { type filter hook forward priority filter; policy accept; ip protocol { tcp, udp } flow add @f } chain post { type nat hook postrouting priority filter; policy accept; oifname «wan» masquerade } }
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r lidhjen e tabelĂ«s me njĂ« flag pĂ«r lidhjen me pronarin, i cili lejon pĂ«rdorimin ekskluziv tĂ« tabelĂ«s nga procesi. Pasi tĂ« pĂ«rfundojĂ« procesi, tabela e lidhur me tĂ« fshihet automatikisht. Informacioni mbi procesin shfaqet nĂ« dump-in e rregullave nĂ« formĂ«n e njĂ« komentari: table ip x { # progname nft flags owner chain y { type filter hook input priority filter; policy accept; counter packets 1 bytes 309 } }
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r specifikimin IEEE 802.1ad (VLAN stacking ose QinQ), i cili pĂ«rcakton mjete pĂ«r vendosjen e disa etiketave VLAN nĂ« njĂ« kadĂ«r Ethernet. PĂ«r shembull, pĂ«r tĂ« verifikuar llojin e kadrit tĂ« jashtĂ«m Ethernet 8021ad dhe vlan id=342, mund tĂ« pĂ«rdoret konstrukti 
 ether type 802.1ad vlan id 342 pĂ«r tĂ« verifikuar llojin e jashtĂ«m tĂ« kadrit Ethernet 8021ad/vlan id=1, i pĂ«rfshirĂ« 802.1q/vlan id=2 dhe inkapsulimin e mĂ«tejshĂ«m tĂ« paketĂ«s IP: 
 ether type 802.1ad vlan id 1 vlan type 8021q vlan id 2 vlan type ip counter
  • Shtuar mbĂ«shtetje pĂ«r menaxhimin e burimeve pĂ«rmes njĂ« hierarkie tĂ« unifikuar cgroups v2. Dallimi kryesor midis cgroups v2 dhe v1 Ă«shtĂ« pĂ«rdorimi i njĂ« hierarkie tĂ« pĂ«rbashkĂ«t cgroups pĂ«r tĂ« gjitha llojet e burimeve, nĂ« vend tĂ« hierarkive tĂ« veçanta pĂ«r shpĂ«rndarjen e burimeve CPU, pĂ«r rregullimin e konsumin tĂ« memories dhe pĂ«r hyrjen/ dalje. PĂ«r shembull, pĂ«r tĂ« kontrolluar nĂ«se prindi i soket-it nĂ« nivelin e parĂ« cgroupv2 pĂ«rputhet me maskĂ«n "system.slice", mund tĂ« pĂ«rdoret struktura: ... socket cgroupv2 nivel 1 "system.slice"
  • Shtuar mundĂ«sia e verifikimit tĂ« komponenteve tĂ« paketave SCTP (funksionaliteti i nevojshĂ«m do tĂ« shfaqet nĂ« bĂ«rthamĂ«n Linux 5.14). PĂ«r shembull, pĂ«r tĂ« kontrolluar praninĂ« e njĂ« chunk-u nĂ« paketĂ« me tipin 'data' dhe fushĂ«n 'type': ... sctp chunk data exists ... sctp chunk data type 0
  • Ekzekutimi i operacionit tĂ« ngarkesĂ«s sĂ« rregullave Ă«shtĂ« pĂ«rshpejtuar rreth dy herĂ« me pĂ«rdorimin e flag-ut "-f". Po ashtu, Ă«shtĂ« pĂ«rshpejtuar dalja e listĂ«s sĂ« rregullave.
  • Ofruar njĂ« formĂ« kompakte pĂ«r kontrollin e vendosjes sĂ« biteve nĂ« flagje. PĂ«r shembull, pĂ«r tĂ« kontrolluar qĂ« bitet e gjendjes snat dhe dnat nuk janĂ« vendosur, mund tĂ« tregoni: ... ct status ! snat,dnat pĂ«r tĂ« kontrolluar se bit-i syn Ă«shtĂ« vendosur nĂ« maskĂ«n e biteve syn,ack: ... tcp flags syn / syn,ack pĂ«r tĂ« kontrolluar qĂ« bitet fin dhe rst nuk janĂ« vendosur nĂ« maskĂ«n e biteve syn,ack,fin,rst: ... tcp flags != fin,rst / syn,ack,fin,rst
  • Lejohet pĂ«rdorimi i fjalĂ«s kyçe "verdict" nĂ« pĂ«rkufizimet typeof pĂ«r set/map: add map x m { typeof iifname . ip protocol . th dport : verdict; }

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster