セキュリティヘッダー設定(プロ版)
セキュリティヘッダー設定は、管理画面からHTTPセキュリティヘッダーを直接設定できるプロ版専用機能です。
なぜ管理画面からの設定が重要なのか
従来、セキュリティヘッダーの設定にはサーバーの設定ファイル(.htaccess や nginx.conf)を直接編集する必要がありました。これには以下の課題があります。
- サーバー管理の知識が必要
- 設定ミスがサイト全体のダウンにつながる
- CSP の設定は複雑で、1つのミスでサイトが正常に表示されなくなる
- 共用サーバーでは設定が制限される
設定可能なヘッダー(10種類)
主要ヘッダー
| ヘッダー | 機能 | 推奨レベル |
|---|---|---|
| Content-Security-Policy (CSP) | スクリプト/スタイル/画像等のリソース制御 | 必須 |
| Strict-Transport-Security (HSTS) | HTTPS強制 | 必須 |
| X-Content-Type-Options | MIMEスニッフィング防止 | 必須 |
| X-Frame-Options | クリックジャッキング防止 | 必須 |
| Referrer-Policy | リファラー制御 | 推奨 |
| Permissions-Policy | ブラウザAPI制限 | 推奨 |
| X-XSS-Protection | レガシーXSSフィルタ | 任意 |
WordPress 固有の削除設定
| 設定 | 対象 | 効果 |
|---|---|---|
| X-Powered-By 削除 | PHPバージョン情報 | サーバー情報隠蔽 |
| X-Generator 削除 | WordPress バージョン | WPバージョン非公開 |
| Server ヘッダー削除 | Webサーバー情報 | サーバータイプ隠蔽 |
セキュリティレベル(プリセット)
複雑なヘッダー設定を簡単に導入するために、3つのプリセットが用意されています。
| レベル | 内容 | 対象 |
|---|---|---|
| 基本 | 最小限のヘッダー(HSTS、X-Content-Type-Options、X-Frame-Options) | 初めて導入する方 |
| 標準 | 基本 + CSP(レポートモード)、Referrer-Policy | 多くのサイトに推奨 |
| 厳格 | 全ヘッダーをフルポリシーで適用 | セキュリティ重視のサイト |
スマートスキャン
スマートスキャンは、CSP ヘッダーを適用する前に、サイトで使用されているリソース(スクリプト、スタイルシート、画像、フォントなど)を自動的にスキャンし、適切な CSP ポリシーを生成する機能です。
使い方
- セキュリティヘッダー設定 → CSP セクション
- スマートスキャン ボタンをクリックします
- サイトの各ページがスキャンされ、リソースのオリジンが一覧表示されます
- 必要に応じてオリジンの許可/拒否を選択します
- ポリシーを生成 をクリックします
ラーニングモード(CSP Report-Only)
CSP のラーニングモードは、実際にはリソースをブロックせず、ポリシーに違反するリソースをレポートのみ記録する モードです。
導入手順
- CSP Mode を Report-Only(学習) に設定します
- 1〜2週間ほど運用し、違反レポートを収集します
- CSP違反ログ で、ブロックされるはずだったリソースを確認します
- 正当なリソースはポリシーに追加、不正なリソースは除外します
- 違反が十分に減少したら、Enforce(適用) モードに切り替えます
CSP違反ログ
管理画面の CSP違反ログ では、以下の情報が確認できます。
- 違反したディレクティブ:
script-src、style-srcなど - ブロックされたURI: リソースのURL
- ページURL: 違反が発生したページ
- 発生回数: 同一違反の集約カウント
- 日時: 直近の発生日時
.htaccess セキュリティ
Apache環境では、.htaccess に直接セキュリティヘッダーを出力する機能も備えています。PHPレベルではなくサーバーレベルでヘッダーを設定するため、静的ファイル(画像、CSS、JS)にもヘッダーが適用されます。
テストモード/本番モード
| モード | 動作 |
|---|---|
| テストモード | .htaccess.test に出力してプレビュー。本番に影響なし |
| 本番モード | .htaccess に直接書き込み。即座に反映 |
注意事項
- CSP を誤って設定すると、サイトのスクリプトやスタイルが読み込めなくなります。必ず ラーニングモード から開始してください
- HSTS を有効にした後に SSL を無効にすると、ブラウザがサイトにアクセスできなくなります
- 設定変更前に
.htaccessのバックアップを取得することを推奨します