2026年6月16日
2026年6月16日
WordPressのSubresource Integrity(SRI)を設定する方法
はじめに
Subresource Integrity (SRI)は、ウェブページが外部から読み込むスクリプトやスタイルシートの正当性を検証するための技術です。これにより、攻撃者がこれらのリソースを改ざんした場合でもサイト訪問者に対して危険なコードが配信されることを防ぐことができます。WordPressにおいてSRIは特に重要で、多くのテーマやプラグインが外部CDN(Content Delivery Network)からJavaScriptやCSSファイルを読み込むためです。
症状・背景
- ユーザーからのセキュリティ警告
- 外部リソースの不正改ざんを検出したい場合
- サイトのパフォーマンスを改善しつつ、セキュリティを強化したい場合
- CDN経由で読み込む外部リソースに対して信頼性を確保したい場合
手順・設定方法
ステップ1: SRIを有効にするための準備
# WordPressのテーマディレクトリに移動します。
cd /var/www/html/wp-content/themes/yourtheme/
# テーマ内のスタイルシートファイル(style.css)を開きます。
nano style.css
ステップ2: SRIを適用するためのタグ追加
# スタイルシートの読み込み部分にSRIハッシュを含めるCSSタグを追加します。例えば:
<link rel="stylesheet" href="//example.com/yourstyles.css" integrity="sha384-abcdef123456789012345" crossorigin="anonymous">
ステップ3: JavaScriptファイルへのSRIの適用
# テーマ内のJavaScriptファイル(script.js)を開きます。
nano script.js
# 以下のスクリプトタグを追加または変更します:
<script src="//example.com/yourscript.js" integrity="sha384-abcdef123456789012345" crossorigin="anonymous"></script>
ステップ4: SRIハッシュの生成と確認
# サーバー上でSRIハッシュを計算します。例えば:
openssl dgst -sha384 yourscript.js | sed 's/^.* //'
注意事項
- すべての外部リソースに対して個別のSRIハッシュを生成する必要がある。
- SRIは、CDNや他の外部サーバーから提供されるリソースに特に重要である。
- ハッシュ値が変更された場合、新しいハッシュ値をウェブサイトで反映させることが重要である。
まとめ
1. SRIの理解: SRIとはどのような技術なのか、その目的と利点を理解することが大切です。
2. 外部リソースの管理: 外部から読み込むすべてのリソースにSRIを適用し、信頼性を確保します。
3. ハッシュ値の定期更新: リソースがアップデートされるたびに、新しいハッシュ値をウェブサイトで反映させます。
4. セキュリティ監視: SRIは攻撃者によるリソース改ざんを防止しますが、他のセキュリティ対策と組み合わせて使用することが推奨されます。
関連記事: