自作パソコンWordPressサイト運用編②『fail2banで侵入者を撃退しよう』

サーバー運用編

前回の運用編①にて、sshdの公開鍵認証にしたわけだが、侵入者はそれにもかかわらずアタックを続けてくる。secureログを見ても一目瞭然だ。

今日に入って数時間、それにもかかわらずこれだけのアクセスがあるわけだ。ユーザー名を適当に選んで片っ端から侵入を試みようという感じだ。まったく節操もない連中だ。

IPを特定して対処、というのが堅いやりかたなのだろうけど、それだと毎回見つけるたびに対処しなくてはならず、とてもじゃないが個人のWebサーバでそこまでの労力を割くわけにもいかない。

そこで今回、fail2banの名の通り、攻撃を繰り返す侵入者を自動的にBAN(一定時間追放)するためのツールを入れて対応することにしよう。

まず、インストールはこれまでの通り簡単だ。

yum install fail2ban

ただし、このfail2banは単体で動いていない。firewalldやip-tablesといったセキュリティツールと連動して侵入者をBANするので、設定がいささかややこしい。sshdだけを簡単に設定するために、以下のような手順と設定を行った。

cd /etc/fail2ban/jail.d
vi jail.local

/etc/fail2/ban/jail.d/jail.local という設定ファイルを作成し、そこに設定を書き込む。これにより、このファイルの内容を優先して設定されることになる。

[DEFAULT]
bantime = 86400
findtime = 86400
maxretry = 3

backend = systemd

[sshd]
enabled = true
port    = ssh
filter = sshd
logpath  = /var/log/auth.*
banaction = firewallcmd-ipset

[sshd-ddos]
enabled = true
port    = ssh
filter = sshd-ddos
logpath  = /var/log/auth.*
banaction = firewallcmd-ipset

fail2banの設定について、fail2banのバージョンや、設定の書き方などですぐに動かなくなる(起動してくれない)ので注意が必要だ。

systemctl start fail2ban
systemctl enable fail2ban

まず、起動させてみて何もエラーメッセージが出てこなかったら成功だ、とは思うが念のためstatusもチェックして正常動作か確認しておこう。

これでしばらく様子を見てみよう。どれだけ捕まったかは以下のコマンドで調べられる。

fail2ban-client status sshd

早速これだけ掛かってきている。凄まじいがこれが事実だ。fail2banはシステムの門番兵としてとても有用な働きをしてくれる。ひとまずこれでやっていくことにしよう。

コメント

タイトルとURLをコピーしました