Lëshimi i filtrit paketë nftables 1.0.7

Ështe publikuar versioni 1.0.7 i filtrit tĂ« paketave nftables, i cili unifikon ndĂ«rfaqet e filtrimit tĂ« paketave pĂ«r IPv4, IPv6, ARP dhe urat e rrjetit (synon tĂ« zĂ«vendĂ«sojĂ« iptables, ip6tables, arptables dhe ebtables). Paketa nftables pĂ«rmban komponente tĂ« filtrit tĂ« paketave qĂ« funksionojnĂ« nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, ndĂ«rsa nĂ« nivelin e bĂ«rthamĂ«s, funksionon nĂ«n sistemin nf_tables, i cili Ă«shtĂ« i pranishĂ«m nĂ« bĂ«rthamĂ«n Linux qĂ« nga versioni 3.13. NĂ« nivelin e bĂ«rthamĂ«s, ofrohet vetĂ«m njĂ« ndĂ«rfaqe e pĂ«rgjithshme, e pavarur nga protokolli specifik, qĂ« ofron funksione bazĂ« pĂ«r nxjerrjen e tĂ« dhĂ«nave nga paketat, kryerjen e operacioneve me tĂ« dhĂ«na dhe menaxhimin e fluksit.

Rregullat e filtrimit 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ë mjedis të veçantë. makinën virtuale, i ngjan Berkley Packet Filters (BPF). Qashtu, kjo qasje lejon të reduktohet ndjeshëm madhësia e kodit të filtrimit që funksionon në nivelin e bërthamës dhe të nxirren të gjitha funksionet e analizës së rregullave dhe logjikës së punës me protokollet në hapësirën e përdoruesit.

