Lëshimi i filtrit në grup nftables 0.9.2

U zhvillua lëshimi i filtrit të paketave nftables 0.9.2, duke u zhvilluar si një zëvendësim për iptables, ip6tables, arptables dhe ebtables përmes unifikimit të interfeseve të filtrimit të paketave për IPv4, IPv6, ARP dhe urat e rrjetit. Paketa nftables përmban komponentë të filtrit të paketave që punojnë në hapësirën e përdoruesit, ndërsa në nivelin e kernelit është e punësuar nën-sistemi nf_tables, i cili është pjesë e kernelit të Linux që nga lëshimi 3.13. Ndryshimet e nevojshme për funksionimin e lëshimit nftables 0.9.2 përfshijnë integrimin në kernelin e Linux 5.3.

Në nivelin e kernelit ofrohet vetëm një ndërfaqe e përgjithshme, e pavarur nga protokolli specifik dhe që siguron funksionet bazë për nxjerrjen e të dhënave nga paketat, kryerjen e operacioneve mbi të dhënat dhe menaxhimin e rrjedhës. Vetë logjika e filtrimit dhe përpunuesit specifikë për protokollet kompilohen në bytecode në hapësirën e përdoruesit, më pas ky bytecode ngarkohet në kernel me anë të ndërfaqes Netlink dhe ekzekutohet në një makinë virtuale të posaçme, të ngjashme me BPF (Berkeley Packet Filters). Kjo qasje mundëson ulje të ndjeshme të madhësisë së kodit të filtrimit që ekzekutohet në nivelin e kernelit dhe zhvendos të gjitha funksionet e analizimit të rregullave dhe logjikën e punës me protokollet në hapësirën e përdoruesit.

Novitetet kryesore:

  • MundĂ«sia pĂ«r tĂ« verifikuar numrin e portit nga header-i i paketĂ«s nĂ« nivelin e transportit pavarĂ«sisht nga lloji i protokollit tĂ« nivelit 4:

    shto rregull x y ip protokolli { tcp, udp } th dport 53

  • MbĂ«shtetje pĂ«r rikthimin e kohĂ«s sĂ« jetĂ«s sĂ« njĂ« grupi elementĂ«sh:

    shto element ip x y { 1.1.1.1 timeout 30s skadon 15s }

  • MundĂ«sia pĂ«r tĂ« verifikuar opsione tĂ« veçanta (lsrr, rr, ssrr dhe ra) nga paketat IPv4:

    shto rregull x y ip opsioni rr ekziston heq

    Për opsionet e rrugës, është e mundur të kontrolloni fushat type, ptr, length dhe addr:

    shto rregull x y ip opsioni rr type 1 heq

  • NĂ« shprehje tani Ă«shtĂ« e lejueshme tĂ« especificohen prefikse rrjeti dhe intervale adresash:

    iifname ens3 snat to 10.0.0.0/28
    iifname ens3 snat to 10.0.0.1-10.0.0.15

  • MbĂ«shtetje pĂ«r pĂ«rdorimin e variablave nĂ« pĂ«rcaktimet e zinxhirĂ«ve:

    përcakto default_policy = prano
    shto zinxhir ip foo bar { tipi filtrues kllapa hyrëse prioriteti filtrues; politika $default_policy }

  • Tani mund tĂ« tregohet prioriteti i zinxhirit si nĂ« formĂ« numerike ashtu edhe nĂ« formĂ« simbolike:

    përcakto prio = filtrues
    përcakto prionum = 10
    përcakto prioffset = "filtrues - 150"

    shto tavolinë ip foo
    shto zinxhir ip foo bar { tipi filtrues kllapa hyrëse prioriteti $prio; }
    shto zinxhir ip foo ber { tipi filtrues kllapa hyrëse prioriteti $prionum; }
    shto zinxhir ip foo bor { tipi filtrues kllapa hyrëse prioriteti $prioffset; }

  • ËshtĂ« e implementuar mbĂ«shtetje pĂ«r modulun synproxy. PĂ«r shembull, pĂ«r tĂ« mbrojtur portin TCP 8888 nĂ«n mbrojtjen e synproxy, mund tĂ« pĂ«rdoren rregulla tĂ« kĂ«tij tipi:

    tabela ip x {
    zinxhir y {
    type filter hook prerouting priority raw; policy accept;
    tcp dport 8888 tcp flags syn notrack
    }

    zinxhiri z {
    type filter hook forward priority filter; policy accept;
    tcp dport 8888 ct gjendja e pavlefshme, e pakontrolluar synproxy mss 1460 \
    wscale 7 timestamp sack-perm ct gjendja e pavlefshme heq
    }
    }

  • PĂ«r tĂ« pĂ«rcaktuar nĂ« tabelĂ«n conntrack lidhur me lidhjen aktuale, pritjet e lidhjeve tĂ« tjera tĂ« pritshme qĂ« zbatohen nĂ« protokollet dhe skenarĂ«t qĂ« kĂ«rkojnĂ« vendosjen e disa lidhjeve, tani mund tĂ« pĂ«rcaktohen politika pĂ«rmes grupeve tĂ« zakonshme tĂ« rregullave. PĂ«r shembull, pĂ«r tĂ« caktuar lidhjet e pritshme pas lidhjes nĂ« portin TCP 8888 pĂ«r lidhjet e mĂ«passhme nĂ« portin 5432, mund tĂ« jepen rregulla tĂ« mĂ«poshtme:

    tabela x {
    ct pritja myexpect {
    protokolli tcp
    dport 5432
    timeout 1h
    size 12
    l3proto ip
    }

    zinxhir hyrës {
    tipi filtrues kllapa hyrëse prioriteti 0;
    ct gjendja e re tcp dport 8888 ct pritja set myexpect
    ct gjendja e ngritur, e lidhur numëro pranoni
    }
    }

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