แแแแแแแแ แแแแก แแ แแ แฌแแแก แจแแแแแ
แแแ แแแแก แแแแ แฃแแ แฃแแแแแงแแคแก แแฎแแแแ แแแแแ แแ แแขแแแแแแกแแแ แแแแแฃแแแแแแแ แแแขแแ แคแแแกแก, แ แแแแแแช แฃแแ แฃแแแแแงแแคแก แซแแ แแแแ แคแฃแแฅแชแแแแก แแแแแขแแแแแแ แแแแแชแแแแแแก แแแแกแแฆแแแแ, แแแแแชแแแแ แแแแ แแชแแแแแก แจแแกแแกแ แฃแแแแแแ แแ แแแแแแแก แแแแขแ แแแแกแแแแก.
แแแแแ แคแแแขแ แแชแแแก แแแแแแ แแ แแ แแขแแแแแแก แกแแแชแแคแแแฃแ แ แแแแแฃแจแแแแแแแแ แจแแแแแแแแแ แแแแฎแแแ แแแแแก แกแแแ แชแแจแ แแแแขแแแแแจแ, แ แแก แจแแแแแแแช แแก แแแแขแ แแขแแแ แแแแ แแแ แแแจแ Netlink แแแขแแ แคแแแกแแก แแแแแงแแแแแแ แแ แจแแกแ แฃแแแแฃแแแ แกแแแชแแแแฃแ แแแ แขแฃแแแฃแ แแแแฅแแแแจแ, แ แแแแแแช แแแแแแแแแแแก BPF-แก (Berkeley Packet Filters). แแก แแแแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแจแแแแแแแแแ แจแแแแชแแ แแ แแแ แแแแก แแแแแแ แแแจแแแแฃแแ แคแแแขแ แแชแแแก แแแแแก แแแแ แแ แแแแแแขแแแแ แแ แแขแแแแแแแแแ แแฃแจแแแแแก แฌแแกแแแแกแ แแ แแแแแแแก แงแแแแ แคแฃแแฅแชแแ แแแแฎแแแ แแแแแก แกแแแ แชแแจแ.
แซแแ แแแแแ แแแแแแชแแแแ:
- IPsec แแฎแแ แแแญแแ แ, แแแแ แแแแก แแแกแแแแ แแแแแก แจแแกแแขแงแแแกแ แแแแแขแแก, IPsec แแแแฎแแแแแก ID แแ SPI (แฃแกแแคแ แแฎแแแแแก แแแ แแแแขแ แแก แแแแแฅแกแ) แขแแแแก แกแแคแฃแซแแแแแ. แฒแแแแแแแแ,
... ipsec ip saddr 192.168.1.0/24-แจแ
... ipsec spi 1-65536-แจแแแกแแแ แจแแกแแซแแแแแแแ แแแแก แจแแแแฌแแแแ, แแแแแก แแฃ แแ แ แแแ แจแ แฃแขแ IPsec แแแแ แแแจแ. แแแแแแแแแ, แขแ แแคแแแแก แแแแแแแแ แแ แ IPSec-แแก แกแแจแฃแแแแแแ:
โฆ แคแแแขแ แแก แแแแแแแแแแ rt ipsec แแแแแ แฌแแแแ
- IGMP-แแก (แแแขแแ แแแข แฏแแฃแคแแก แแแ แแแแก แแ แแขแแแแแแก) แแฎแแ แแแญแแ แ. แแแแแแแแแ, แจแแแแซแแแแ แแแแแแงแแแแ แฌแแกแ IGMP แฏแแฃแคแแก แฌแแแ แแแแก แจแแแแแแแแแ แแแแฎแแแแแแแก แแแกแแฃแฅแแแแแแ
nft แแแแแแขแแ แฌแแกแ netdev foo bar igmp แขแแแแก แฌแแแ แแแ-query counter drop
- แแแ แแแแแแแแ แฏแแญแแแแแก แแแแกแแแฆแแ แแกแแแแแก แชแแแแแแแแก แแแแแงแแแแแแก แจแแกแแซแแแแแแแ (แแแฎแขแแแ / goto). แฒแแแแแแแแ:
แแแแกแแแฆแแ แแ dest = ber
แแแแแแขแ แฌแแกแ ip foo bar jump $dest - แแแฆแแแแแก แแฎแแ แแแญแแ แ แแแแ แแชแแฃแแ แกแแกแขแแแแแแก แแแแแขแแคแแชแแ แแแแกแแแแก (OS Fingerprint) แกแแแแฃแ แจแ TTL แแแแจแแแแแแแแแแก แกแแคแฃแซแแแแแ. แแแแแแแแแ, แแแแแแแแแ OS-แแ แแแคแฃแซแแแแฃแแ แแแแแขแแแแก แแฆแกแแแแจแแแแแ, แจแแแแซแแแแ แแแแแแงแแแแ แแ แซแแแแแ:
... แแแขแ แแแจแแแก แแแแ แแแ osf ttl แกแแฎแแแแก แ แฃแแแก แแแแแขแแแแแ { "Linux" : 0x1,
"Windows": 0x2,
"MacOS": 0x3,
"แฃแชแแแแ" : 0x0 }
... osf ttl แแแแแขแแแแ แแแ แกแแ "Linux: 4.20" - แแแแแแแแแแแแก ARP แแแกแแแแ แแแแ แแ แกแแแแแแ แกแแกแขแแแแก IPv4 แแแกแแแแ แแแแ แจแแกแแแแแแกแแแแก แจแแกแแซแแแแแแแ. แแแแแแแแแ, 192.168.2.1 แแแกแแแแ แแแแแ แแแแแแแแแแ ARP แแแแแขแแแแก แแ แแชแฎแแแแแก แแแกแแแ แแแแแ, แจแแแแซแแแแ แแแแแแงแแแแ แจแแแแแแ แฌแแกแ:
แแแแแแ arp x {
แฏแแญแแ y {
แขแแแแก filter hook แจแแงแแแแแก แแ แแแ แแขแแขแฃแแ แคแแแขแ แ; แแแแแขแแแแก แแแฆแแแ;
arp saddr ip 192.168.2.1 แแ แแชแฎแแแแ แแแแแขแแแ 1 แแแแขแ 46
}
} - แแ แแฅแกแแก (tproxy) แแแจแแแแแแ แแแแฎแแแแแแแก แแแแญแแแ แแแแ แแแแแแแแแแแก แแฎแแ แแแญแแ แ. แแแแแแแแแ, 80-แ แแแ แขแแ แแแ แแแแก แแแแแแแกแแแแ แแแแ แแ แแฅแกแ แแแ แขแจแ 8080:
แชแฎแ แแแ ip x {
แฏแแญแแ y {
แขแแแแก แคแแแขแ แแก แแแฃแญแแก แแ แแแ แแขแแขแ -150; แแแแแขแแแแก แแแฆแแแ;
tcp dport 80 tproxy to:8080
}
} - แกแแแแขแแแแก แแแ แแแ แแแแก แแฎแแ แแแญแแ แ SO_MARK แ แแแแแจแ setsockopt()-แแก แแแจแแแแแแ แแแแแแแแฃแแ แแแจแแแก แจแแแแแแแ แแแฆแแแแก แจแแกแแซแแแแแแแแ. แฒแแแแแแแแ:
แชแฎแ แแแแก inet x {
แฏแแญแแ y {
แขแแแแก แคแแแขแ แแก แแแฃแญแแก แแ แแแ แแขแแขแ -150; แแแแแขแแแแก แแแฆแแแ;
tcp dport 8080 แแแจแแแก แแแแ แแแ แกแแแแขแแก แแแจแแแ
}
} - แแฎแแ แแแญแแ แ แฏแแญแแแแแกแแแแก แแ แแแ แแขแแขแฃแแ แขแแฅแกแขแแก แกแแฎแแแแแแก แแแแแแแแแกแแแแก. แฒแแแแแแแแ:
nft add chain ip x raw { type filter hook prerouting priority raw; }
nft add chain ip x filter { type filter hook prerouting priority filter; }
nft แแแแแแขแแ แฏแแญแแแก ip x filter_later { type filter hook prerouting priority filter + 10; } - SELinux แขแแแแแแก แแฎแแ แแแญแแ แ (Secmark). แแแแแแแแแ, SELinux แแแแขแแฅแกแขแจแ "sshtag" แขแแแแก แแแกแแแแแแแ, แจแแแแซแแแแ แแแฃแจแแแ:
nft แแแแแแขแแ secmark inet filter sshtag "system_u:object_r:ssh_server_packet_t:s0"
แจแแแแแ แแแแแแงแแแแ แแก แแขแแแแขแ แฌแแกแแแจแ:
nft แแแแแแขแ แฌแแกแ inet filter input tcp dport 22 meta secmark set โsshtagโ
nft แแแแแแขแแ แ แฃแแ inet filter secmapping { type inet_service : secmark; }
nft แแแแแแขแแ แแแแแแแขแ inet filter secmapping { 22 : "sshtag" }
nft แแแแแแขแ แฌแแกแ inet filter input meta secmark set tcp dport map @secmapping - แแ แแขแแแแแแแแกแแแแก แแแแแญแแแฃแแ แแแ แขแแแแก แขแแฅแกแขแแก แกแแฎแแ แแแแแแแแแก แจแแกแแซแแแแแแแ, แ แแแแ แช แแกแแแ แแแแกแแแฆแแ แฃแแแ /etc/services แคแแแแจแ. แฒแแแแแแแแ:
nft แแแแแแขแแ แฌแแกแ xy tcp dport "ssh"
nft แกแแแก แฌแแกแแแแก แแแแ แแแ -l
แชแฎแ แแแ x {
แฏแแญแแ y {
...
tcp dport "ssh"
}
} - แฅแกแแแแก แแแขแแ แคแแแกแแก แขแแแแก แจแแแแฌแแแแแก แจแแกแแซแแแแแแแ. แฒแแแแแแแแ:
แแแแแแขแแ แฌแแกแ inet raw prerouting meta iifkind "vrf" แแแฆแแแ
- แแแฃแแฏแแแแกแแแฃแแ แแฎแแ แแแญแแ แ แแแแ แแแแก แจแแแแแแกแแก แแแแแแแฃแ แแ แแแแแฎแแแแแกแแแแก โแแแแแแแฃแ แโ แแ แแจแแก แแแแคแแแ แแแแแแแแแ. แแแแแแแแแ, แแแแแแแฅแขแแก "s"-แแก แแแกแแแฎแแแแแแ, แ แแแ แแแแแแขแแ แฌแงแแ แแก แแแกแแแแ แแ แแ แแแแแแงแแแแ แฉแแแแฌแแ แ, แแฃ แแแแแขแแแ แแ แแ แแก 30 แฌแแแแก แแแแแแแแแแแจแ:
แแแแแแขแแ แชแฎแ แแแ x
add set xs { type ipv4_addr; แแแแ 128; แขแแแแแฃแขแ 30แฌ; แแ แแจแแแ แแแแแแแฃแ แ; }
แฏแแญแแแก แแแแแขแแแ xy { type filter hook แจแแงแแแแแก แแ แแแ แแขแแขแ 0; }
แแแแแแขแแ แฌแแกแ xy แแแแแฎแแแแ @s { ip saddr } - แชแแแแ แแ แแแก แแแแฌแฃแ แแแก แแแ แแแแก แแแงแแแแแแก แจแแกแแซแแแแแแแ. แแแแแแแแแ, 8888 แแแ แขแแ แจแแแแกแฃแแ แแแแแขแแแแก แแแแฃแแแกแฎแแแแ แแ แแแก แแแแฌแฃแ แแแก แแแแแแ, แจแแแแซแแแแ แแแฃแแแแแ:
แชแฎแ แแแแก IP แคแแแขแ แ {
ct timeout aggressive-tcp {
แแ แแขแแแแแ tcp;
l3proto ip;
แแแแแขแแแ = {แแแแ แกแแ: 100, แแแฎแฃแ แแ_แแแแแแจแ: 4, แแแฎแฃแ แแ: 4}
}
แฏแแญแแแก แแแแแแแแแแ {
...
tcp dport 8888 ct แแ แแแก แแแแฌแฃแ แแแก แแแแ แแแ "aggressive-tcp"
}
} - NAT แแฎแแ แแแญแแ แ แแแแขแแก แแฏแแฎแแกแแแแก:
แชแฎแ แแแ inet nat {
...
ip6 daddr dead::2::1 dnat to dead:2::99
} - แแแฃแแฏแแแแกแแแฃแแ แจแแชแแแแแก แจแแกแแฎแแ แจแแขแงแแแแแแแ:
nft แแแแแแขแแ แฏแแญแแแก แคแแแขแ แแก แขแแกแขแ
แจแแชแแแแ: แแกแแแ แคแแแแ แแ แแแ แแฅแขแแ แแ แแ แแ แแก; แแแฃแแแกแฎแแ แชแฎแ แแแแก "แคแแแขแ แ" แแฏแแฎแแก IP-แจแ?
แแแแแแขแแ แฏแแญแแแก แคแแแขแ แแก แขแแกแขแ
^^^^^^ - แแแแแแแฅแขแแแจแ แแแขแแ แคแแแกแแก แกแแฎแแแแแแก แแแแแแแแแก แจแแกแแซแแแแแแแ:
แแแแงแแแแ sc {
แแแ แแคแแ inet_service. แแฃ แกแแฎแแแ
แแแแแแแขแแแ = {"ssh" . "eth0"}
} - แแแแแฎแแแแฃแแ flowtable แฌแแกแแแแก แกแแแขแแฅแกแ:
nft แแแแแแขแแ แชแฎแ แแแ x
nft แแแแแขแแแ flowtable x ft { hook ingress priority 0; แแแฌแงแแแแแแแแแ = { eth0, wlan0 }; }
...
nft แแแแแแขแ แฌแแกแ x แฌแแแกแแแแก ip แแ แแขแแแแแ { tcp, udp } flow add @ft - แแแฃแแฏแแแแกแแแฃแแ JSON แแฎแแ แแแญแแ แ.
แฌแงแแ แ: opennet.ru