それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

CentOSでiptables をつかってSSHのアタックを保護する。

ブルートフォースアタックの対策、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

実際にアタックしてアクセスブロックを体験してみると良いかも・・・リモートでやっちゃダメだけど・・