ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

LinuxでFail2Banをセットアップする方法

編集済み 1 1週間前 によって ExtremeHow 編集チーム

セキュリティFail2Banブルートフォース保護設定インストールシスアドミン監視SSHIPアドレスの禁止自動化

LinuxでFail2Banをセットアップする方法

翻訳が更新されました 1 1週間前

Fail2Banは、Linuxサーバーをブルートフォース攻撃から保護するための人気のあるオープンソースソフトウェアです。ログファイルを監視し、疑わしい動作を示すIPアドレスを一時的に禁止することによって、これを実現します。Fail2Banを正しく設定することで、不正アクセスの試行に自動で応答し、サーバーのセキュリティを向上させることができます。

Fail2Banの理解

Fail2Banは、ユーザーやスクリプトがあなたのサーバーに不正アクセスしようとしているインスタンスを特定することで機能します。特定のログファイルを事前に定義されたパターンに基づいてスキャンし、これらのパターンに一致するIPアドレスを一時的に禁止します。この動作により、攻撃者がパスワードを何度も推測したり、システム内の脆弱性を操作したりするのを防ぐことができます。

Fail2Banを設定する前に、基本的なコンポーネントを理解することが重要です。

前提条件

Fail2Banを設定する前に、Linuxサーバーに管理者アクセス権があることを確認してください。これにより、新しいソフトウェアのインストールやシステム設定の変更が可能になります。また、Linuxのコマンドライン操作の基本的な理解が必要です。さらに、防火壁を適切に設定することも重要です。Fail2BanはIPアドレスのブロックおよびブロック解除のために防火壁と連携します。

Fail2Banのインストール

ほとんどのLinuxディストリビューションには、パッケージリポジトリにFail2Banが含まれているため、インストールが簡単です。異なるディストリビューションに対するインストール手順を見てみましょう:

Debian系システムの場合(例: Ubuntu)

sudo apt-get update
sudo apt-get install fail2ban

Red Hat系システムの場合(例: CentOS)

sudo yum install fail2ban

インストール後、Fail2Banサービスは通常自動的に開始されます。ステータスを確認するには次のようにします:

sudo systemctl status fail2ban

Fail2Banの設定

Fail2Banはその設定ファイルを通じて非常に設定可能です。以下の手順で、セキュリティニーズに合わせてカスタマイズします。

ローカル設定の作成

Fail2Banのメイン設定ファイルは/etc/fail2ban/jail.confにありますが、将来のアップデートで設定が上書きされないようにローカルコピーを作成することをお勧めします。jail.localという新しいファイルを作成します:

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

jail.localの修正

jail.localを編集して、特定の設定を行います。以下が設定する必要のあるセクションです:

デフォルトセクション

このセクションでは、すべてのジェイルに適用される一般設定(例えば、禁止時間やメールアラートの有無など)を定義します。テキストエディタでファイルを開きます:

sudo nano /etc/fail2ban/jail.local

[DEFAULT]セクションの下には、以下のような変数があります。

[DEFAULT]
ignoreip = 127.0.0.1/8
bantime = 600
findtime = 600
maxretry = 3
destemail = your-email@example.com
banaction = iptables-multiport
mta = sendmail
protocol = tcp
chain = INPUT

ジェイルを有効化する

ジェイルはFail2Banの中心であり、どのサービスを監視するかおよびどのように監視するかを定義します。jail.localファイル内で、保護したいサービスのためのジェイルを有効にします:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5

カスタムフィルターの追加

Fail2Banにはいくつかのプレコンフィグされたフィルターが含まれていますが、必要に応じてカスタムフィルターを書くこともできます。/etc/fail2ban/filter.d/ディレクトリに新しいファイルを作成します。フィルターは、不審な活動を識別する一連の正規表現で構成される必要があります。

カスタムフィルターの例

ウェブアプリケーションでのログイン失敗を検出するカスタムフィルターを作成したいと仮定します。まず、新しいフィルターファイルを作成します:

sudo nano /etc/fail2ban/filter.d/myapp.conf

次のような表現を追加します:

[Definition]
failregex = ^.*Failed login for user.*$
ignoreregex =

Fail2Banのテスト

Fail2Banのセットアップが期待通りに動作することを確認するため、テストすることが重要です:

Fail2Banサービスの開始

Fail2Banを設定した後、変更を適用するためにサービスを開始または再起動します:

sudo systemctl restart fail2ban

Fail2Banのステータス確認

Fail2Banサービスがエラーなく実行されていることを確認するには、ステータスを確認します:

sudo fail2ban-client status

試行の制限

攻撃をシミュレートするために、対象サービスを使用してログイン試行を意図的に失敗させます。Fail2Banを監視して、IPが禁止されることを確認します:

sudo fail2ban-client status sshd

このコマンドは、SSHジェイルのステータスと現在ブロックされているIPを表示します。

IPの禁止解除

誤って禁止されたIPを解除する必要があることがあります。IPを解除するには、次のコマンドを使用します:

sudo fail2ban-client set <jail> unbanip <IP-Address>

Fail2Banとファイアウォール

Fail2Banは主にiptablesを使用して禁止を管理します。ただし、firewalldUFW (Uncomplicated Firewall)などのファイアウォール管理ツールを使用している場合は、Fail2Banとスムーズに統合されるようにしてください。これらのツールを使用するために、構成でbanactionをカスタマイズする必要があるかもしれません。

Fail2Banの監視とメンテナンス

Fail2Banのログファイルを定期的にチェックして、不審な活動を確認します。ログは通常、ここにあります:

/var/log/fail2ban.log

これらのログを確認することで、攻撃パターンを理解し、セキュリティポリシーをより効果的にカスタマイズすることができます。

結論

Fail2Banは、不正アクセスの試行からLinuxサーバーを保護するための多用途で不可欠なツールです。適切に設定することで、サービスへのブルートフォース攻撃の成功回数を大幅に減らすことができます。サーバー環境に合わせて設定を調整し、ログを継続的に監視して強力なセキュリティ姿勢を維持します。

テクノロジーが進化するにつれて、攻撃方法も進化します。Fail2Banとその構成を定期的に更新することで、新しい脅威に伴うリスクを最小限に抑えることができます。Fail2Banがセキュリティを強化するとはいえ、強力なパスワードの使用、システムの更新、および開放ポートの制限など、他のベストプラクティスとともに包括的なセキュリティ戦略の一部であるべきです。

記事の内容に誤りがある場合, あなたは


コメント