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

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

Fail2ban は、悪意のあるログインやブルートフォース攻撃からサーバーを保護するためのシステムデーモンです。 Fail2banは、Pythonで記述されたオープンソースのIPS(侵入防止ソフトウェア)フレームワークであり、非常に構成可能です。 SystemDジャーナルとログファイルを監視し、失敗した認証の試行を探すデーモンサービスとして機能します。失敗した認証が最大X数に達すると、fail2banはファイアウォールソフトウェアを使用してIPアドレスを自動的にブロックします。

VPS(仮想プライベートサーバー)または専用サーバーの所有者である場合は、すべてのサーバーにfail2banをインストールすることを検討する必要があります。 SSHやFTPなどの基本的なサービスを悪意のあるブルートフォース攻撃から保護するのに役立ちます。また、fail2banは非常に便利で、構成が簡単で、柔軟性があります。

このガイドでは、Rocky Linuxにfail2banをインストールする方法、firewalldを使用してfail2banを構成する方法、ブルートフォース攻撃からSSHサービスを保護する方法を学習します。

前提条件
  • sudoroot権限を持つユーザー。
Firewalldの設定

Firewalldは、RockyLinuxのデフォルトのファイアウォールソフトウェアです。 Rocky Linuxのインストール中に自動的にインストールされますが、デフォルトではアクティブ化されていません。

1.次のコマンドを実行して、firewalldパッケージがシステムで使用可能であることを確認します。

sudo dnf info firewalld

以下のような出力が得られます。

スクリーンショットに示されているように、firewalldパッケージは「インストール済みパッケージ」としてリストされています。 "。

2.次に、次のコマンドを使用してfirewalldサービスを開始します。

sudo systemctl start firewalld

3.ここで、firewalldサービスがシステムの起動ごとに自動的に実行されるようにします。

sudo systemctl enable firewalld

そして、次の出力が得られます。

Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.

4.その後、以下のコマンドを使用してfirewalldサービスのステータスを確認します。

sudo systemctl status firewalld

そして、次の出力が得られます。

ご覧のとおり、firewalldサービスはアクティブで実行中です。

5.オプションで、firewall-cmdコマンドを使用してfirewalldサービスのステータスを確認できます。 Firewall-cmdは、firewalldと対話するためのメインインターフェイスです。 Firewall-cmdコマンドは、firewalldルールを管理するためのユーティリティであり、ルールの追加、ルールの削除、ステータスの確認などを行うことができます。

以下のfirewall-cmdコマンドを実行して、firewalldサービスのステータスを確認します。

sudo firewall-cmd --state

Firewalldがアクティブな場合、「実行中」として出力が表示されます "。それ以外の場合は、「実行されていません」という出力が表示されます。 "。

次に、次のfirewall-cmdコマンドを実行して、現在適用されているすべてのファイアウォールルールを確認します。

sudo firewall-cmd --list-all

以下のような出力が得られます。

RockyLinuxへのEPELリポジトリの追加

fail2banをインストールする前に、EPEL( EnterpriseLinux用の追加パッケージ)を追加する必要があります )システムへのリポジトリ。

1.次のコマンドを実行して、EPELリポジトリをインストールします。

sudo dnf install epel-release

"y"と入力します インストールして続行します。

2.インストールが完了したら、次のコマンドを使用して、システムで使用可能なすべてのリポジトリを確認します。

sudo dnf repolist

これで、次のような出力が表示されます。

ご覧のとおり、EPELリポジトリは利用可能であり、システム上でアクティブです。それでは、fail2banのインストールを続けましょう。

RockyLinuxへのFail2banのインストール

1. fail2banをインストールするには、以下のコマンドを実行します。

sudo dnf install fail2ban fail2ban-firewalld

"y"と入力します インストールを確認して「Enter」を押します 「続行します。

コマンドラインと同様に、追加パッケージ「fail2ban-firewalld」もインストールします。これにより、fail2banがfirewalldルールを操作できるようになります。

2.インストールが完了したら、以下のコマンドを使用してfail2banサービスを開始します。

sudo systemctl start fail2ban

3.その後、次のコマンドを実行して、システムの起動ごとにfail2banサービスが自動的に開始されるようにします。

sudo systemctl enable fail2ban

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

sudo systemctl status fail2ban

そして、fail2banサービスがアクティブになり、以下のデフォルト構成で実行されます。

Fail2banの構成

次に、fail2banを構成し、fail2banがfirewalldと連携できるようにします。

1.デフォルトのfail2ban構成を"jail.conf"からコピーします 「jail.local "次のコマンドを使用します。

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

2.次に、以下のnanoeditorコマンドを使用してfail2ban構成を編集します。

sudo nano /etc/fail2ban/jail.local

