I muri i te tau o te whanaketanga
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-65536Ka 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