Megjelent az nftables 0.9.3 csomagszűrő

Megjelent csomagszűrő kiadása nftables 0.9.3, amely az iptables, ip6tables, arptables és ebtables helyettesítésére fejlődik, a csomagszűrési interfészek egységesítésével IPv4, IPv6, ARP és hálózati hidak számára. Az nftables csomag részeként felhasználói módban működő csomagszűrő komponensek találhatók, míg a kernel szintjén az nf_tables alrendszer biztosítja a működést, amely a Linux 3.13-as kiadásától kezdődően elérhető. Az nftables 0.9.3 kiadásához szükséges változtatások a jövőbeli Linux kernel 5.5-ös verziójának részei.

A kernel szintjén csak egy általános interfész biztosított, amely független a konkrét protokolltól, és alapvető funkciókat nyújt az adatok csomagokból való kinyerésére, az adatokkal való műveletekre és az áramlás kontrollálására. Maguk a szűrési logika és a protokoll-specifikus kezelők a felhasználói térben bytekódra fordulnak, amelyet ezután a Netlink interfész segítségével betölt a kernelbe és egy BPF-hez (Berkeley Packet Filters) hasonló speciális virtuális gépen fut. Ez a megközelítés jelentősen csökkenti a kernel szintjén futó szűrési kód méretét, miközben az összes szabályfeldolgozással és protokollokkal kapcsolatos logikát a felhasználói térbe helyezi.

Főbb újítások:

  • Támogatás az időalapú csomagok egyeztetésére. Meghatározhatók olyan időtartamok és dátumok, amikor a szabály érvényes, valamint beállíthatók különböző napok. Új '-T' opció is hozzáadva, amellyel az epoch időt másodpercekben lehet megjeleníteni.

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

  • Támogatás az SELinux (secmark) címkék helyreállítására és megőrzésére.

    ct secmark set meta secmark
    meta secmark set ct secmark

  • Támogatás a synproxy map-listákhoz, amelyek lehetővé teszik több szabály meghatározását a háttér számára.

    tábla ip foo {
    synproxy https-synproxy {
    mss 1460
    wscale 7
    timestamp sack-perm
    }

    synproxy other-synproxy {
    mss 1460
    wscale 5
    }

    chain pre {
    típus szűrő horgony prerouting prioritás nyers; politika elfogadása;
    tcp dport 8888 tcp flags syn notrack
    }

    lánc bar {
    típus szűrő horgony forward prioritás szűrő; politika elfogadása;
    ct state invalid,untracked synproxy name ip saddr map { 192.168.1.0/24 : "https-synproxy", 192.168.2.0/24 : "other-synproxy" }
    }
    }

  • Lehetőség a set-csoportok dinamikus elemeinek eltávolítására a csomagszűrési szabályokból.

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

  • Támogatás VLAN egyeztetésére az azonosító és protokoll alapján, amelyeket a hálózati híd interfész metaadatai határoznak meg;

    meta ibrpvid 100
    meta ibrvproto vlan

  • A '-t' ('—terse') opció a set-csoportok elemeinek kizárására a szabályok megjelenítésekor. A "nft -t list ruleset" végrehajtásakor az alábbiak jelennek meg:

    table ip x {
    set y {
    type ipv4_addr
    }
    }

    A "nft list ruleset" parancs esetén

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

  • Lehetőség több eszköz megadására a netdev láncokban (csak 5.5-ös kernellel működik), hogy egyesítsük a típuskénti szűrési szabályokat.

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

  • Lehetőség adat típusaik leírásának hozzáadására.

    # nft describe ipv4_addr
    datatype ipv4_addr (IPv4 cím) (basetype integer), 32 bit

  • CLI interfész összeállításának lehetősége a linenoise könyvtárral a libreadline helyett.

    ./configure —with-cli=linenoise

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster