SSHGuardで不正アクセスを減らす方法

SSHポートを開けていると

さて、個人で借りてるVPSはSSHとSMTPを開けているせいで、当然の帰結としてSSHとSMTPへのアタックが沢山来るわけですよ。まあSSHのパスワード認証なんか当然不可にしているし、SMTP-AUTHで守っているので、不正なアクセスや踏み台にはならないようにしているのですが。
自宅のIPアドレスはDHCP割当ですが、DDNS登録しているのでそれをwhitelist化すれば?ということもあるのですが、外出時にアクセスしたいときは困るので、それは出来ない。

SSHGuradとは

SSHguardは、ログを解析して不正アクセスしてくるIPアドレスをipfilterやfirewalld でブロックしてくれるツールです。IPv4/IPv6に対応しているのがありがたいですね。

SSHGuardを入れてみる

こんな感じでインストールしましょう。対象はCentOS7です。

今回はfirewaldでインストールするので、以下のように設定ファイル/etc/sshguard.conf を修正します。ログ監視対象は、ssh用の/var/log/secureと、postfix/dovecot用のmaillogです。

whitelistに指定した/etc/friendsには、除外するIPアドレスもしくはホスト名を羅列すればよいです。
次にfirewalldに、sshguard用の除外設定を追加します。

あとは、sshguard を起動しましょう。

アタックがあったIPを検知すると、firewalld のsshguard4もしくはsshguard6にエントリが追加されます。

誤検知があった場合は、以下ののように削除しましょう。

落とし穴

さて、この様に設定したのですが、Zabbixサーバからssh監視で接続したときや、Vulsで検知しようとしたときに、sshアクセスが多くなりすぎてvanされてしまうという、悲しい出来事がありました。
ちゃんと、自宅やZabbixサーバやVulsサーバのIPアドレスは、事前にwhitelistに入れておきましょう。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください