ブログに戻る
5月 23, 2026ガイド

LinuxでFail2banをインストール・設定する方法

Fail2banでSSHとNginxを保護し、VPSをブルートフォース攻撃から守ります。

LinuxでFail2banをインストール・設定する方法

Fail2banはログを監視し、SSHログイン失敗の繰り返しなど悪意のある挙動を示すIPを一時的にブロックします。新しいHiddence VPSでは最初に入れるセキュリティツールのひとつです。

Fail2banのインストール

bash
# Ubuntu / Debian
sudo apt update
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

# CentOS / RHEL / Alma / Rocky
sudo yum install epel-release -y
sudo yum install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

SSHを保護

ローカル設定ファイルを作成します(jail.confは直接編集しないでください):

bash
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
findtime = 600

sudo systemctl restart fail2ban

Nginxを保護(任意)

404や認証エラーが多すぎるIPをブロックします:

bash
[nginx-http-auth]
enabled = true
port = http,https
filter = nginx-http-auth
logpath = /var/log/nginx/error.log
maxretry = 5

[nginx-noscript]
enabled = true
port = http,https
filter = nginx-noscript
logpath = /var/log/nginx/access.log
maxretry = 6

ブロック中のIPを確認

bash
sudo fail2ban-client status
sudo fail2ban-client status sshd

# Unban an IP if needed:
sudo fail2ban-client set sshd unbanip 1.2.3.4

ベストプラクティス

  • パスワードの代わりにSSHキーを使い攻撃面を減らす
  • SSHポート変更はファイアウォールルールとセットで行う
  • 必要ならオフィスIPをfail2banのignoreipに登録
  • /var/log/fail2ban.logを定期的に確認
  • UFWやFirewalldと併用する