これまで sshへの攻撃を防ぐ SSHGuardについて下記記事で紹介してきましたが、これらの設定を行うスクリプトファイルを用意しました。
なお、スクリプトは CentOS用です。
SSH総当たり攻撃(辞書攻撃/ブルートフォースアタック)の対策とその効果
メールサーバへの総当たり攻撃(辞書攻撃/ブルートフォースアタック)への対処
apacheユーザ認証(HTTP認証)への総当たり攻撃(辞書攻撃/ブルートフォースアタック)への対処
SSHGuard使用時の iptables再起動の注意点と、SSHGuard起動・停止スクリプト
なお、以前の記事で 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 &
/usr/local/sbin/sshguard -l /var/log/secure
SSHGuard インストール・設定
SSHGuard のインストール・設定に gcc , perl が必要なので、無い場合はインストールします。
次にここ から、インストール用スクリプト sshguard.tar.gz をダウンロードして下さい。
下記を実行します。
cd sshguard
sh setup_sshguard.sh
SUCCESS と表示されたらインストール・設定は完了です。
iptables 設定
初めて SSHGuard を使用する場合は、iptables への設定が必要です。
以前の記事で SSHGuard を使用されている場合は、このiptables 設定での作業は不要です。
SSHGuardは攻撃を検出すると、iptables に攻撃元のIPアドレスをブロックするルールを自動的に追加します。
このルールは、チェイン sshguard に
iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx -j DROP
のように追加されます。
そこで、iptablesにチェイン sshguard を作成しておきます。
また、SSHGuardで検出した攻撃元からの接続をブロックする次の記述を追加しておきます。
追加箇所については、iptablesサンプルでの $IPTABLES -A INPUT -p tcp -j sshguardの箇所を参照してください。
SSHGuard 起動
SSHGuard の起動です。
なお、サーバ起動時に SSHGuard が自動的に動作しますので、次回からはこの操作は不要です。
動作確認
下記の「SSHGuard動作確認」の箇所を参照して下さい。
SSH総当たり攻撃(辞書攻撃/ブルートフォースアタック)の対策とその効果 パソコン鳥のブログ
以上でSSHGuard インストール・設定が行えます。
コメント