ウェブサイト検索

CentOS/RHEL 8 で SSH を保護するために Fail2Ban をインストールする方法


Fail2ban は、無料のオープンソースで広く使用されている侵入防止ツールで、パスワードの失敗が多すぎるなどの悪意のある兆候を示す IP アドレスのログ ファイルをスキャンし、それらを禁止します (ファイアウォールを更新します)。 IP アドレスを拒否するルール)。デフォルトでは、sshd を含むさまざまなサービス用のフィルターが付属しています。

こちらもお読みください: CentOS/RHEL 8 でのサーバーの初期セットアップ

この記事では、SSH を保護し、 に対するブルート フォース攻撃から SSH サーバーのセキュリティを向上させるために fail2ban をインストールして構成する方法を説明します。 CentOS/RHEL 8です。

CentOS/RHEL 8 への Fail2ban のインストール

fail2ban パッケージは公式リポジトリにはありませんが、EPEL リポジトリで入手できます。システムにログインした後、コマンドライン インターフェイスにアクセスし、図に示すようにシステム上の EPEL リポジトリを有効にします。

dnf install epel-release
OR
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

その後、次のコマンドを実行してFail2ban パッケージをインストールします。

dnf install fail2ban

SSH を保護するための Fail2ban の構成

fail2ban 設定ファイルは /etc/fail2ban/ ディレクトリにあり、フィルタは /etc/fail2ban/filter.d/ に保存されています。ディレクトリ (sshd のフィルタ ファイルは/etc/fail2ban/filter.d/sshd.conf です)。

failed2ban サーバーのグローバル設定ファイルは /etc/fail2ban/jail.conf です。ただし、パッケージの場合は上書きまたは改善される可能性があるため、このファイルを直接変更することはお勧めできません。将来的にはアップグレードします。

代わりに、jail.local ファイルまたは /etc/fail2ban/jail の下の別の .conf ファイルに構成を作成して追加することをお勧めします。 d/ディレクトリ。 jail.local で設定された設定パラメータは、jail.conf で定義されている内容をオーバーライドすることに注意してください。

この記事では、図に示すように、jail.local という名前の別のファイルを /etc/fail2ban/ ディレクトリに作成します。

vi /etc/fail2ban/jail.local

ファイルが開いたら、次の設定をコピーしてそのファイルに貼り付けます。 [DEFAULT] セクションにはグローバル オプションが含まれ、[sshd] には sshd jam のパラメータが含まれます。


[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

上記の構成のオプションを簡単に説明しましょう。

  • ignoreip: 禁止しない IP アドレスまたはホスト名のリストを指定します。
  • 禁止時間: ホストが禁止される秒数 (つまり、実質的な禁止期間) を指定します。
  • maxretry: ホストが禁止されるまでの失敗回数を指定します。
  • findtime: 最後の「findtime」秒間にホストが「maxretry」を生成した場合、fail2ban はホストを禁止します。
  • banaction: 行為を禁止すること。
  • バックエンド: ログ ファイルの変更を取得するために使用されるバックエンドを指定します。

したがって、上記の設定は、IP が過去 5 分間に 3 回失敗した場合、 その IP を 6 時間禁止し、 IP アドレス 192.168.56.2

次に、fail2ban サービスを開始して有効にし、次の systemctl コマンドを使用してサービスが稼働しているかどうかを確認します。

systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban

failed2ban-client を使用した、失敗した禁止された IP アドレスの監視

sshd を保護するように fail2ban を構成した後、fail2ban-client を使用して、失敗した IP アドレスや禁止された IP アドレスを監視できます。 fail2ban サーバーの現在のステータスを表示するには、次のコマンドを実行します。

fail2ban-client status

sshd ジェイルを監視するには、実行します。

fail2ban-client status sshd

(すべてのjailおよびデータベースで)fail2banでIPアドレスの禁止を解除するには、次のコマンドを実行します。

fail2ban-client unban 192.168.56.1

failed2ban の詳細については、次のマニュアル ページを参照してください。

man jail.conf
man fail2ban-client

以上がこのガイドの要約です。このトピックに関して共有したいご質問やご意見がございましたら、以下のフィードバック フォームからお気軽にお問い合わせください。