SecurityScan for EC-CUBE 4
セキュリティ診断プラグイン ご利用ガイド
ショップの設定やファイルを調べ、見直しが必要な箇所と対処方法を確認します。
目次
- インストールと画面の開き方
- 診断を始める
- 結果の見方
- 主な確認項目
- 管理画面にPHPの通知が出たとき
- 詳細を確認する・結果を絞り込む
- 問題に対応する
- 対応履歴と復元
- 過去の診断を見る・比較する
- レポートを保存する・一時除外する
- 診断履歴を整理する
- よくある質問
- サーバー担当者向け:保存先の設定
このプラグインでできること
管理画面URLやPHPのバージョン、公開フォルダのファイルなどを調べ、結果を一覧に表示します。各項目の「詳細」から、指摘された理由と対処方法を読めます。対象のファイルは、元のファイルを保存したうえで公開フォルダから退避できます。
診断は設定やファイルを読み取る操作です。ファイルを退避するときは、診断結果の確認画面から実行します。
1. インストールと画面の開き方
- EC-CUBE 4.0/4.1の管理画面でプラグインをインストールし、有効にします。
- システム管理者のアカウントでログインします。
- メニューの「セキュリティ診断」→「診断」を開きます。
有効にしたら、そのまま診断を始められます。ファイルの退避も使う場合は、退避前のファイルを保存する場所を確認してください。
診断
ここから診断を始めます。診断の進み具合、最新の結果、最近の履歴を同じ画面で見られます。
履歴・設定
以前の診断結果を開いたり、2回の結果を比べたりできます。ファイルの退避・復元の履歴や、保存先の状態もここに表示します。
2. 診断を始める
- 「診断状況」の「新しく診断する」を押します。
- 完了するまで画面を開いておきます。確認したファイル数が順に表示されます。
- 完了すると診断結果が自動で開きます。
- 「重大」「要対応」の項目から「詳細」を開き、指摘された理由を読みます。
| 操作 | 使い方 |
|---|---|
| 一時停止 | 診断を途中で止めます。後で続きから再開できます。 |
| 再開 | 一時停止中の診断や、画面を閉じて中断した診断を続けます。 |
| 中止 | 進行中の診断を終了します。最初からやり直す場合は、中止してから新しい診断を始めます。 |
ファイル数が多いショップでは時間がかかることがあります。途中で画面を閉じた場合は、もう一度「診断」を開き、「再開」を押してください。
3. 結果の見方
一覧には「確認項目」「現在値」「状態」「対応」「操作」が表示されます。「現在値」には、使用中のPHPバージョンや設定値などを表示します。まず「重大」「要対応」の項目から確認してください。
| 状態 | 意味・次に行うこと |
|---|---|
| 重大 | 優先して対応する項目です。「詳細」で対象と理由を読み、担当者へ相談してください。 |
| 要対応 | 設定の変更やファイルの整理が必要な項目です。「詳細」の案内に沿って対応します。 |
| 要確認 | 設定の意図やファイルの用途を確かめてから、変更するか判断します。 |
| 未確認 | 必要な情報を読み取れないなどの理由で、判定できなかった項目です。「詳細」に理由を表示します。 |
| 問題なし | 今回の診断では、その項目に問題が見つかりませんでした。 |
| 対応済み | プラグインで対応を終えた項目です。実行した内容は「対応履歴」で確認できます。 |
結果は診断した時点のものです。「問題なし」は今回調べた項目についての結果で、ショップ全体の安全を保証する表示ではありません。
「診断範囲」には、調べたフォルダやスキップした件数を表示します。スキップは、ファイルを読み取れなかった場合や、容量などの上限を超えた場合に記録されます。「一部未確認」となった場合も、調べ終えた項目の結果は見られます。
4. 主な確認項目
| 分類 | 確認する内容 | 結果を見た後の対応 |
|---|---|---|
| セキュリティ設定 | 推測されやすい管理画面URL、「admin」というログインIDの使用、デバッグモード、HTTPS、IP制限など。 | 指摘された設定を担当者へ伝え、変更が必要か相談します。 |
| PHP・更新情報 | PHPのサポート状況と、EC-CUBE・プラグイン・ライブラリの既知の脆弱性。 | 「詳細」にある更新案内を読み、担当者へ更新や移行を依頼します。 |
| 公開ファイル | アップロード先のPHPファイル、公開フォルダに残ったバックアップや圧縮ファイル、不審なコードを含むファイル。 | 使っているファイルか担当者に確かめます。退避できるものには「修正内容を確認」が表示されます。 |
| SEO | トップ・商品一覧・商品詳細のページ管理設定と、robots.txt。 | ページの説明文や、検索結果への表示を制限する設定(noindex)を見直します。公開HTMLや検索順位の調査は含みません。 |
| 画像 | 画像のファイルサイズと縦横の大きさ。容量の大きいPNG・JPEGには、WebPへの変換などを案内します。 | 担当者が画質や表示を確かめながら、圧縮や形式の変更を行います。 |
対象フォルダは html、src/Eccube、app/Customize、app/Plugin です。調べた範囲や読み取りの制限は「診断範囲」に表示します。脆弱性は、プラグインに登録されている情報と照合します。
5. 管理画面にPHPの通知が出たとき
PHP2Shellの修正版より古いPHPを使っていると、診断を始める前でも管理画面に通知が出ます。通知に表示されるのは、ショップの動作に使われているPHPのバージョンです。
通知が出たら、サイトを管理している担当者へ移行を依頼してください。案内している移行先は、EC-CUBE 4.3(最新パッチ版)/PHP 8.3.36以降(8.3系)です。
EC-CUBE 4.3へ移行する
診断結果の「対応方法を見る」を押すと、移行の手順とバックアップ用プラグインのリンクが表示されます。管理画面のPHP通知にも、同じプラグインへのリンクがあります。
- 移行先にEC-CUBE 4.3の最新パッチ版とPHP 8.3.36以降(8.3系)を用意します。使うテーマやプラグインが対応しているか、あわせて確認します。
- 移行元のEC-CUBE 4.0/4.1で、データ移行向けバックアップ生成 for EC-CUBE 4.0/4.1を使って移行用バックアップを作成します。
- 移行先に対応する「データ移行アシスタント」を別途用意し、バックアップを取り込みます。注文やログインなどの動作を確かめてから、新しいサイトに切り替えます。
EC-CUBE 3のデータを移行する場合は、データ移行向けバックアップ生成 for EC-CUBE 3を使います。バックアップ用のプラグインは、移行元のバージョンに合わせて選んでください。
サーバーの準備とデータの取り込みは、サイトの担当者へ依頼してください。この診断画面からPHPを更新する操作はありません。
ホスティング会社が独自に修正を適用している場合もあります。適用済みかどうかは、ホスティング会社へお問い合わせください。PHPのバージョンや診断に必要な情報を読み取れないときは、「確認できません」と表示します。
6. 詳細を確認する・結果を絞り込む
一覧を絞り込む
「分類」でセキュリティ・SEO・画像を選び、「状態」で確認したい結果を選びます。両方を組み合わせて使えます。
詳細を読む
「詳細」には、現在の設定やファイル名、指摘された理由、対処方法を表示します。「技術情報」は、担当者が詳しく調べるときに使う情報です。
結果は1ページ50件ずつ表示します。続きは「前へ」「次へ」で開きます。状態ごとの件数、絞り込み、レポート出力は、いま開いているページ内の結果が対象です。
プラグインを更新して確認項目が増えたときは、あらためて診断してください。新しい項目の結果は、更新後の診断から表示されます。
7. 問題に対応する
ファイルを退避できる項目には、「詳細」の中に「修正内容を確認」が表示されます。退避とは、元のファイルを保存してから、公開フォルダから取り除く操作です。
- 「修正内容を確認」を押します。
- ファイル名と処理内容を読み、ショップで使っているファイルか確かめます。
- 「対象ファイルと影響を確認しました。」にチェックを入れます。
- 「バックアップして修正」を押します。
- 完了後、表示された結果と「対応履歴」を確認します。
プラグインで対応できるもの
アップロード先のPHPファイルや、公開フォルダにあるバックアップ・圧縮ファイルの一部を退避できます。退避前のファイルは暗号化して保存します。画面の「原本」は、この保存したファイルを指します。
担当者が変更するもの
PHP・EC-CUBE・ほかのプラグインの更新、管理画面URLやログインIDの変更、デバッグ設定の見直しなどは、サイトの担当者へ依頼してください。SEOの設定や画像の圧縮・変換も担当者が行います。
ボタンが出ないときは、「詳細」にある理由を読んでください。「対応内容をコピー」を押すと、担当者へ伝える内容をコピーできます。保存先や権限についての案内が出た場合は、サーバー担当者向けの設定をご覧ください。
不審なファイルが見つかった場合は、退避した後も、置かれた経緯やほかのファイルへの影響を担当者に調べてもらってください。
8. 対応履歴と復元
処理結果を確認する
「履歴・設定」→「対応履歴」の「詳細・復旧」を開くと、処理したファイルと結果が見られます。処理が途中で止まっているときは、表示された「処理を再開」から続けます。
退避したファイルを元に戻す
- 対象の対応履歴から「復元内容」を開きます。
- 戻すファイル名、戻す場所、注意事項を読みます。
- 確認欄にチェックを入れ、「復元する」を押します。
- 結果が「復元済み」になったことを確認します。
復元すると、不審と判定されたファイルも元の場所に戻ります。必要なファイルか担当者に確かめてから実行してください。戻す場所にすでにファイルがある場合は、上書きせずに処理を止めます。
9. 過去の診断を見る・比較する
「診断」の画面には最近5件の履歴を表示します。それ以前の結果は「履歴・設定」から開けます。診断履歴・対応履歴は、それぞれ50件ずつ表示し、「前へ」「次へ」で切り替えます。
- 「履歴・設定」の「結果の比較」を開きます。
- 「診断結果」と「比較対象」に、異なる2回の診断を選びます。
- 「比較する内容」で、新しく検出・内容が変化・今回検出されない項目のいずれかを選びます。
- 「比較」を押します。
- 結果を確認します。続きがある場合は「次へ」を押します。
比較には、「完了」または「一部未確認」の診断を選べます。古い結果を選ぶときは診断履歴のページを切り替えてください。すでに選んだ診断は、そのまま残ります。
「今回検出されない項目」は、前回は見つかり、今回は見つからなかった項目です。ファイルの削除や調べた範囲の違いによる場合もあるため、修正済みかどうかは個別に確かめてください。
日時はショップに設定された時刻で、2026.10.28 14:30:00のように表示します。
10. レポートを保存する・一時除外する
レポートを保存する
診断結果の「レポート出力」を押すと、いま開いているページの結果をHTMLファイルで保存します。絞り込んでいる場合は、その条件に合う項目だけを保存します。保存したファイルは、ブラウザで開くほか、担当者への相談にも使えます。
一時除外する
用途を確認したうえで、当面変更しない項目に理由と期限を残せます。「詳細」に「一時除外」が表示されている場合は、理由を入力し、1・7・14・30日から期間を選びます。登録した項目には「確認済み(除外中)」と表示します。
一時除外は、対応を終えたという記録ではありません。重大な項目など、一時除外できないものもあります。
担当者へ相談するときは、該当項目の内容やレポートを共有してください。復元用キーや、退避前のファイルそのものは添付しないでください。
11. 診断履歴を整理する
すべての診断データを削除
- 「診断履歴」の「診断データをすべて削除」を押します。
- 対象を確認し、確認欄にチェックを入れます。
- 「すべて削除」を押します。
このショップの診断履歴・結果・一時除外の記録をまとめて削除します。削除後は元に戻せません。
古いレポートだけ削除
「履歴・設定」→「設定」の「古いレポートを削除」を押します。作成から90日が過ぎたものと、最新30件より前のレポートを削除します。
どちらの操作でも、対応履歴・操作記録・設定・復元用バックアップは残ります。ショップの商品・受注・画像は削除しません。
診断中や一時停止中は、先に診断を完了するか中止してください。修正・復元が途中の場合も、その処理を終えてから削除します。
12. よくある質問
Q. 診断すると設定やファイルが変わりますか?
A. 診断では、設定やファイルを読み取り、結果を保存します。ファイルの退避は、結果を読んでから確認画面で実行する操作です。
Q. メニューが見つからない、または画面を開けません。
A. プラグインが有効か、システム管理者のアカウントでログインしているかを確認してください。
Q. 診断中にブラウザを閉じました。やり直しが必要ですか?
A. 同じ画面を開いて状態を確認し、「再開」を押してください。最初からやり直す場合は、中止してから新しい診断を始めます。
Q. 商品や画像が多いショップでも使えますか?
A. ファイルを少しずつ読み進める仕組みです。ファイル数が多いと診断に時間がかかるため、完了まで画面を開いておいてください。調べた範囲やスキップした件数は「診断範囲」で見られます。
Q. 「未確認」は問題があるという意味ですか?
A. 判断に必要な情報が足りず、結果を出せなかったという意味です。「詳細」で、読み取れなかった情報や理由を確かめてください。
Q. すべて「問題なし」なら、対応は不要ですか?
A. 今回調べた項目では問題が見つからなかった、という結果です。「診断範囲」もあわせて見てください。設定の変更やプラグインの追加後は、もう一度診断すると変更後の状態を調べられます。
Q. PHPを更新したのに通知が出ます。
A. ショップの動作に使うPHPと、コマンド実行用のPHPが別になっている場合があります。通知に出ているバージョンをホスティング会社へ伝え、ショップ側にも更新が反映されているかお問い合わせください。
Q. 「修正内容を確認」が出ません。
A. 設定変更やPHP更新など、担当者が行う項目には表示されません。ファイルの退避でも、保存先や権限などの準備が必要な場合があります。「詳細」に出ている理由を担当者へ伝えてください。
Q. 「バックアップして修正」はショップ全体のバックアップですか?
A. いいえ。今回退避する対象ファイルの原本を保存する機能です。データベースやショップ全体をまとめて保存するものではありません。
Q. ファイルを退避したら、ページや機能が使えなくなりました。
A. 「対応履歴」で退避したファイルを調べ、担当者に必要なファイルだったか相談してください。元に戻す場合は、その履歴の「復元内容」から進めます。
Q. SEOや画像の指摘も自動で直りますか?
A. これらは見直す箇所を知らせる機能です。SEOの設定変更や画像の圧縮・変換は、担当者が行ってください。
Q. 診断履歴を削除すると商品や画像も消えますか?
A. 消えません。削除されるのは診断履歴・結果・一時除外です。対応履歴と復元用バックアップも残ります。
サーバー担当者向け:保存先の設定
ファイルを退避するときは、退避前のファイルを保存する場所が必要です。この章は、その場所を用意するサーバー担当者向けです。診断だけを使う場合は、この設定は不要です。
- 「履歴・設定」→「設定」を開き、バックアップ保存先の状態を確認します。
- 「利用可能」であれば、その保存先を使用できます。
- 「要確認」の場合は、表示された理由と次の条件を確認します。
| 設定・条件 | 内容 |
|---|---|
| 保存先 | 標準では、EC-CUBEの設置フォルダの1つ上に、ショップ専用の保存フォルダを作成します。別の場所を指定する場合は、サーバーの環境変数 SECURITY_SCAN_STORAGE_PATH に絶対パスを設定します。 |
| 公開範囲・権限 | 保存先はEC-CUBEの設置フォルダの外に置き、Webからアクセスできないようにします。PHPを実行するユーザーに読み書きの権限が必要です。フォルダは0700、ファイルは0600で管理します。 |
| ファイルシステム | 対象ファイルと保存先は、同じファイルシステム上に置いてください。Dockerを使う場合は、マウント先の構成も確かめてください。 |
| 保管するデータ | 保存フォルダには、暗号化したファイル、復元用キー、復旧記録が入ります。復元時に必要になるため、フォルダ全体を保管してください。キーは公開フォルダへ置かないでください。 |
管理画面から復元できない場合
サーバー担当者は、保存先にある recover.php をコマンドラインから実行して復元できます。EC-CUBEが起動しないときも使えます。まず php recover.php で使い方を表示し、このショップの復旧記録を選んでください。
プラグインを無効にしたり削除したりしても、診断記録と復元用データは残ります。診断記録を消す場合は、管理画面の「診断履歴」から削除してください。