Q. CSP(Content Security Policy)を設定したらサイトが表示されなくなりました
A. CSP の設定が厳格すぎて、正規のスクリプトやスタイルシートがブロックされている状態です。
応急処置
まず、サイトの表示を復旧させましょう。
- SentinelSecurity → セキュリティヘッダー設定 にアクセスします(管理画面は CSP の影響を受けません)
- CSP の設定を 無効 にするか、Report-Only(学習) モードに変更します
- 保存 をクリックします
- サイトのフロントエンドが正常に表示されることを確認します
/wp-content/plugins/sentinel-security フォルダ名を変更してプラグインを無効化してください。
正しい CSP の導入手順
CSP は段階的に導入することが重要です。
ステップ 1: スマートスキャン
スマートスキャン 機能を使って、サイトで使用されているリソース(スクリプト、スタイルシート、画像、フォントなど)のオリジンを自動的にスキャンします。これにより、許可すべきドメインが一覧表示されます。
ステップ 2: Report-Only モードで学習
CSP モードを Report-Only(学習) に設定し、1〜2週間運用します。このモードでは実際にはリソースがブロックされず、ポリシーに違反するリソースがレポートとして記録されるだけです。
ステップ 3: 違反ログの確認
CSP違反ログ を確認し、正規のリソース(自サイトのスクリプト、Google Analytics、CDN のフォントなど)をポリシーに追加します。
ステップ 4: Enforce モードに切り替え
違反が十分に減少したら、Enforce(適用) モードに切り替えます。
よくある原因
| ブロックされるリソース | 対処 |
|---|---|
| Google Fonts | font-src に https://fonts.googleapis.com https://fonts.gstatic.com を追加 |
| Google Analytics | script-src と connect-src に https://www.googletagmanager.com を追加 |
| インラインスクリプト | script-src に 'unsafe-inline' を追加(非推奨だが必要な場合) |
| CDN のスタイル | style-src に CDN のドメインを追加 |