当ページは検証・整備中のドラフトです。
内容は実環境での検証や追加調査により変更される予定です。
参照:ページ公開・更新ポリシー
Webサイトをインターネット側から診断し、公開状態に問題がないか確認する。
対策済みであれば、設定が意図どおり反映されているかの確認となる。先に診断を行い、見つかった問題から個別に対策する、という順でもよい。
なお、WPScanなどのスキャンツールは攻撃的な通信と見做される場合もあるため、ホスティングサービス等の規約や制限も確認したうえで自身が管理するWebサイトでのみ使用すること。
WordPress本体の脆弱性を確認する
WPScanなどでWordPress本体のバージョンや既知の脆弱性を調べる。
外部から判定されたバージョンは、実際と異なる場合がある。脆弱性が検出されたら、管理画面のバージョンと照合したうえで対策が必要か判断する。
参考:WordPress本体の脆弱性を確認・解消する
対策後は再診断し、問題が解消されたことまで確認しておく。
プラグイン・テーマの脆弱性を確認する
攻撃者は、既知のプラグイン名やファイルパスを使って多数のサイトを機械的に探索できる。脆弱なファイルがサーバ上に残っていれば、プラグインの利用状況を事前に把握されていなくても攻撃対象になり得る。
しかし、無効化されているテーマやプラグインまで外部から把握するのは難しい。そのため、不要なプラグイン・テーマは外部診断に頼らず、管理画面から確認して削除する。
参考:WordPressプラグインの脆弱性を確認・解消する
参考:WordPressテーマの脆弱性を確認・解消する
参考:WordPressの不要テーマ・プラグインを削除する
PHP実行環境を確認する
HTTPレスポンスなどから、PHPのバージョン情報が公開されていないか調べる。
バージョンが判明した場合は、管理画面の実際の設定と照合する。外部から確認できなかった場合も、PHPが安全とは限らない。
古いPHPや既知の脆弱性が見つかった場合は、サポート状況や互換性を確認したうえで対応する。
WordPressの公開機能を確認する
XML-RPC、REST API、ユーザー列挙などが、意図した公開状態になっているか調べる。
curlなどで外部からアクセスし、実際の応答を確認する方法が利用できる。制限した機能が利用できる状態であれば、設定を見直す。
HTTPS・TLSを確認する
外部診断サービスなどを利用し、HTTPSの状態を調べる。
確認するのは、HTTPS接続、HTTPからHTTPSへの転送、証明書エラー、Mixed Content、重大なTLS設定不備などである。
診断サービスの評価点ではなく、通信の安全性に影響する問題を優先する。
自身で変更できない項目は、ホスティングサービスの設定や仕様を確認する。
意図しない公開を確認する
バックアップ、ログ、テストファイル、移行前のファイル、ディレクトリ一覧などが公開されていないか調べる。
外部診断ですべてを発見できるわけではない。不要なファイルは診断結果にかかわらず削除しておく。
公開の要否を判断できない場合は、ホスティング事業者やWebサイトの管理者への問い合わせも検討する。
対策後の再診断
問題を修正した項目は、同じ方法で再診断し、問題が解消されたことを確認して終了となる。
