ブルートフォースアタックの対策、Debian Ubuntu でうまくいったけど、CentOSでうまくいかない。
SSHに頻繁に接続するIPアドレスをブロックする方法
recent モジュールを使えば出来る。
[root@cent_os ~]# sudo iptables -A INPUT -p tcp --syn --dport 22 -m recent --name sshattack --set [root@cent_os ~]# sudo iptables -A INPUT -p tcp --syn --dport 22 -m recent --name sshattack --rcheck --seconds 60 --hitcount 5 -j LOG --log-prefix 'SSH attack: ' [root@cent_os ~]# sudo iptables -A INPUT -p tcp --syn --dport 22 -m recent --name sshattack --rcheck --seconds 60 --hitcount 5 -j DROP
ipt_recent モジュールがない。
エラーが出るときはモジュールがロードされていないかもしれない
モジュールのチェックをする
sudo lsmod | grep ipt_recent #空行なら未ロード cat /proc/net/ip_tables_matches | grep re #空行なら未ロード
モジュールのロードを設定する
モジュールをロードする設定を書く、6行目の箇所。
1 # Load additional iptables modules (nat helpers) 2 # Default: -none- 3 # Space separated list of nat helpers (e.g. 'ip_nat_ftp ip_nat_irc'), which 4 # are loaded after the firewall rules are applied. Options for the helpers are 5 # stored in /etc/modprobe.conf. 6 IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp ipt_recent" 7
iptables の再起動
service iptables restart
モジュールの確認
sudo lsmod | grep ipt_recent ipt_recent 12497 3 x_tables 17349 9 ipt_LOG,xt_state,ip_tables,ipt_recent,ipt_hashlimit,ipt_REJECT,ip6t_REJECT,xt_tcpudp,ip6_tables cat /proc/net/ip_tables_matches | grep re recent
ロード終了。
設定を確認する
sudo iptables -L
実際にアタックしてアクセスブロックを体験してみると良いかも・・・リモートでやっちゃダメだけど・・