以下で紹介した SSHGuard使用時の iptables再起動の注意点です。
また、SSHGuard起動・停止スクリプトを作りましたので、紹介します。
SSH総当たり攻撃(辞書攻撃/ブルートフォースアタック)の対策とその効果
メールサーバへの総当たり攻撃(辞書攻撃/ブルートフォースアタック)への対処
apacheユーザ認証(HTTP認証)への総当たり攻撃(辞書攻撃/ブルートフォースアタック)への対処
SSHGuard使用時の iptables再起動の注意点ですが、iptables を再起動する場合、SSHGuardも停止・再起動する必要があります。
そうしないと、次の流れで問題が起こるからです。
(1) IPアドレス xx.xx.xx.xx から攻撃を受ける
(2) SSHGuard が xx.xx.xx.xx からの攻撃を検出する
(3) SSHGuard は xx.xx.xx.xx をブロックするルールを iptables に登録する
(4) iptables を再起動する。ここで、(3)で登録したルールは消える。
(5) 再度、IPアドレス xx.xx.xx.xx から攻撃を受ける
(6) SSHGuard は一度(3) で xx.xx.xx.xx をブロックするルールを iptables に登録したので、もう何もしない。
(7) ところが (4)で、そのルールは消えているので攻撃に無防備になっている。
この問題を避けるため、iptables を再起動する場合、SSHGuardも停止・起動する必要があります。
そこで、手軽に SSHGuard を停止・起動するスクリプトを作成しました。
以下、rootで作業します。
まず、次のファイルを作成して下さい。
/usr/local/sbin/exec_sshguard.sh
/usr/bin/tail -n0 -F /var/log/secure /var/log/httpd/access_log /var/log/httpd/ssl_access_log | /usr/bin/perl /usr/local/sbin/log2sshguardsig.pl | /usr/local/sbin/sshguard -l - >/dev/null 2>&1 exit 0
/etc/init.d/sshguard
#!/bin/sh # # SSHGuard Start SSHGuard # # chkconfig: 2345 98 02 # description: Starts and stops SSHGuard # start() { echo "starting SSHGuard:" sh /usr/local/sbin/exec_sshguard.sh & return 0 } stop() { SHPID=`ps auxw|grep exec_sshguard | awk '{print $2}'` kill `ps ho pid --ppid=${SHPID}` >/dev/null 2>&1 iptables -F sshguard echo "stopped SSHGuard:" return 0 } case "$1" in start) start ;; stop) stop ;; *) echo $"Usage: $0 {start|stop}" exit 2 esac exit 0
次のコマンドを実行します。
chmod +x /etc/init.d/sshguard chkconfig --add /etc/init.d/sshguard
/etc/rc.local の以下行を削除します。
/usr/bin/tail -n0 -F /var/log/secure /var/log/httpd/access_log /var/log/httpd/ssl_access_log | /usr/bin/perl /usr/local/sbin/log2sshguardsig.pl | /usr/local/sbin/sshguard -l - >/dev/null 2>&1 &
以上で設定は完了です。
/etc/init.d/sshguard stop で SSHGuardを停止、/etc/init.d/sshguard start で開始します。
また、システム起動時にも自動的に SSHGuard が起動します。
iptables を再起動する場合、SSHGuardも停止・再起動する必要がありますが、次のようにします。
iptables停止時
/etc/init.d/iptables stop /etc/init.d/sshguard stop
iptables開始時
/etc/init.d/iptables start /etc/init.d/sshguard start
コメント