[ [DEFAULT] "セクション、以下の構成を確認してください。

[DEFAULT]
....
bantime = 1h
findtime = 1h
maxretry = 5

知っておくべきオプション。

  • [DEFAULT] =このセクションのすべての構成は、グローバルなデフォルト構成として適用されます。
  • bantime=回数xIPアドレスが禁止されます。日、分、または時間としてのフォーマットをサポートします。この例では、ホストまたはIPアドレスは、最大認証の試行が失敗した後、「1時間」禁止されます。
  • findtime =最後の「findtime」中に最大認証に失敗した場合、IPアドレスは禁止されます。
  • maxretry =IPアドレスにX個のmaxrtryログイン失敗がある場合、IPは禁止されます。この例では、5回の認証が失敗した後、IPアドレスは禁止されます。

必要に応じてbantime、findtime、maxretyを調整し、「Ctrl + x」を押して「y」と入力し、「Enter」を押して構成を保存します。

3.デフォルトのfail2ban構成は、ブロッキングにiptablesを使用しています。 fail2banがfirewalldをブロックに使用できるようにするには、構成「 00-firewalld.conf」をコピーします "から"00-firewalld.local 「以下のコマンドを使用してください。

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

この構成"00-firewalld.conf "は"fail2ban-firewalldの一部です 「パッケージ。

4.次に、fail2banサービスを再起動して、以下のコマンドを使用して新しい構成を適用します。

sudo systemctl restart fail2ban
Fail2banによるSSHサービスの保護

デフォルトでは、保護するすべてのサービスに対してjail構成を有効にするまで、fail2banはIPアドレスをブロックしません。また、jail構成は、「jail.local」のデフォルト構成をオーバーライドします。 jail構成は、「/ etc / fail2ban/jail.d」ディレクトリで利用できます。

1.次のコマンドを使用して、サービスSSHの新しいjail構成を作成します。

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

次の構成を貼り付けます。

[sshd]
enabled = true

# Override the default global configuration
# for specific jail sshd
bantime = 1d
maxretry = 3

ご覧のとおり、構成は「禁止時間」を上書きします "と"ma​​xretry "刑務所のオプション"sshd "。

「Ctrl+x」を押します 「Y」と入力します 「」を押してから「Enter」を押します "新しい刑務所の構成を保存します。

2.新しい構成を適用するには、次のコマンドを使用してfail2banサービスを再起動します。

sudo systemctl restart fail2ban

3.その後、コマンドfail2ban-clientを使用してfail2banステータスを確認します。 fail2ban-client fail2banコントロールサーバーを管理するためのコマンドラインです。

次に、以下のfail2ban-clientコマンドを実行して、jailの構成を確認します。

sudo fail2ban-client status

そして、以下と同様の出力が得られます。

fail2banは、1つのjailアクティブ名「 sshd」で実行されています "。

特定の刑務所の構成を確認するには、「 get」を使用できます "刑務所名の後に続くオプション、次にチェックしたいオプション。

以下のコマンドを使用して、jail「sshd」の「maxretry」構成を確認してください。

sudo fail2ban-client get sshd maxretry

そして、出力は「 3」であることがわかります。 "、構成"sshd.local"の値と一致します。

次に、以下のコマンドを使用して、jail"sshd"のデフォルトの禁止アクションを確認します。

sudo fail2ban-client get sshd actions

そして、出力は「 firewallcmd-rich-rules」であることがわかります。 "、"00-firewalld.local"のfail2banグローバル設定と一致します。

Fail2banとFirewalldのインストールを確認する

fail2banのインストールを確認するには、jailの完全なステータス(このガイドはsshd jail)を確認し、fail2banによって生成されたfirewalldルールを確認します。

テスト目的で、以下は間違ったパスワードでSSHサーバーに接続しようとした後のスクリーンショットです。マックスレトリーに到達した後「3 「何度も、接続はサーバーによってドロップされます。

1.次のコマンドを実行して、特定のjail(この例ではsshd jail)のステータスを確認します。

sudo fail2ban-client status sshd

そして、次のような同様の出力が得られます。

ご覧のとおり、sshdjailには1つの禁止IPアドレスがあります。ライブVPSまたは専用サーバーを使用している場合は、はるかに多くのIPアドレスが表示されます。

2. fail2banは、IPアドレスをブロックするためのfirewalldリッチルールを生成します。 Firewalldのリッチルールは、firewalldの高度なフィルタリング機能です。

次のコマンドを実行して、fail2banによって生成されたfirewalldリッチルールを表示します。

firewall-cmd --list-rich-rules

そして、以下のような出力が得られます。

Fail2banのUbanIPアドレス

fail2banからIPアドレスの禁止を解除するには、fail2ban-clientコマンドを使用できます。

1.以下のfail2ban-clientコマンドを実行して、IPアドレス「 192.168.1.10」の禁止を解除します。 "。

sudo fail2ban-client unban 192.168.1.10

また、IPアドレスはfail2banの禁止リストから削除されます。

次に、次のコマンドを実行して、IPアドレスがfail2banデータベース(この例ではjail sshd)から削除されていることを確認します。

sudo fail2ban-client status sshd

そして、IPアドレスが「禁止されたIPリスト」から削除されます。 "セクション。

結論

おめでとうございます!これで、fail2banIPSフレームワークがRockyLinux8.4に正常にインストールされました。次のステップでは、別のjail構成を調べて、FTPサーバー、phpMyAdmin、WordPressなどの他のサービスを保護できます。


Rocky Linux
  1. RockyLinux8.4をスクリーンショットでステップバイステップでインストールする方法

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

  3. Rocky Linux 8 に Redis をインストールする方法

  1. RockyLinux8にPython3.9をインストールする方法

  2. RockyLinux8にNginxを使用してApacheTomcat10をインストールする方法

  3. RockyLinuxにNginxでJoomlaをインストールする方法

  1. Rocky Linux 8.4のインストール方法(スクリーンショット付きのステップバイステップガイド)

  2. RockyLinux8.4のインストール方法

  3. RockyLinux8にDockerCEをインストールする方法