Ndryshimet kryesore:

  • Sistemet me bĂ«rthamĂ« Linux 6.2+ tani mbĂ«shtesin pĂ«rputhjen e protokolleve vxlan, geneve, gre dhe gretap, çka lejon pĂ«rdorimin e shprehjeve tĂ« thjeshta pĂ«r tĂ« verifikuar headers nĂ« paketat e inkapsuluara. PĂ«r shembull, pĂ«r tĂ« verifikuar adresat IP nĂ« titullin e paketĂ«s sĂ« ngjitur nga VxLAN, tani mund tĂ« pĂ«rdoren rregulla (pa nevojĂ«n pĂ«r dekapitulimin paraprak tĂ« titullit VxLAN dhe lidhjen e filtrit me ndĂ«rfaqen vxlan0): 
 udp dport 4789 vxlan ip protokolli udp 
 udp dport 4789 vxlan ip saddr 1.2.3.0/24 
 udp dport 4789 vxlan ip saddr . vxlan ip daddr { 1.2.3.4 . 4.3.2.1 }
  • ËshtĂ« implementuar mbĂ«shtetje pĂ«r automatikisht bashkimin e mbetjeve pas njĂ« fshirjeje tĂ« pjesshme tĂ« njĂ« elementi tĂ« listĂ«s set, duke lejuar fshirjen e njĂ« elementi ose tĂ« njĂ« pjese tĂ« njĂ« gamĂ« tĂ« njĂ« diapazoni ekzistues (mĂ« parĂ«, diapazoni mund tĂ« fshihej vetĂ«m nĂ« tĂ«rĂ«si). PĂ«r shembull, pas fshirjes sĂ« elementit 25 nga lista set me gamat 24-30 dhe 40-50, lista do tĂ« mbajĂ« 24, 26-30 dhe 40-50. Korrigjimet e nevojshme pĂ«r funksionimin e bashkimit automatik do tĂ« ofrohen nĂ« versionet korrigjuese tĂ« degĂ«ve stabile tĂ« bĂ«rthamĂ«s 5.10+. # nft list ruleset table ip x { set y { typeof tcp dport flags interval auto-merge elements = { 24-30, 40-50 } } } # nft delete element ip x y { 25 } # nft list ruleset table ip x { set y { typeof tcp dport flags interval auto-merge elements = { 24, 26-30, 40-50 } } }
  • ËshtĂ« lejuar pĂ«rdorimi i kontaktimit dhe gamave nĂ« hartimin e pĂ«rkthimit tĂ« adresave (NAT). table ip nat { chain prerouting { type nat hook prerouting priority dstnat; policy accept; dnat to ip daddr . tcp dport map { 10.1.1.136 . 80 : 1.1.2.69 . 1024, 10.1.1.10-10.1.1.20 . 8888-8889 : 1.1.2.69 . 2048-2049 } persistent } }
  • Shtuar mbĂ«shtetje pĂ«r shprehjen «last», qĂ« lejon tĂ« dihet koha e pĂ«rdorimit tĂ« fundit tĂ« njĂ« elementi rregulli ose listĂ«s set. Kjo mundĂ«si mbĂ«shtetet qĂ« nga bĂ«rthama Linux 5.14. table ip x { set y { typeof ip daddr . tcp dport size 65535 flags dynamic,timeout last timeout 1h } chain z { type filter hook output priority filter; policy accept; update @y { ip daddr . tcp dport } } } # nft list set ip x y table ip x { set y { typeof ip daddr . tcp dport size 65535 flags dynamic,timeout last timeout 1h elements = { 172.217.17.14 . 443 last used 1s591ms timeout 1h expires 59m58s409ms, 172.67.69.19 . 443 last used 4s636ms timeout 1h expires 59m55s364ms, 142.250.201.72 . 443 last used 4s748ms timeout 1h expires 59m55s252ms, 172.67.70.134 . 443 last used 4s688ms timeout 1h expires 59m55s312ms, 35.241.9.150 . 443 last used 5s204ms timeout 1h expires 59m54s796ms, 138.201.122.174 . 443 last used 4s537ms timeout 1h expires 59m55s463ms, 34.160.144.191 . 443 last used 5s205ms timeout 1h expires 59m54s795ms, 130.211.23.194 . 443 last used 4s436ms timeout 1h expires 59m55s564ms } } }
  • Shtuar mundĂ«sia pĂ«r pĂ«rcaktimin e kuotave nĂ« listat set. PĂ«r shembull, pĂ«r tĂ« pĂ«rcaktuar njĂ« kuotĂ« pĂ«r trafikun pĂ«r çdo adresĂ« IP target, mund tĂ« specifikohet: table netdev x { set y { typeof ip daddr size 65535 quota over 10000 mbytes } chain y { type filter hook egress device «eth0» priority filter; policy accept; ip daddr @y drop } } # nft add element inet x y { 8.8.8.8 } # ping -c 2 8.8.8.8 # nft list ruleset table netdev x { set y { type ipv4_addr size 65535 quota over 10000 mbytes elements = { 8.8.8.8 quota over 10000 mbytes used 196 bytes } } chain y { type filter hook egress device «eth0» priority filter; policy accept; ip daddr @y drop } }
  • ËshtĂ« lejuar pĂ«rdorimi i konstantave nĂ« listat set. PĂ«r shembull, kur pĂ«rdoret si çelĂ«s i listĂ«s adresĂ«n e destinacionit dhe identifikuesin VLAN, mund tĂ« specifikohet direkt numri i VLAN (daddr . 123): table netdev t { set s { typeof ether saddr . vlan id size 2048 flags dynamic,timeout timeout 1m } chain c { type filter hook ingress device eth0 priority 0; policy accept; ether type != 8021q update @s { ether daddr . 123 } counter } }
  • Shtuar urdhri i ri «destroy» pĂ«r fshirjen pa kushte tĂ« objekteve (nĂ« dallim nga urdhri i fshirjes, nuk gjeneron ENOENT kur pĂ«rpiqet tĂ« fshijĂ« njĂ« objekt tĂ« munguar). PĂ«r funksionimin kĂ«rkohet tĂ« paktĂ«n bĂ«rthama Linux 6.3-rc. destroy table ip filter

Burimi: opennet.ru

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