Pakettfiltri nftables vÀljaanne 0.9.3

Avaldatud paketifiltri vĂ€ljalaskmine nftables 0.9.3, mis areneb vahetus iptables, ip6tables, arptables ja ebtables kaudu, ĂŒhtlustades IPv4, IPv6, ARP ja vĂ”rgu sildade pakettide filtreerimise liideseid. nftables pakett sisaldab kasutusruumi paketifiltri komponente, samas kui tuuma tasemel tĂ€idab tööd nf_tables alamsĂŒsteem, mis on Linuxi tuumas alates versioonist 3.13. NĂ”utud muudatused nftables 0.9.3 tööks on kaasatud tulevasse Linuxi tuuma harusse 5.5.

Tuuma tasandil pakutakse vaid ĂŒldist liidest, mis ei ole sĂ”ltuv konkreetsetest protokollidest ning mis pakub baasfunktsioone andmete paketist vĂ€ljavĂ”tmiseks, andmetega töötamiseks ja voogude haldamiseks. Filtrimise loogika ja protokollispetsiifilised töötlejad kompileeritakse byte-koodiks kasutaja ruumis, seejĂ€rel laaditakse see byte-kood tuumasse Netlinki liidese abil ja seda tĂ€idetakse spetsiaalses virtuaalses masinas, mis meenutab BPF-i (Berkeley Packet Filters). Selline lĂ€henemine vĂ”imaldab mĂ€rkimisvÀÀrselt vĂ€hendada tuumal töötava filtreerimiskoodi suurust ning viia kĂ”ik reeglite analĂŒĂŒsi ja protokollidega töötamise funktsioonid kasutaja ruumi.

PÔhilised uuendused:

  • Pakettide ajaga sidumise tugi. Saate mÀÀratleda ajavahemikud ja kuupĂ€evad, millal reegel kehtib, ning seadistada ka kehtivuse nĂ€dalapĂ€evade osas. Uus valik "-T" on samuti lisatud, et vĂ€ljastada ajatempe sekundites.

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

  • SELinuxi (secmark) mĂ€rkide taastamise ja salvestamise tugi.

    ct secmark set meta secmark
    meta secmark set ct secmark

  • Map-listide (synproxy) tugi, mis vĂ”imaldavad mÀÀrata rohkem kui ĂŒhe reegli tagapinnale.

    table 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» }
    }
    }

  • DĂŒnaamiline elementide eemaldamise vĂ”imalus set-kogumitest pakettide töötlemise reeglitest.

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

  • VLAN-i mÀÀramine vastavalt identifikaatorile ja protokollile, mis on mÀÀratletud vĂ”rgu silla liidese metaandmetes;

    meta ibrpvid 100
    meta ibrvproto vlan

  • Valik „-t“ („—terse“) set-kogumite elementide vĂ€listamiseks reeglite kuvamisel. KĂ€ivitamisel „nft -t list ruleset“ kuvatakse:

    table ip x {
    set y {
    type ipv4_addr
    }
    }

    Ja kui kasutada „nft list ruleset“

    table ip x {
    set y {
    type ipv4_addr
    elements = { 192.168.10.2, 192.168.20.1,
    192.168.4.4, 192.168.2.34 }
    }
    }

  • VĂ”imalus mÀÀrata rohkem kui ĂŒks seade netdev-ahelates (töötab ainult tuuma 5.5-ga) tĂŒĂŒppakettide filtreerimise reeglite ĂŒhendamiseks.

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

  • VĂ”imalus lisada andmetĂŒĂŒpide kirjeldusi.

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

  • VĂ”imalus ehitada CLI-liides linenoise teegi abil libreadline'i asemel.

    ./configure —with-cli=linenoise

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster