Pakettide filtreerija nftables 1.1.6 vÀljalase

Avaldati pakettfiltri nftables 1.1.6 vĂ€ljaanne, mis ĂŒhtlustab pakettide filtreerimise liideseid IPv4, IPv6, ARP ja vĂ”rgu sillade jaoks (sihtides asendada iptables, ip6tables, arptables ja ebtables). Samuti avaldati kaasneva teegi libnftnl 1.3.1 vĂ€ljaanne, mis pakub madala taseme API-d nf_tables sĂŒsteemiga suhtlemiseks.

Nftables'i paketti kuuluvad kasutajaruumi töötavad pakettfilteri komponendid, samas kui tuuma tasemel tagab töö nf_tables sĂŒsteem, mis on osa Linuxi tuumast alates versioonist 3.13. Tuuma tasemel pakutakse vaid ĂŒldist liidest, mis ei sĂ”ltu konkreetsest protokollist ja pakub pĂ”hifunktsioone andmete vĂ€ljavĂ”tmiseks pakettidest, andmetega töötamiseks ja voogude haldamiseks.

Filtreerimise reeglid ja protokollile spetsiifilised töötlejad kompileeritakse kasutajaruumi baidikoodiks, seejÀrel laaditakse see baidikood tuuma Netlink liidese abil ja tÀidetakse tuumas spetsiaalses virtuaalses masinas, mis meenutab BPF-i (Berkeley Packet Filters). Selline lÀhenemine vÔimaldab oluliselt vÀhendada tuuma tasemel töötava filtreerimiskoodi suurust ja viia kÔik reeglite tÔlgendamise ja protokollidega töötamise funktsioonid kasutajaruumi.

Peamised muudatused:

  • TĂ€ielik tugi kergete tunnelite mallidele, nagu vxlan, geneve ja erspan: table netdev global { tunnel t1 { id 10 ip saddr 192.168.2.10 ip daddr 192.168.2.11 sport 1025 dport 20020 ttl 1 erspan { version 1 index 2 } } tunnel t2 { id 10 ip saddr 192.168.3.10 ip daddr 192.168.3.11 sport 1025 dport 21021 ttl 1 erspan { version 1 index 2 } } chain in { type filter hook ingress device veth0 priority 0; tunnel name ip saddr map { 10.141.10.12 : "t1", 10.141.10.13 : "t2" } fwd to erspan1 } } Enne reeglite laadimist tuleb luua vĂ”rguliides erspan1: ip link add dev erspan1 type erspan external
  • Lisatud tugi maskide jaoks vĂ”rgu liideste nimedes netdevi töötlemisse, nĂ€iteks sisenemisse suunatud liiklusfiltri pĂ”hiehestruktuuri lisamiseks kĂ”igi vlan seadmete jaoks saab nĂ€idata: table netdev t { chain c { type filter hook ingress devices = { "vlan*", "veth0" } priority filter; policy accept; } }
  • Linuxi kerneliga sĂŒsteemides 6.18+ on rakendatud L2-raamide edastusvĂ”ime toetamine vĂ”rgu sillade liideste jaoks kohalikuks töötlemiseks, nĂ€iteks kĂ”ikide Ethernet-raamide suunamiseks IP-stĂ€kki MAC-aadressile de:ad:00:00:be:ef vĂ”ib nĂ€idata: table bridge global { chain pre { type filter hook prerouting priority 0; policy accept; ether daddr de:ad:00:00:be:ef meta pkttype set host ether daddr set meta ibrhwaddr accept } }
  • Lisatud uus infrastruktuur fuzz-testimiseks, kasutades tööriistakomplekti afl++ (american fuzzy lop++), aktiveeritakse ehitusprotsessi kĂ€igus lĂ€bi "./configure --with-fuzzer".

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster