[Sysadmins] nftables rules simple example
Вадим Илларионов
gbimobou на gmail.com
Ср Янв 25 04:36:09 MSK 2017
понедельник, 23 января 2017 г. 7:53:20 +08 от Eugene Prokopiev поступило следующее:
> А покажите, пожалуйста, пример правил вида: запретить все, разрешить
> только ssh из некоторых сетей. Когда-то я смотрел в сторону nft, но
> документация/примеры были слишком невнятными, может чего поменялось с
> тех пор?
У меня ссх только по ключу, так что нет нужды ограничивать вход лишь доверенными сетями.
Полагаю, тех, у кого по паролю, от брутфорса может прикрыть фейл2бан - но бережёного...
Вот весь список (сеты уже фейл2бан добавил):
[root на gw ~]# nft list ruleset
table ip filter {
set sshd {
type ipv4_addr
flags timeout
}
set sshd-ddos {
type ipv4_addr
flags timeout
}
set recidive {
type ipv4_addr
flags timeout
}
chain input {
type filter hook input priority 0; policy drop;
ip saddr @recidive counter packets 0 bytes 0 reject
tcp dport { ssh} ip saddr @sshd-ddos counter packets 0 bytes 0 reject
tcp dport { ssh} ip saddr @sshd counter packets 0 bytes 0 reject
ct state invalid counter packets 20 bytes 2507 drop
ct state { related, established} accept
ct state new udp dport { traceroute-33523, 44450-44500} log reject
ct state new tcp dport ssh tcp flags & (syn | ack) == syn counter packets 1 bytes 52 accept
icmp type echo-request limit rate 10/second burst 5 packets accept
ip protocol icmp drop
iif { lo, lan} accept
iifname != "lo" ip daddr 127.0.0.0/8 counter packets 0 bytes 0 drop
counter packets 273532 bytes 39473283
}
chain forward {
type filter hook forward priority 0; policy drop;
ct state invalid counter packets 383 bytes 19676 drop
ct state { related, established} accept
ct state new oif lan tcp dport { ssh, 8006} tcp flags & (syn | ack) == syn counter packets 0 bytes 0 accept
ct state new iif lan accept
counter packets 0 bytes 0
}
chain output {
type filter hook output priority 0; policy accept;
ct state invalid counter packets 0 bytes 0 drop
counter packets 60175 bytes 14545915
}
}
table ip mangle {
chain postrouting {
type route hook output priority -150; policy accept;
oif tv ip ttl 1 counter packets 927 bytes 29664 ip ttl 64
counter packets 60175 bytes 14545915
}
}
table ip nat {
chain prerouting {
type nat hook prerouting priority -150; policy accept;
iif lan tcp dport http counter packets 3166 bytes 195720 redirect to squid
oif lan tcp dport 8006 counter packets 0 bytes 0 dnat 192.168.6.254
oif lan tcp dport 2222 counter packets 0 bytes 0 dnat 192.168.6.1:ssh
iif corp tcp dport 3389 counter packets 0 bytes 0 dnat 192.168.6.1
counter packets 318267 bytes 46154190
}
chain postrouting {
type nat hook postrouting priority -150; policy accept;
oif abon counter packets 4914 bytes 307529 snat 81.163.105.10
oif corp counter packets 46299 bytes 2720103 snat 192.168.255.55
oif nf counter packets 0 bytes 0 snat 192.168.0.164
oif gjc counter packets 3 bytes 252 snat 172.17.0.55
oif tv counter packets 1 bytes 32 snat 10.88.81.5
counter packets 20 bytes 1328
}
}
--
Мимо крокодил.
WBR, rednex CIO.
Cell: +7(964)103-65-67
Viber = Cell
JID = <mailto:>
Skype = $local_part@<mailto:>
Подробная информация о списке рассылки Sysadmins