SSHでのログイン試行の失敗をブロックしすぎるiptablesのルールがあります。しかし、新しいサーバーではもう機能しないようです。 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
答え1
実際に働く。
簡単に言えば、私はパスワードの試行回数を数えていますが、hit_count
実際に計算されるのはパスワードの綴りが間違っているため、再接続を開始する時間です(これは再び/etc/ssh/sshd_config
設定可能ですMaxAuthTries
)。