Nftables packet tātari tuku 0.9.1

I muri i te tau o te whanaketanga i tukuna tuku tātari pākete nfttables 0.9.1, ka whanake hei whakakapi mo nga iptables, ip6table, arptables me nga ebtables ma te whakakotahi i nga atanga tātari paatete mo IPv4, IPv6, ARP me nga piriti whatunga. Kei roto i te kete nftables nga waahanga tātari packet e rere ana i te waahi kaiwhakamahi, i te wa e whakaratohia ana te mahi taumata-kero e te nf_tables subsystem, he waahanga o te kernel Linux mai i te tukunga 3.13.

Ko te taumata kernel e whakarato ana i te atanga kawa-motuhake noa e whakarato ana i nga mahi taketake mo te tango raraunga mai i nga paatete, te mahi raraunga, me te whakahaere rere.
Ko te arorau tātari ake me nga kaikawe kawa motuhake ka whakahiatohia ki te bytecode i roto i te waahi kaiwhakamahi, muri iho ka utaina tenei bytecode ki roto i te kernel ma te whakamahi i te atanga Netlink ka mahia i roto i tetahi miihini mariko motuhake e maumahara ana ki te BPF (Berkeley Packet Filters). Ma tenei huarahi ka taea e koe te whakaiti i te rahi o te waehere tātari e rere ana i te taumata kernel me te neke i nga mahi katoa o nga ture parsing me te arorau mo te mahi me nga kawa ki te waahi kaiwhakamahi.

