この記事では、Ubuntu20.04にFail2Banサービスをインストールする方法について説明します。
Fail2Banとは何ですか?
Fail2Banは、ブルートフォース攻撃などの悪意のある脅威からサーバーを保護するために使用できる侵入防止ソフトウェアです。
Fail2Banをインストールする前に、サーバーが最新であることを常に確認することをお勧めします。次のコマンドを実行して、サーバーにインストールされているパッケージの現在のバージョンを更新します。
root@server-01:~# sudo apt-get upgrade
注: 上記のコマンドは、アップグレードするパッケージの概要を示し、インストールに必要な追加スペースを要求します。 「y」と入力します 」をクリックしてアップグレードを続行します。
次のコマンドを実行して、インストールを開始します。
root@server-01:~# sudo apt-get install fail2ban
注: 追加のスペースプロンプトで、「 y」と入力します 」をクリックしてアップグレードを続行します。
次のコマンドを使用して、Fail2Banがインストールされ、実行されていることを確認します。
root@server-01:~# sudo systemctl status fail2ban
fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset>
Active: active (running) since Fri 2020-07-31 00:23:21 UTC; 42min ago
Fail2banが実行されていない場合は、次のコマンドで開始できます。
root@server-01:~# sudo systemctl start fail2ban
次のコマンドを使用して、起動時に開始するようにFail2Banを設定します。
root@server-01:~# sudo systemctl enable fail2ban
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
Fail2Banのデフォルト構成ファイルfail2ban.confは更新しないでください。 およびjail.conf 。代わりに、新しい空のファイルを作成します fail2ban.local およびjail.local 、または .confをコピーします .localを作成するためのファイル ファイル。
既存の.confをコピーできます .localを作成するためのファイル 次のコマンドでファイルを作成します:
root@server-01:~# sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Fail2Banの構成を.localのみに変更します お気に入りのテキストエディタを使用してファイル。次の例は、一般的に構成されているアイテムです。
- 無視する :基準によって禁止されていない指定されたアドレス。
- バンタイム :禁止が続く特定の期間。
- maxretry :禁止される前の、指定されたログイン失敗回数。
他の多くのフィールドは構成可能であり、それらの説明は .local内にあります。 ファイル。
次の例は、 jail.local内からの基本的な禁止設定を示しています ファイルを作成し、bantime
を設定します 10分までとmaxretry
3回まで。
# "bantime" is the number of seconds that a host is banned.
bantime = 10m
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 10m
# "maxretry" is the number of failures before a host get banned.
maxretry = 3
次の例は、3回のログイン試行の失敗と、その結果としてのIPアドレスの禁止を示しています。
[user@test ~]$ ssh [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied (publickey,password).
[user@test ~]$ ssh [email protected]
ssh: connect to host 23.253.159.172 port 22: Connection refused