GNU/Linux >> Linux の 問題 >  >> Linux

AlmaLinux8にFail2banをインストールして設定する方法

Fail2banは、Pythonで記述された無料のオープンソースの侵入防止システムです。これは、ブルートフォース攻撃からシステムを保護するために使用されます。 SSH(およびその他の)ログファイルの認証試行を継続的に監視し、指定された回数の誤ったパスワード試行の後、クライアントのIPアドレスはFail2Banによって禁止されます。 SSH、vsftpd、Apache、Webminなどのいくつかのサービスを保護するために使用できます。

このチュートリアルでは、AlmaLinux8にFail2Banファイアウォールをインストールする方法を紹介します。

前提条件
  • AlmaLinux8を実行しているサーバー。
  • ルートパスワードはサーバーで構成されています。
ファイアウォールでインストールされていることを確認する

デフォルトでは、FirewalldパッケージはAlma Linux 8にプリインストールされています。最初に、それが実行されているかどうかを確認する必要があります。次のコマンドで確認できます:

systemctl status firewalld

Firewalldが実行されていない場合は、次の出力が表示されます。

? firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
>

次に、次のコマンドでfirewalldサービスを開始します。

systemctl start firewalld

次のコマンドを使用して、firewalldのステータスを確認できます。

systemctl status firewalld

次の出力が表示されます。

? firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-02-19 08:57:14 UTC; 40s ago
     Docs: man:firewalld(1)
 Main PID: 7214 (firewalld)
    Tasks: 2 (limit: 23696)
   Memory: 27.9M
   CGroup: /system.slice/firewalld.service
           ??7214 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

Feb 19 08:57:14 linux systemd[1]: Starting firewalld - dynamic firewall daemon...
Feb 19 08:57:14 linux systemd[1]: Started firewalld - dynamic firewall daemon.

次に、次のコマンドを使用して、firewalldによって構成されたすべてのサービスを一覧表示します。

firewall-cmd --list-all

次の出力が表示されます。

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0 eth1
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
Fail2Banをインストール

デフォルトでは、Fail2BanパッケージはAlmaLinuxのデフォルトリポジトリでは利用できません。したがって、EPELリポジトリからインストールする必要があります。次のコマンドを使用して、EPELリポジトリをインストールできます。

dnf install epel-release -y

EPELリポジトリをインストールしたら、次のコマンドを使用してFail2Banファイアウォールをインストールできます。

dnf install fail2ban fail2ban-firewalld -y

インストールが完了したら、次のコマンドを使用してFail2Banサービスを開始して有効にします。

systemctl start fail2ban
systemctl enable fail2ban

次のコマンドを実行して、fail2banサービスのステータスを確認できます。

systemctl status fail2ban

次の出力が表示されます。

? fail2ban.service - Fail2Ban Service
   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-02-19 08:58:34 UTC; 6s ago
     Docs: man:fail2ban(1)
  Process: 7838 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS)
 Main PID: 7840 (fail2ban-server)
    Tasks: 3 (limit: 23696)
   Memory: 10.8M
   CGroup: /system.slice/fail2ban.service
           ??7840 /usr/bin/python3.6 -s /usr/bin/fail2ban-server -xf start

Feb 19 08:58:34 linux systemd[1]: Starting Fail2Ban Service...
Feb 19 08:58:34 linux systemd[1]: Started Fail2Ban Service.
Feb 19 08:58:35 linux fail2ban-server[7840]: Server ready
Fail2Banの構成

Fail2Banのメイン構成ファイルは/etc/fail2ban/jail.confにあります。 。メイン構成ファイルのコピーを作成することをお勧めします。次のコマンドで作成できます:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

デフォルトでは、Fail2BanはIptablesファイアウォールを使用します。 Firewalldのサポートを有効にするには、次のコマンドを実行します。

mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local

次に、Fail2Banサービスを再起動して、変更を適用します。

systemctl restart fail2ban
Fail2Banを使用したセキュアSSH

デフォルトでは、Fail2BanはリモートIPをブロックするように構成されていません。保護するサービスごとにFail2Banjail構成ファイルを構成する必要があります。

SSHサービスを保護するには、次のコマンドを使用してSSHのjail構成ファイルを作成します。

nano /etc/fail2ban/jail.d/sshd.local

次の行を追加します:

# This configuration will block the remote host for 2 hours after 3 failed SSH login attempts. 
[sshd]
enabled = true
bantime = 2h
maxretry = 3

終了したらファイルを保存して閉じ、SSHサービスを再起動して変更を適用します。

systemctl restart fail2ban

これで、次のコマンドを使用してjail構成を確認できます。

fail2ban-client status

構成されたjailは、次の出力で取得されます。

Status
|- Number of jail:	1
`- Jail list:	sshd

SSHジェイルで禁止されているIPを確認するには、次のコマンドを実行します。

fail2ban-client status sshd

次の出力で、すべての禁止IPリストが表示されます。

Status for the jail: sshd
|- Filter
|  |- Currently failed:	6
|  |- Total failed:	15
|  `- Journal matches:	_SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned:	2
   |- Total banned:	2
   `- Banned IP list:	96.9.67.48 43.154.142.8

IPアドレスの禁止を手動で解除する場合は、次のコマンドを実行します。

fail2ban-client unban remote-ip-address
結論

上記のガイドでは、Alma Linux 8にFail2Banをインストールする方法について説明しました。また、Fail2Banを使用してSSHサービスを保護する方法についても説明しました。これで、本番環境にFail2Banを実装して、ブルートフォース攻撃からシステムを保護できます。


Linux
  1. RockyLinux8にFirewalldを使用してFail2banをインストールする方法

  2. UbuntuにFail2banをインストールして設定する方法は?

  3. Linux に EMC PowerPath をインストールして構成する方法

  1. LinuxにNagiosをインストールして設定する方法

  2. UbuntuLinuxにMemcachedをインストールして構成する方法

  3. LinuxシステムにRedisをインストールして設定する方法

  1. Linux に DNS サーバーをインストールして構成する方法

  2. Linux ディストリビューションに ZSH をインストールして構成する方法

  3. Linux システムに AnyDesk をインストールして構成する方法