IP アドレスによるアクセス制限(Fail2Ban)によって、サーバを総当たり攻撃から自動的に保護することができます。Fail2Ban は、正規表現を使用してログファイルを監視し、認証の失敗に相当するパターン、侵害、その他の疑わしいエントリを探します。ログエントリ数をカウントし、あらかじめ設定した値に達すると、Fail2Ban は通知メールを送信するか、事前定義された期間にわたって攻撃者の IP をアクセス制限します。アクセス制限期間が終了すると、IP アドレスによるアクセス制限は自動的に解除されます。

Fail2Ban のロジックは多数の jail によって決定されます。jail とは、個別のシナリオをカバーするルールのセットです。jail の設定によって、事前定義されたフィルタ(ログの監視に用いられる 1 つ以上の正規表現のセット)が攻撃を検出した場合にどのような処理を行うかが決まります。詳しくは Fail2Ban jail 管理 を参照してください。

Plesk Obsidian では、Fail2Ban がデフォルトで有効になっています。使用可能なすべての jail がオンになっており、Fail2Ban のデフォルト設定が使用されます。ほとんどの場合、このまま使用することをお勧めしますが、必要に応じて変更することもできます。

Fail2Ban の設定を変更するには:

  1. [ツールと設定] > [IP アドレスによるアクセス制限(Fail2Ban)]([セキュリティ]の下)に進みます。
  2. [設定]タブを開きます。ここで、以下を変更できます。
    • IP アドレスのアクセス制限期間:ある IP アドレスがアクセス制限される期間(秒)。この期間が終了すると、当該 IP アドレスのアクセス制限は自動的に解除されます。
    • 攻撃を検知する期間:ある IP アドレスからのログインの失敗やその他の望ましくないアクションの回数をカウントする期間(秒)。
    • IP アドレスがアクセス制限される失敗回数:IP アドレスからログイン試行を失敗できる回数です。
  3. [OK]をクリックします。

image 75007

Plesk での Fail2Ban には、以下のような制約や特徴があります。

  • Fail2Ban は IPv4 アドレスと IPv6 アドレスの両方で攻撃者からの防御を行います。
  • 構成を変更しない限り、Fail2Ban は IP のみに基づいて処理を行います(ホスト名ルックアップは行いません)。
  • Fail2Ban は IP アドレスによって侵入者を識別するため、分散型総当たり攻撃からの防御はできません。
  • Plesk を VPS にインストールしている場合は、VPS iptables レコードの上限(numiptent)が Fail2Ban の機能に影響を与える可能性があります。この上限を超過すると、Fail2Ban が正しく機能しなくなり、Fail2Ban ログに以下のような行が記録されます。 fail2ban.actions.action: ERROR iptables -I fail2ban-plesk-proftpd 1 -s 12.34.56.78 -j REJECT --reject-with icmp-port-unreachable returned 100 このような場合は、VPS ホスティング事業者まで問題を解決するよう依頼してください。

特定の IP アドレスをブロックしたくない場合:

  1. [ツールと設定] > [IP アドレスによるアクセス制限(Fail2Ban)] > [信頼できる IP アドレス] > [信頼できる IP を追加]に進みます。
  2. [IP アドレス]フィールドに IP アドレス、IP 範囲、または DNS ホストを入力して、[OK]をクリックします。

Fail2Ban ログファイルの表示やダウンロードを行うには、[ツールと設定] > [IP アドレスによるアクセス制限(Fail2Ban)] > [ログ]タブに進みます。

アクセス制限されている IP アドレスの一覧を表示したり、アクセス制限を解除したり、アクセス制限されているアドレスの一覧から信頼できるアドレスの一覧へ移動するには、[ツールと設定] > [IP アドレスによるアクセス制限(Fail2Ban)] > [アクセス制限中の IP アドレス]タブに進みます。

禁止されていない IP アドレスの一覧を表示したり、この一覧に IP アドレスを追加/削除するには、[ツールと設定] > [IP アドレスによるアクセス制限(Fail2Ban)] > [信頼できる IP アドレス]タブに進みます。