この前sshへのアタックを調べると一定期間にとんでもない量のアタックが来ている事が判明!
え?確か前にfail2ban導入してたよね??
おかしい!なんで?
調べて見ました。
sudo fail2ban-client status
で設定が確認出来るそうですが・・・
Status
|- Number of jail: 0
`- Jail list:
ええええ?
ban設定リストが0ですと??
デフォルトでsshは有効じゃないの?
今まで導入して起動さえしていればデフォルトでsshは有効だと勝手に思っていました・・・orz。
ということで今回はきちんと設定をしていきます。
<参考>
fail2ban を導入してお行儀の悪い奴を効率的に排除する | ぶっちろぐ
CentOS7での fail2banのインストールと設定方法(with firewalld) - Qiita
SSHブルートフォース攻撃を『Fail2ban』で防いでみました - Qiita
まずは、大元のjail.confファイルをコピーしてjail.localとして設定用ファイルを作成します。
これをしないとアップデート時にjail.confが上書きされた場合は設定が無かった事になります。
sudo cp -p /etc/fail2ban/jail.conf /etc/fail2ban/jail.d/jail.local
で、コピーしたjail.localを編集します。
sudo nano /etc/fail2ban/jail.d/jail.local
といってもコメントアウト「#」を外すだけです。
[DEFAULT] ←これ
bantime = 3600 ←これ
#
[sshd] ←これ
enabled = true ←これ
#
それから、banactionの設定でiptablesじゃなくfirewalldを使う設定にする。
#banaction = iptables-multiport
#banaction_allports = iptables-allports
banaction = firewallcmd-ipsetbanaction_allports = firewallcmd-allports
これだけ。
できたらfail2banをリスタート
sudo service fail2ban restart
で、ステータスを見ると
sudo fail2ban-client status
ちゃんと設定1でsshdがリストににのっています。
Status
|- Number of jail: 1
`- Jail list: sshd
成功です。
sshdでbanされたIPの確認コマンド
sudo fail2ban-client status sshd
設定したてなのでログも何も無いですね。
今回は同時にSSHポートもついでに変更したのでしばらくはアタック来ないでしょう。
このまましばらく様子見です。
<設定項目メモ>
例)30分以内に3回不正アクセスがあったばあい、60分間Banする設定
bantime = 3600
findtime = 1800
maxretry = 3
sshのポート変更&ファイアーウォール設定は↓
ログの場所
/var/log/fail2ban.log
備忘録として残します。
次回、Raspbianにもfail2banをインストールする↓