起こりうる攻撃からサーバーを保護することは、システム管理者の基本的なタスクです。これは見た目ほど簡単ではありませんが、CentOS 8にFail2banをインストールして構成する方法を学べば可能です。次のガイドは、この目的に非常に役立ちます。
Fail2Ban
Fail2banは、/var/log/auth.log
などのログファイルをスキャンするPythonツールです。 また、ログイン試行の失敗回数が多すぎるIPアドレスを禁止します。これは、システムファイアウォールルールを更新して、構成可能な期間、これらのIPアドレスからの新しい接続を拒否することによって行われます。
デフォルトでは、Fail2banには、多くのログファイルを読み取って保護ルールを適用できる設定がいくつか含まれているため、すぐに使用できると見なされます。
多くのシステム管理者によって広く使用されているFail2banは、SSH攻撃のリスクを軽減できます ただし、開発者は、他のセキュリティ対策を真に保護する必要があると警告しています。ただし、Fail2banを使用すると、セキュリティをさらに強化して、サーバーをもう少し安全にすることができます。
見逃せない詳細の1つは、Fail2banがオープンソースであるため、そのソースコードにバックドアや悪意のあるコードが含まれていないことを確認できることです。
CentOS8にFail2banをインストールする
その人気にもかかわらず、Fail2banは公式のCentOS8リポジトリに含まれていません。ただし、これはインストールに問題はありません。
したがって、ターミナル環境では、オペレーティングシステムを更新してみてください
sudo dnf update
Fail2banはEPELリポジトリに存在します。このリポジトリは、CentOS 8の外部にありますが、パッケージの数が多いため、多くの人が基本的なリポジトリと見なしています。また、非常に安全であると見なされており、このプロセスに役立ちます。
したがって、実行中のシステムに追加します。
sudo dnf install epel-release
パッケージがインストールされ、リポジトリがシステムに追加されたら、Fail2banをインストールできます:
sudo dnf install fail2ban
Fail2banはシステムサービスとして処理されるため、コマンドsystemctl
で開始する必要があります。sudo systemctl start fail2ban
別のサービスとしてシステムから開始することをお勧めします。
sudo systemctl enable fail2ban
また、サービスのステータスをチェックして、サービスが正しく開始されているかどうかを確認できます。
sudo systemctl status fail2ban
これでFail2banがインストールされ、必要に応じて構成できます。
CentOS8でのFail2banの構成
いくつかの構成を実行する前に、Fail2banが構成ファイルを管理する方法についていくつか知っておくと便利です。
デフォルトでは、Fail2ban構成ファイルが存在するディレクトリは/etc/fail2ban/
です。 変更する必要のない2つのファイル、/etc/fail2ban/jail.conf
があります。 および/etc/fail2ban/jail.d/00-firewalld.conf
。
したがって、構成を行うための推奨される方法は、jail.conf
のコンテンツ全体をコピーすることです。 jail.local
というファイルに 同じディレクトリにあります。これは、.local
が原因です。 ファイルは.conf
を上書きします ファイル。ファイルを最初から作成することも可能です。
jail.conf
の内容をコピーするかどうか または、最初から独自の設定を追加できます。
たとえば、Fail2banで行う基本的な構成は次のとおりです。
- 禁止時間:IPが禁止される秒単位の時間。
- Maxretry:禁止される前に許可された再試行の数。
- Findtime:ホストが
maxretry
を作成した場合findtime
で表される時間 、その後禁止されます。 - 禁止:ホストを禁止するときにシステムが実行するアクション。
- バックエンド:fail2banログの取得元。
ignoreip
も使用します Fail2banが無視するIPアドレスまたは範囲を定義できる値。
保護する最も重要なサービスの1つはSSHです。これを行うには、構成ファイルにjail.local
を追加します。 値jail.local
。
[ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log
このようにして、SSHをすばやく簡単に保護できます。
すべての変更を適用するには、Fail2banサービスを再起動します。
sudo systemctl restart fail2ban
この投稿では、システムサービスに対する攻撃からサーバーをさらに保護するためにFail2banを構成する方法を学習しました。多くの異なる構成を見つけることができる公式のFail2banドキュメントを参照できます。