Lëshimi i filtrit paketor nftables 0.9.3

Publikuar lëshimi i filtrit të paketave nftables 0.9.3, që po zhvillohet si një zëvendësim për iptables, ip6tables, arptables dhe ebtables përmes unifikimit të ndërfaqeve të filtrimit të paketave për IPv4, IPv6, ARP dhe urat rrjetësore. Paketa nftables përfshin komponimet e filtrit të paketave që funksionojnë në hapësirën e përdoruesit, ndërsa në nivelin e bërthamës, puna sigurohet nga nën-sistemi nf_tables, i cili është pjesë e bërthamës Linux që nga versione 3.13. Ndryshimet e nevojshme për funksionimin e versionit nftables 0.9.3 janë përfshirë në degën e ardhshme të bërthamës Linux 5.5.

Në nivelin e bërthamës, ofrohet vetëm një ndërfaqe e përgjithshme, që nuk varet nga një protokoll i caktuar dhe ofron funksione bazike për nxjerrjen e të dhënave nga paketat, kryerjen e operacioneve me të dhëna dhe menaxhimin e rrjedhës. Logjika e filtrimit dhe trajtuesit specifikë për protokollet kompilohet në kod byte në hapësirën e përdoruesit, pas së cilës ky kod byte ngarkohet në bërthamë përmes ndërfaqes Netlink dhe ekzekutohet në një makinë virtuale speciale, e ngjashme me BPF (Berkeley Packet Filters). Ky 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.

TĂ« rejat kryesore:

  • MbĂ«shtetje pĂ«r pĂ«rputhjen e paketave sipas kohĂ«s. Mund tĂ« pĂ«rcaktohet si intervale kohore dhe datash, kur do tĂ« aktivizohet rregulli, ashtu siç Ă«shtĂ« e mundur tĂ« konfiguroni aktivizimin nĂ« ditĂ« tĂ« veçanta tĂ« javĂ«s. Po ashtu Ă«shtĂ« shtuar njĂ« opsion i ri "-T" pĂ«r tĂ« shfaqur kohĂ«n 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 e hartĂ«s synproxy, qĂ« lejojnĂ« pĂ«rcaktimin e mĂ« shumĂ« se njĂ« rregulli nĂ« backend.

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

    synproxy other-synproxy {
    mss 1460
    wscale 5
    }

    chain pre {
    tipi filtri lidhni paralajmërimin përparësi të papërpunuar; politika prano;
    tcp dport 8888 tcp flags syn notrack
    }

    chain bar {
    tipi filtri lidhni përpara përparësi filtri; politika prano;
    ct state invalid,untracked synproxy name ip saddr map { 192.168.1.0/24 : «https-synproxy», 192.168.2.0/24 : «other-synproxy» }
    }
    }

  • MundĂ«sia pĂ«r tĂ« fshirĂ« dinamikisht elementĂ«t e grupeve set nga rregullat e pĂ«rpunimit tĂ« pakove.

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

  • MbĂ«shtetje pĂ«r pĂ«rshtatjen e VLAN sipas identifikuesit dhe protokollit, tĂ« pĂ«rcaktuar nĂ« metadata e ndĂ«rfaqes sĂ« urĂ«s rrjetit;

    meta ibrpvid 100
    meta ibrvproto vlan

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

    tavolinë ip x {
    set y {
    type ipv4_addr
    }
    }

    Ndërsa me «nft list ruleset»

    tavolinë ip x {
    set 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Ă« treguar mĂ« shumĂ« se njĂ« pajisje nĂ« zinxhirĂ«t netdev (funksionon vetĂ«m me bĂ«rthamĂ«n 5.5) pĂ«r tĂ« integruar rregulla tipike filtrimi.

    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 pĂ«r llojet e 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

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