توضیحات
sHub-Logは、WordPressサイトのセキュリティを強化するためのプラグインです。
主な機能:
- ログイン試行の記録
- 設定ファイル探索、裏口探索、プラグイン脆弱性スキャン、管理画面ハッキング、スパムなどのカテゴリ別検知
- 不正なクエリパラメータ、大量リクエスト、REST API悪用試行のオプション検知
- 直近7日間のアタック統計サマリーと詳細ログ表示
- 直近24時間のアタック推移グラフ(期間・集計間隔を選択可能)
- アタック推移グラフの期間指定(24時間 / 7日 / 14日 / 3週間)と正時・日付揃えの集計(集計間隔: 1時間 / 3時間 / 6時間 / 1日)
- CSVエクスポートとAJAXカテゴリフィルタリング
- アタックログ保存期間(30日 / 90日 / 無期限)の選択
- WP-Cronによる古いアタックログの自動削除
- アタック統計・一覧の表示期間(7日 / 30日 / 全期間)の選択
- アタック急上昇時のメールアラートと通知クールダウン
- syn-c.jp 上のアラート定義・メールテンプレート取得に対応(取得失敗時は内蔵デフォルトで動作)
- 指定回数以上の失敗でIPアドレスをブロック
- ブロック時間の設定
- カスタムリダイレクトURLの設定
- 管理画面でのログ確認とIP管理
- 大量リクエストのしきい値・計測窓のカスタマイズ
- 攻撃特徴を伴うリクエストのみを計測する誤検知低減モード
- ログイン済みユーザー・正規検索 bot(FCrDNS)・正規 AI bot(公開IPレンジ検証)のレート計測除外(検索 bot / AI bot は管理画面で個別 ON/OFF、AI は初期 OFF)
- 不審な404多発(巡回スキャン)の検知
- IPホワイトリスト(検知・ブロック対象外)
- 信頼するプロキシ経由時の X-Forwarded-For / CF-Connecting-IP からの実IP取得
- URLの多重デコード・パス正規化による難読化リクエストの検知精度向上
- IPごとにリスクスコアを時間窓で累積し、記録・ブロックを判定するスコアリング(既定OFF)
- 配点・しきい値は管理画面で調整可能。syn-c.jp 上の署名付き配点定義の取得にも対応
نصب
- プラグインをアップロードまたはインストール
- プラグインを有効化
- 管理画面のsHub-Logメニューから設定を行う
سوالات متداول
-
ブロックされたIPアドレスを解除するには?
-
管理画面のsHub-Logメニューから、ブロックされているIPアドレスを確認し、解除することができます。
-
外部通信は行われますか?
-
アタック急上昇メールアラートが有効な場合、本プラグインはアラート定義およびメールテンプレートを更新するため、syn-c.jp 上の設定ファイルを取得する場合があります。また、リスクスコアリングで「外部の配点定義を使用」を有効にした場合は、配点定義(score-config.json)を syn-c.jp から取得する場合があります。「正規クローラー・AIボットを計測から除外」が有効な場合は、GPTBot・ClaudeBot 等の検証のため OpenAI / Anthropic / Perplexity 等が公開する IP レンジ JSON を取得する場合があります(24時間キャッシュ、取得失敗時は前回取得分を利用)。いずれも外部ファイルを取得できない場合、または署名検証に失敗した場合は、プラグイン内蔵のデフォルトまたは管理画面の設定値で動作します。これらの機能により、アタックログ、IPアドレス、ユーザー情報、サイト内容が syn-c.jp に送信されることはありません。
نقد و بررسیها
نقد و بررسیای برای این افزونه یافت نشد.
توسعه دهندگان و همکاران
“sHub-Log” نرم افزار متن باز است. افراد زیر در این افزونه مشارکت کردهاند.
مشارکت کنندگانعلاقه مند به توسعه هستید؟
کد را مرور کنید، مخزن SVN را بررسی کنید، یا از طریق RSS در گزارش توسعه مشترک شوید.
گزارش تغییرات
1.2.5
- Split bot rate-count exclusion into separate Search bot (default ON) and AI bot (default OFF) admin toggles.
- Expanded verified AI bot list: GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-Web, PerplexityBot, Perplexity-User, CCBot, Bytespider, Applebot.
- 正規 bot の計測除外を「検索 bot(初期 ON)」と「AI bot(初期 OFF)」の個別設定に分割。AI からの取得を許可する場合のみ AI bot を ON に。
- 検証対象 AI bot を拡充(GPTBot、ChatGPT-User、OAI-SearchBot、ClaudeBot、Claude-Web、PerplexityBot、Perplexity-User、CCBot、Bytespider、Applebot)。
1.2.4
- Added verified AI bot support (GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot) to the rate-limit exclusion list. AI bots are verified against each vendor’s published IP range JSON; search crawlers continue to use FCrDNS. User-Agent strings alone are never trusted.
- AI ボット(GPTBot、ChatGPT-User、ClaudeBot、PerplexityBot)を正規クローラー除外に追加。各社公開 IP レンジ JSON で検証し、検索系は従来どおり FCrDNS を使用。UA 文字列のみの偽装ボットは除外しません。
1.2.3
- Security hardening: neutralized CSV formula injection in the attack log CSV export. Fields beginning with =, +, -, @, TAB, or CR (e.g. a crafted User-Agent) are now prefixed so spreadsheet apps do not execute them as formulas.
- Hardened the blocked-IP redirect by re-applying esc_url_raw() to the admin-configured redirect URL (defense in depth; external redirect URLs remain supported).
- Replaced date() with gmdate() when computing the IP block expiry for timezone-consistent, coding-standard-compliant behavior (functionally identical under WordPress UTC).
- セキュリティ強化:アタックログのCSVエクスポートにおける数式インジェクションを無効化。先頭が =, +, -, @, TAB, CR の値(細工された User-Agent など)を表計算ソフトが数式として実行しないようエスケープ
- ブロックIPのリダイレクトURLに esc_url_raw() を再適用して多重防御を追加(外部リダイレクトURLは引き続き利用可能)
- IPブロック期限の算出を date() から gmdate() に変更し、タイムゾーン整合とコーディング規約準拠を改善(WordPressのUTC運用下では動作は同一)
1.2.2
- Attack trend chart now supports Analytics-style period selection: 24 hours, 7 days, 14 days, and 21 days (default: 7 days).
- Chart buckets are aligned to on-the-hour boundaries (hourly) or calendar days (daily) instead of rolling from the current minute.
- Aggregation interval options: 1 hour, 3 hours, 6 hours, and 1 day.
- アタック推移グラフに期間指定(24時間 / 7日 / 14日 / 3週間、初期値7日)を追加
- グラフの時間区切りを正時・日付単位に揃え、週末などの推移を見やすく改善
- 集計間隔を 1時間 / 3時間 / 6時間 / 1日 に統一
1.2.1
- Added Simple mode and Advanced settings views for the admin screen, with per-user view preference persistence.
- Simple mode shows essential settings only (block duration, auto IP blocking, 404 flood detection, email alerts, login attempt limit count).
- 管理画面に Simple mode / シンプル版 と Advanced settings / 詳細設定版 の表示切替を追加(ユーザーごとに前回の選択を保持)
- シンプル版では日常運用に必要な6項目のみ表示。しきい値や詳細オプションは詳細設定版で変更可能
1.2.0
- Added per-IP risk scoring (disabled by default): weak signals accumulate a score within a time window, recording a “Risk Score Exceeded” log and blocking the IP when thresholds are crossed.
- Signal weights, accumulation window, and record/block thresholds are configurable from the admin screen.
- Added optional retrieval of a signed scoring definition (score-config.json) from syn-c.jp, with priority remote > admin settings > built-in defaults.
- IPごとのリスクスコアリングを追加(初期OFF)。弱い兆候を時間窓で累積し、しきい値超過で「スコアリング検知」を記録・IPブロック
- 配点・累積窓・記録/ブロックしきい値を管理画面で調整可能に
- syn-c.jp 上の署名付き配点定義(score-config.json)の取得に対応(優先順位:外部 > 管理画面 > 内蔵デフォルト)
1.1.9
- Added URL normalization (multi-decoding, path normalization, control-char stripping) before pattern matching to catch obfuscated requests.
- Added detection for suspicious 404 floods (scanner crawling) with configurable threshold and window.
- Made the high-volume request threshold and time window configurable, with a more robust fixed-window counter.
- Added an option to count only requests with attack signals toward rate limiting.
- Added exclusion of logged-in users and verified good bots (FCrDNS) from rate counting.
- Added an IP whitelist that is never detected or blocked.
- Added trusted-proxy support to read the real client IP from X-Forwarded-For / CF-Connecting-IP.
- URL正規化(多重デコード・パス正規化・制御文字除去)を照合前に追加し、難読化リクエストの検知精度を向上
- 不審な404多発(巡回スキャン)の検知をしきい値・計測窓つきで追加
- 大量リクエストのしきい値と計測窓を設定可能にし、固定ウィンドウ方式の堅牢なカウンタに変更
- 攻撃特徴を伴うリクエストのみをレート計測対象にするオプションを追加
- ログイン済みユーザーと正規クローラー(FCrDNS検証)をレート計測から除外
- 検知・ブロック対象外とするIPホワイトリストを追加
- 信頼するプロキシ経由時に X-Forwarded-For / CF-Connecting-IP から実IPを取得する機能を追加
- 大量リクエスト/404多発の初期値を緩和(90回/30回)。旧初期値(30/20)のサイトは一度だけ自動移行
- Relaxed default thresholds (90 for high-volume requests, 30 for 404 floods); sites still on the old defaults (30/20) are migrated once automatically.
1.1.8
- When the previous attack count window is zero, attack spike alert emails now show N/A and an explanatory note instead of a misleading multiplier.
- 前回集計が0件のとき、アタック急上昇メールアラートの増加倍率を N/A と注記で表示するよう修正
1.1.7
- Refined the attack spike alert email wording for more accurate IP protection messaging.
- アタック急上昇メールアラートの対象IPプロテクト表現をより正確な文言に調整
1.1.6
- Updated the built-in fallback email template for attack spike alerts.
- アタック急上昇メールアラートの内蔵フォールバック文面を更新
1.1.5
- WordPress 7.0 compatibility display update
- 管理画面のAttack LogとProtected IP Addressesの表示順を調整
- 管理画面の説明文、ボタン表記、初期設定、サマリー補足文を更新
1.1.4
- 直近24時間のアタック推移グラフを追加
- グラフの集計間隔(1時間 / 2時間 / 3時間)選択を追加
- アタック急上昇メールアラートと通知クールダウンを追加
- syn-c.jp 上のアラート定義・メールテンプレート取得とフォールバック処理を追加
- 外部通信に関する説明を管理画面とreadmeに追加
1.1.2
- 管理画面の期間ラベルで発生する可能性があるPHP 8系のフォーマットエラーを修正
1.1.1
- プラグイン名称をsHub-Logに変更
- 管理画面を英語/日本語併記に更新
- アタックログのCSVエクスポートを追加
- AJAXによるカテゴリ別アタックログフィルタリングを追加
- アタックログテーブルのdate/categoryインデックスを維持し、アップデート時にdbDeltaで反映
1.1.0
- プラグイン名称をsHub-SecureLogに変更
- カテゴリ別アタックログテーブルを追加
- 不審な404、不正クエリ、大量リクエスト、REST API悪用試行の検知を追加
- 直近7日間のアタック統計サマリーとアタックログ一覧を追加
- アタック検知とIPブロックの連動設定を追加
- アタックログ保存期間と表示期間の選択設定を追加
- WP-Cronによる古いアタックログの自動削除を追加
1.0.3
- セキュリティ強化:nonceの追加
- wp_enqueue_scriptの適切な使用
- データのサニタイズとエスケープの改善
- SQLクエリの安全性向上
1.0.2
- バグ修正:ログ削除機能の改善
- UI/UXの改善
1.0.1
- 初期バグ修正
- 管理画面の改善
1.0.0
- 初回リリース