Jack Wallenが、Ubuntu Server 22.04にfail2banをインストールして、悪意のあるログイン試行を防ぐプロセスについて説明します。
Fail2banは、新しいLinuxサーバーのデプロイメントに最初にインストールする必要があるものの1つです。デプロイされると、fail2banは悪意のあるブルートフォースログイン攻撃を防ぎ、HTTP、SSH、FTPなどのプロトコルを監視するために使用できます。
fail2banが悪意のあるログイン試行を検出すると、問題のあるIPアドレスを自動的にブロックするため、攻撃を試みている人は誰でもアクセスできなくなります。
Ubuntu Serverの最新リリース(22.04、Jammy Jellyfishとも呼ばれます)にfail2banをインストールするプロセスについて説明します。
必要なもの
fail2banを起動して実行するために必要なのは、UbuntuServer22.04のインスタンスとsudo権限を持つユーザーだけです。
それだけです。そのサーバーを保護しましょう。
必読の開発者向け記事
fail2banのインストール方法
fail2banのインストールは非常に簡単です。 Ubuntu Serverインスタンスにログインし、次のコマンドを発行します:
sudo apt-get install fail2ban -y
次のコマンドでfail2banサービスを開始して有効にします:
sudo systemctl enable --now fail2ban
UFWファイアウォールを実行している場合、そして実行する必要がある場合は、次のコマンドを使用してサーバーへのSSHトラフィックを許可する必要があります。
sudo ufw allow ssh
fail2banを構成する方法
Fail2banは、次のようないくつかの異なるファイルとディレクトリに依存しています。
- fail2ban.conf –メインの構成ファイル
- jail.conf –サンプルのjail構成
- action.d –メールやファイアウォールなどのさまざまなfail2banアクション構成が含まれています
- jail.d –追加のfail2banjail構成が含まれています
新しいファイルjail.localを作成し、悪意のあるSSHログインを防ぐためにfail2banを構成します。
次のコマンドで新しいファイルを作成します:
sudo nano /etc/fail2ban/jail.local
そのファイルに、次の内容を貼り付けます。
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 300
bantime = 28800
ignoreip = 127.0.0.1
上記の説明は次のとおりです。
- 有効–刑務所を有効にします
- ポート–ポートfail2banがリッスンします
- フィルター–組み込みのフィルターfail2banが使用します
- logpath –fail2banログを格納するディレクトリ
- maxretry –IPがブロックされる前に許可された失敗した試行の数
- findtime –ログイン試行が失敗するまでの時間
- bantime –IPアドレスが禁止される秒数
- ignoreip –fail2banによって無視されるIPアドレス
ファイルを保存して閉じます。
次のコマンドでfail2banを再起動します:
sudo systemctl restart fail2ban
fail2banをテストする方法
別のマシンにログインし、fail2banを収容しているサーバーへのSSHログインを試みます。パスワードを3回間違えて入力してください。
3回目の試行後、SSHがロックされ、CTRL+Cキーの組み合わせを使用してプロンプトに戻る必要があります。別のSSHログインを試みると、接続拒否エラーが表示されます。
IPアドレスの禁止を解除する方法
テスト後、使用したIPアドレスの禁止を解除することをお勧めします。次のコマンドで禁止されたIPがあることを確認してください:
sudo fail2ban-client status sshd
次のようなものが表示されます。
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 3
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 192.168.1.40
IPアドレス192.168.1.40の禁止を解除するには、次のコマンドを発行します:
sudo fail2ban-client set sshd unbanip 192.168.1.40
禁止を解除したIPアドレスの数であるため、1番が印刷されているはずです。
次のコマンドを使用して、IPを手動で禁止することもできます:
sudo fail2ban-client set sshd banip 192.168.1.40
おめでとうございます。Fail2banを正常にインストールして構成し、Ubuntuサーバーインスタンスへの不要なSSHログインをブロックしました。