Nga mahi hou:

  • Tautoko IPsec, ka taea te whakarite i nga wahitau kauhanga i runga i te paatete, te ID tono IPsec, me te tohu SPI (Taupae Tawhā Haumarutanga). Hei tauira,

    ... ipsec i te ip saddr 192.168.1.0/24
    ... ipsec i te spi 1-65536

    Ka taea hoki te tirotiro mena ka haere tetahi ara i roto i te kauhanga IPsec. Hei tauira, hei aukati i nga waka kauaka ma te IPSec:

    … tātari putanga rt ipsec te maturuturunga iho ngaro

  • Tautoko mo te IGMP (Kawa Whakahaere Roopu Ipurangi). Hei tauira, ka taea e koe te whakamahi i tetahi ture ki te whakakore i nga tono mema roopu IGMP taumai

    nft taapiri ture netdev foo bar igmp momo mema-whakataka patai patai

  • Ka taea te whakamahi taurangi hei tautuhi i nga mekameka whakawhiti (peke / goto). Hei tauira:

    tautuhi destin = ber
    tāpiri ture ip foo pae peke $dest

  • Tautoko mo nga kanohi ki te tautuhi i nga punaha whakahaere (OS Fingerprint) i runga i nga uara TTL i te pane. Hei tauira, hei tohu i nga paatete i runga i te OS kaituku, ka taea e koe te whakamahi i te whakahau:

    ... huinga tohu meta osf ttl peke ingoa mapi { "Linux" : 0x1,
    "Windows": 0x2,
    "MacOS": 0x3,
    "kaore e mohiotia" : 0x0 }
    ... osf ttl tīpoka putanga "Linux:4.20"

  • Te kaha ki te whakarite i te wahitau ARP o te kaituku me te wahitau IPv4 o te punaha whaainga. Hei tauira, hei whakanui ake i te porotiti o nga paatete ARP i tukuna mai i te wahitau 192.168.2.1, ka taea e koe te whakamahi i te ture e whai ake nei:

    tepu arp x {
    mekameka y {
    momo tātari matau tāuru tātari matua; whakaae kaupapa here;
    arp saddr ip 192.168.2.1 pākete porotiti 1 paita 46
    }
    }

  • Tautoko mo te tuku whakamua marama o nga tono ma te takawaenga (tproxy). Hei tauira, ki te tuku waea ki te tauranga 80 ki te tauranga takawaenga 8080:

    ripanga ip x {
    mekameka y {
    Momo tātari matau mua ararere matua -150; whakaae kaupapa here;
    tcp dport 80 tproxy ki :8080
    }
    }

  • Tautoko mo te tohu turanga me te kaha ki te tiki atu i te tohu kua whakaritea ma te setsockopt() i roto i te aratau SO_MARK. Hei tauira:

    tepu inet x {
    mekameka y {
    Momo tātari matau mua ararere matua -150; whakaae kaupapa here;
    tcp dport 8080 tohu tautuhi tohu turanga
    }
    }

  • Tautoko mo te tautuhi i nga ingoa kuputuhi matua mo nga mekameka. Hei tauira:

    nft tāpiri mekameka ip x raw { type tātari matau prerouting priority matua raw; }
    nft tāpiri mekameka ip x tātari { momo tātari matau i mua i te arai i te tātari matua; }
    nft tāpiri mekameka ip x filter_later { type tātari matau prerouting priority tātari + 10; }

  • Tautoko mo nga tohu SELinux (Secmark). Hei tauira, ki te tautuhi i te tohu "sshtag" i roto i te horopaki SELinux, ka taea e koe te whakahaere:

    nft taapiri i te tohu tātari inet sshtag "system_u: object_r:ssh_server_packet_t:s0"

    Na ka whakamahi i tenei tapanga i roto i nga ture:

    nft taapiri ture whakauru tātari inet tcp dport 22 meta secmark huinga "sshtag"

    nft tāpiri mahere inet tātari secmapping { momo inet_service : secmark; }
    nft tāpiri huānga tātari inet secmapping {22: "sshtag"}
    nft tāpiri ture inet tātari tāuru meta secmark huinga tcp dport map @secmapping

  • Te kaha ki te tautuhi i nga tauranga kua tohaina ki nga kawa i roto i te ahua kuputuhi, i te mea kua tautuhia ki te konae /etc/services. Hei tauira:

    nft taapiri ture xy tcp dport "ssh"
    nft rarangi ture -l
    tepu x {
    mekameka y {
    ...
    tcp dport "ssh"
    }
    }

  • Te kaha ki te tirotiro i te momo atanga whatunga. Hei tauira:

    tāpiri ture inet raw prerouting meta iifkind "vrf" whakaae

  • He pai ake te tautoko mo te whakahōu hihiko i nga ihirangi o nga huinga ma te whakaatu i te haki "kaha". Hei tauira, ki te whakahou i te huinga "s" ki te taapiri i te wahitau puna me te tautuhi ano i te urunga mena kaore he putea mo te 30 hēkona:

    taapiri tepu x
    tāpiri huinga xs {momo ipv4_addr; rahi 128; wā mutunga 30s; haki hihiri; }
    tāpiri mekameka xy { momo tātari matau tāuru matua 0; }
    tāpiri ture xy whakahou @s { ip saddr }

  • Te kaha ki te whakarite i tetahi ahuatanga waahi motuhake. Hei tauira, ki te whakakore i te waahi taunoa mo nga kete ka tae mai ki te tauranga 8888, ka taea e koe te tautuhi:

    tātari ip ripanga {
    ct timeout aggressive-tcp {
    kawa tcp;
    l3proto ip;
    kaupapa here = {whakaturia: 100, kati_tatari: 4, kati: 4}
    }
    putanga mekameka {
    ...
    tcp dport 8888 ct kua tautuhia te waahi "whakakaha-tcp"
    }
    }

  • Tautoko NAT mo te whanau inet:

    tepu inet nat {
    ...
    ip6 daddr mate::2::1 dnat ki mate:2::99
    }

  • Kua pai ake te purongo hapa typo:

    nft taapiri whakamatautau tātari mekameka

    Hapa: Karekau he konae, he whaiaronga ranei; Ko te tikanga o te ripanga "tatari" i te ip whanau?
    tāpirihia te whakamatautau tātari mekameka
    ^^^^^^

  • Te kaha ki te tautuhi i nga ingoa atanga ki nga huinga:

    tautuhi sc {
    momo inet_service . ifname
    huānga = { "ssh" . "eth0" }
    }

  • Whakahōuhia te wetereo ture ripanga rere:

    nft tāpiri ripanga x
    nft tāpiri riipene rere x ft { te matua urunga matau 0; taputapu = {eth0, wlan0}; }
    ...
    nft tāpiri ture x whakamua ip kawa { tcp, udp } flow add @ft

  • Kua pai ake te tautoko a JSON.

Source: opennet.ru

Tāpiri i te kōrero