コンテンツにスキップ

ブルートフォース&フラッド対策

MyPanel は、パスワード推測(ブルートフォース)やリクエストのフラッド(アプリケーション層)からサーバーを 2 つの相補的なレイヤー で保護します。重い WAF は不要です。

  1. Fail2ban — 攻撃する IP をシステムレベルで自動的に BAN します。
  2. nginx レート制限ウェブサイトごとに リクエストのフラッドを抑制します。

ブルートフォース対策 メニューを開きます。パネルは Fail2ban を視覚的に管理します。

  • 概要タイル — Fail2ban がインストール/実行されているか、jail の数、現在 BAN されている IP の合計数。
  • ワンクリックのブルートフォース対策 — 安全なデフォルト設定の推奨 jail セットを有効にする単一のトグル:
    • sshd — SSH のパスワード推測。
    • nginx-http-auth — HTTP Basic 認証のパスワード誤り。
    • nginx-limit-req — nginx のレート制限超過(以下のレート制限レイヤーと連携)。
    • nginx-botsearch — 悪意のある URL のスキャン。
  • BAN 時間bantime、例: 10m1h1d)と 最大リトライ回数maxretry)を調整できます。
  • jail ごとの 現在 BAN されている IP の一覧。各 IP に BAN 解除 ボタンがあります(自分自身を締め出してしまった場合用)。

パネルは設定を別ファイル(/etc/fail2ban/jail.d/mypanel.local)に書き込み、システム設定には 一切触れず、その後 Fail2ban をリロードします。リロードに失敗した場合、パネルは以前の設定を復元します。

ウェブサイトごとのレート制限

Section titled “ウェブサイトごとのレート制限”

各ウェブサイト内で Nginx → レート制限 タブを開きます。これを有効にすると、リクエストのフラッド(L7)を抑制し、パスワード推測(例: wp-login.php)を遅くできます。

  • 3 つのプリセット — 緩め/標準/厳格 — または独自に設定:
    • IP ごとの動的リクエスト数/秒(rate)。
    • 短時間のスパイクに対する バースト 許容量。
    • IP ごとの同時接続数(conn)。
  • 静的アセット(画像、CSS、JS、フォントなど)はカウントから 除外 されるため、多数のファイルを含む通常のページ読み込みが誤ってブロック(429)されることはありません。

制限を超えると、nginx は 429 Too Many Requests を返します。Fail2ban の nginx-limit-req jail はこれらの 429 イベントを読み取って、問題の IP を完全に BAN します。2 つのレイヤーが互いを補強します。