ブルートフォース&フラッド対策
MyPanel は、パスワード推測(ブルートフォース)やリクエストのフラッド(アプリケーション層)からサーバーを 2 つの相補的なレイヤー で保護します。重い WAF は不要です。
- Fail2ban — 攻撃する IP をシステムレベルで自動的に BAN します。
- nginx レート制限 — ウェブサイトごとに リクエストのフラッドを抑制します。
Fail2ban — IP の自動 BAN
Section titled “Fail2ban — IP の自動 BAN”ブルートフォース対策 メニューを開きます。パネルは Fail2ban を視覚的に管理します。
- 概要タイル — Fail2ban がインストール/実行されているか、jail の数、現在 BAN されている IP の合計数。
- ワンクリックのブルートフォース対策 — 安全なデフォルト設定の推奨 jail セットを有効にする単一のトグル:
sshd— SSH のパスワード推測。nginx-http-auth— HTTP Basic 認証のパスワード誤り。nginx-limit-req— nginx のレート制限超過(以下のレート制限レイヤーと連携)。nginx-botsearch— 悪意のある URL のスキャン。
- BAN 時間(
bantime、例:10m、1h、1d)と 最大リトライ回数(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 つのレイヤーが互いを補強します。