以前にCentOSにfail2banをインストールしましたが、以前からサーバー用に使っているラズパイもチェックしてみると最近になってSSHポートが割れたのか不正アタックが多くなってきましたので同じようにfail2banを導入することにしました。
Raspbianの場合apt-getで一発インストールからSSH保護までデフォルトのままで出来るようです。
<参考>
How to Setup Fail2ban on the Raspberry Pi - Pi My Life Up
インストールはコマンド
sudo apt-get install fail2ban
だけ。
スタートさせる
sudo systemctl start fail2ban
ステータスを確認する
sudo systemctl status fail2ban
常駐させる。
sudo systemctl enable fail2ban
以上!
前回のCentOSなら設定がいろいろややこしかったのだけど、Raspbianの場合はデフォルトでsshが有効な設定になってるのがありがたい。
CentOS用の設定↓
一応アップデートで設定が上書きされたら困るので設定ファイルをオーバーライド用にコピーして
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.d/jail.local
編集
sudo nano /etc/fail2ban/jail.d/jail.local
中身に、CentOSで使った[sshd]を探したけど見つからず、けど[ssh]と書かれているのがそれっぽい。
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6[dropbear]
enabled = false
port = ssh
filter = dropbear
logpath = /var/log/auth.log
maxretry = 6
と、SentOSの時はコメントアウトされていたような項目は元々有効になっているので編集の必用無し。
一応確認
sudo fail2ban-client status
Status
|- Number of jail: 1
`- Jail list: ssh
数日置いてban数を確認してみた
sudo fail2ban-client status ssh
Status for the jail: sshStatus for the jail: ssh
|- filter
| |- File list: /var/log/auth.log
| |- Currently failed: 6
| `- Total failed: 12228`- action
|- Currently banned: 4
| `- IP list: 203.226.201.167 200.34.31.926 193.252.3.96 157.139.240.106 `- Total banned: 1293
おお!1300弱のアクセスをbanしてくれたようです、成功です。
一応ログも見ておきます
sudo cat /var/log/fail2ban.log
ちゃんとBanされてますね。
banされてもいつまでも仕掛けて来るしつこいのはまた後ほど対処することにします。
試行が多いので一応、設定でbantimeだけCentOSと同じ3600秒に設定しておきます。
bantime = 3600
<参考>
ということで、raspbianにfail2banを導入するには、apt-getからインストールして、有効にするというだけでした。簡単!