У меня есть правило для iptables, которое блокирует слишком много неудачных попыток входа в систему по ssh. Однако на моем новом сервере он, кажется, больше не работает, в том смысле, что я все еще могу сразу войти в систему, даже если я терплю неудачу 10 раз:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -A INPUT -p tcp -m tcp --dport 53300 -m state --state NEW -m recent --set --name DEFAULT --rsource
iptables -A INPUT -p tcp -m tcp --dport 53300 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --name DEFAULT --rsource -j DROP
iptables -A INPUT -p tcp -m tcp --dport 53300 -j ACCEPT
sudo iptables -L -v
Chain INPUT (policy ACCEPT 17 packets, 796 bytes)
pkts bytes target prot opt in out source destination
2 120 tcp -- any any anywhere anywhere tcp dpt:53300 state NEW recent: SET name: DEFAULT side: source mask: 255.255.255.255
0 0 DROP tcp -- any any anywhere anywhere tcp dpt:53300 state NEW recent: UPDATE seconds: 60 hit_count: 4 name: DEFAULT side: source mask: 255.255.255.255
42 6906 ACCEPT tcp -- any any anywhere anywhere tcp dpt:53300
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 59 packets, 6974 bytes)
pkts bytes target prot opt in out source destination
(53300 — это нестандартный порт моего SSH-сервера)
Что может заставить iptables работать не так, как хотелось бы? Ubuntu 20.04, iptables 1.8.4
Это действительно работает.
Просто я подсчитывал попытки ввода пароля, в то время как hit_count
на самом деле здесь учитывается время, которое вам нужно снова начать подключение, потому что вы слишком много раз ошибались в пароле (, и это, в свою очередь, настраивается в /etc/ssh/sshd_config
какMaxAuthTries
)