説明
SiteGuard Scanner は、EGセキュアソリューションズが提供する脆弱性診断サービスのコンパニオンプラグインです。診断契約を結んでいるサイトにインストールすると、以下の2つの機能が有効になります。
- サイト所有権の確認 (認証) — 診断サービスが、対象サイトが実際に診断契約の対象となっているサイトであることを確認できます。
- インストールインベントリ — 診断サービスに、対象サイトにインストールされているプラグインとテーマのリスト (名前、バージョン、アクティベーションステータス) を提供します。
通信方式
このプラグインは、診断サービスから送信される 署名付きリクエストにのみ応答 します。プラグイン自身は外部サーバーにデータを送信することはありません (いわゆる「外部サーバーへの連絡」は行いません)。
- 認証には、共有トークンに基づく HMAC-SHA256署名 が使用されます。各リクエストには、リプレイ攻撃を防ぐためにタイムスタンプと nonce (一度だけ使用されるランダムな値) が含まれます。
- リクエストは、WordPress REST API エンドポイント
/wp-json/siteguard-scanner/v1/verifyおよび/wp-json/siteguard-scanner/v1/collectを介して受信されます。 - REST API が無効になっている環境向けに、フォールバックとしてカスタムエンドポイント (
/?siteguard-scanner-request=verifyおよび/?siteguard-scanner-request=collect) が提供されています。
各エンドポイントは、有効な署名を持つリクエストにのみ応答します。署名検証に失敗した場合、プラグインは HTTP 401エラーを返し、一切の情報を提供しません。
提供されたデータ
collect に応答する際、プラグインは診断サービスに以下の情報を返します。
- サイト URL
- WordPress コアバージョン
- インストールされているプラグインの一覧 (スラッグ、名前、バージョン、有効化ステータス、ネットワーク有効化ステータス)
- インストール済みのテーマ一覧 (スラッグ、名前、バージョン、アクティベーション状況、ネットワーク有効状況)
個人データ、投稿内容、または上記以外のいかなるデータも収集または送信されません。
マルチサイト
マルチサイトネットワークでは、診断はメイン(親)サイトに対して実行されます。プラグインファイルとテーマファイルはネットワーク全体で共有されるため、collect はネットワーク全体にインストールされているアセットのインベントリを返し、network_active フラグを介してネットワークで有効化されているプラグインを正しく報告します。
インストール
- WordPress の管理画面で、「プラグイン」>「新規追加」に移動します。
- 画面上部の「プラグインをアップロード」をクリックし、インストールするプラグインの ZIP ファイルを選択してください。
- インストール後、プラグインを有効化してください。
- 管理メニューの「設定」> SiteGuard Scanner を開きます。
- 診断サービスから提供された64文字のトークンを入力して保存してください。
マルチサイトネットワークの場合、トークンはメインサイトの「設定」画面で設定してください。
FAQ
-
このプラグインは外部サービスにデータを送信しますか ?
-
プラグイン単体では何も送信しません。診断サービスからの署名付きリクエストにのみ応答します。
-
トークンを保存できません。
-
トークンは、64文字の小文字の16進数文字列 (0~9, a~f) である必要があります。これらの条件を満たさない値は拒否され、保存されません。
-
REST API を無効にした状態でも使用できますか ?
-
はい。REST API が無効になっている環境では、フォールバックとしてカスタムエンドポイント (
/?siteguard-scanner-request=...) が自動的に使用されます。 -
マルチサイト環境でも動作しますか ?
-
はい。マルチサイト環境では、診断はメインサイトに対して実行され、プラグインはネットワーク全体のプラグインとテーマのインベントリを提供します。
評価
このプラグインにはレビューがありません。
貢献者と開発者
変更履歴
1.0.0
- WordPress.org のプラグインディレクトリで初めて一般公開されました。
- プラグインの名前を SiteGuard Scanner (スラッグ、エンドポイント、および識別子) に変更しました。
- 収集レスポンスに WordPress コアバージョンを追加しました。
- マルチサイト機能を修正し、ネットワーク経由で有効化されたプラグインとテーマが正しく報告されるようにしました。
- collect レスポンスに network_active / network_enabled / is_multisite を追加しました。
- 管理画面の UI を国際化し、日本語翻訳を同梱しました。
- WordPress.org ディレクトリ向けにプラグインのヘッダーファイルと README ファイルを準備しました。
0.3.0
- REST API が無効になっている環境のフォールバックとして、カスタムエンドポイント (
/?siteguard-scanner-request=verify|collect) を追加しました。 - REST API とカスタムエンドポイント全体で、署名検証ロジックを統一しました。
0.2.0
- HMAC-SHA256 署名を用いたリクエスト認証を実装しました。
0.1.0
- 初期バージョン

