Lëshimi i filtrit të paketave nftables 0.9.3

Publikuar lëshimi i filtrit të paketave nftables 0.9.3, që po zhvillohet si zëvendësim për iptables, ip6table, arptables dhe ebtables falë unifikimit të ndërfaqeve të filtrimit të paketave për IPv4, IPv6, ARP dhe urat e rrjetit. Paketa nftables përfshin komponentë të filtrit të paketave që funksionojnë në hapësirën e përdoruesit, ndërsa në nivelin e kernelit funksionimin e siguron nënsistemi nf_tables, i cili është pjesë e kernelit Linux që nga versioni 3.13. Ndryshimet e nevojshme për funksionimin e versionit nftables 0.9.3 janë përfshirë në degën e ardhshme të kernelit Linux 5.5.

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:

  • MbĂ«shtetje pĂ«r pĂ«rputhjen e paketave sipas kohĂ«s. Mund tĂ« pĂ«rcaktohen si intervale kohe dhe datash, nĂ« tĂ« cilat do tĂ« zbatohet rregulli, ashtu edhe aktivizimi nĂ« ditĂ« tĂ« caktuara tĂ« javĂ«s. ËshtĂ« shtuar gjithashtu opsioni i ri “-T” pĂ«r shfaqjen e kohĂ«s epokale nĂ« sekonda.

    meta time \»2019-12-24 16:00\» — \»2020-01-02 7:00\»
    meta hour \»17:00\» — \»19:00\»
    meta day \»Fri\»

  • MbĂ«shtetje pĂ«r rikthimin dhe ruajtjen e etiketave SELinux (secmark).

    ct secmark set meta secmark
    meta secmark set ct secmark

  • MbĂ«shtetje pĂ«r listat map tĂ« synproxy, qĂ« lejojnĂ« pĂ«rcaktimin e mĂ« shumĂ« se njĂ« rregulli pĂ«r backend.

    tabela ip foo {
    synproxy https-synproxy {
    mss 1460
    wscale 7
    timestamp sack-perm
    }

    synproxy other-synproxy {
    mss 1460
    wscale 5
    }

    chain pre {
    type filter hook prerouting priority raw; policy accept;
    tcp dport 8888 tcp flags syn notrack
    }

    chain bar {
    type filter hook forward priority filter; policy accept;
    ct state invalid,untracked synproxy name ip saddr map { 192.168.1.0/24 : «https-synproxy», 192.168.2.0/24 : «other-synproxy» }
    }
    }

  • MundĂ«si pĂ«r fshirjen dinamike tĂ« elementeve tĂ« grupeve set nga rregullat e pĂ«rpunimit tĂ« paketave.

    nft add rule 
 delete @set5 { ip6 saddr . ip6 daddr }

  • MbĂ«shtetje pĂ«r pĂ«rputhjen e VLAN sipas identifikuesit dhe protokollit, tĂ« pĂ«rcaktuara nĂ« metadatat e ndĂ«rfaqes sĂ« urĂ«s sĂ« rrjetit;

    meta ibrpvid 100
    meta ibrvproto vlan

  • Opsioni «-t» («—terse») pĂ«r tĂ« pĂ«rjashtuar elementet e grupeve set gjatĂ« shfaqjes sĂ« rregullave. Kur ekzekutohet «nft -t list ruleset», do tĂ« shfaqet:

    tabela ip x {
    grupi y {
    type ipv4_addr
    }
    }

    Ndërsa me «nft list ruleset»

    tabela ip x {
    grupi y {
    type ipv4_addr
    elements = { 192.168.10.2, 192.168.20.1,
    192.168.4.4, 192.168.2.34 }
    }
    }

  • MundĂ«sia pĂ«r tĂ« specifikuar mĂ« shumĂ« se njĂ« pajisje nĂ« zinxhirĂ«t netdev (funksionon vetĂ«m me kernel 5.5) pĂ«r tĂ« bashkuar rregullat tipike tĂ« filtrimit.

    add table netdev x
    add chain netdev x y { \
    type filter hook ingress devices = { eth0, eth1 } priority 0;
    }

  • MundĂ«sia pĂ«r tĂ« shtuar pĂ«rshkrime tĂ« llojeve tĂ« tĂ« dhĂ«nave.

    # nft describe ipv4_addr
    datatype ipv4_addr (IPv4 address) (basetype integer), 32 bits

  • MundĂ«sia pĂ«r tĂ« ndĂ«rtuar ndĂ«rfaqen CLI me bibliotekĂ«n linenoise nĂ« vend tĂ« libreadline.

    ./configure —with-cli=linenoise

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