Cross-Domain JavaScript Source File Inclusion

「Cross-Domain JavaScript Source File Inclusion」というアラートは、外部ドメインからのJavaScriptファイルがサイトに含まれていることを示しています。これは、サードパーティのスクリプトが悪意を持って変更された場合、サイトのセキュリティに影響を及ぼす可能性があるため、リスクとなることがあります。このアラートを解消するためには、次のような手段があります。

1. 信頼できるソースのみを利用する

まず、外部JavaScriptファイルが信頼できるソースから提供されていることを確認します。公式のCDNや信頼できるベンダーから提供されているスクリプトのみを使用するようにします。

2. サブリソース整合性(SRI)の利用

サブリソース整合性(Subresource Integrity, SRI)を使用して、外部リソースの整合性をチェックします。SRIを使用すると、スクリプトがロードされる前に、その内容が改ざんされていないことを確認できます。

例: SRIを使用したスクリプトのインクルード

<script src="https://example.com/script.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxp1Za7n+8=sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxp1Za7n+8="
        crossorigin="anonymous"></script>

ここで、integrity 属性にはスクリプトのSHA-384ハッシュが含まれています。このハッシュは、スクリプトが改ざんされていないかどうかをチェックするために使用されます。

3. コンテンツセキュリティポリシー(CSP)の設定

CSPを使用して、許可されたスクリプトソースを制限します。これにより、信頼できない外部ドメインからのスクリプトの実行を防ぐことができます。

例: CSPの設定

add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://trusted.cdn.com";

この設定は、自サイト(self) と特定の信頼できるCDNからのスクリプトのみを許可します。

4. ローカルホスティング

可能であれば、外部のJavaScriptファイルをダウンロードして、自サイトのサーバー上にホスティングします。これにより、外部の依存関係を減らし、セキュリティリスクを軽減できます。

手順

  1. 外部スクリプトをダウンロードする。
  2. サイトの適切なディレクトリ(例: wp-content/uploads/)にアップロードする。
  3. スクリプトのパスをローカルに変更する。

5. 定期的なセキュリティレビュー

外部スクリプトの利用状況を定期的にレビューし、不要なスクリプトや信頼性の低いソースからのスクリプトの使用を避けるようにします。また、使用しているサードパーティのスクリプトが最新であり、セキュリティアップデートが適用されていることを確認します。

まとめ

「Cross-Domain JavaScript Source File Inclusion」アラートを解消するためには、信頼できるソースのみを利用し、SRIやCSPを活用してスクリプトの整合性と出所を制限することが重要です。また、可能であれば外部スクリプトをローカルにホスティングし、定期的にセキュリティレビューを行うことで、サイトのセキュリティを強化できます。