Defaults.Exposed › 修正 › クロスオリジン分離ヘッダー(COOP / CORP / COEP)
クロスオリジン分離ヘッダー(COOP / CORP / COEP) の直し方
他のウェブサイトがあなたのサイトとどう関われるか—ポップアップで開く、画像やスクリプトを埋め込む、リソースを自分のページに引き込む—を制御する3つの任意のブラウザ指示です。これらは基本の必須ではなく最新の強化策で、当社の採点では情報提供です。欠けていても評点は下がりません。ただし安全な2つは静かなフィッシングと帯域窃取のギャップを閉じ、慎重な買い手のITチームは整っていれば気づきます。
あなたのビジネスにとっての結論: この3つのうち2つは、巧妙なポップアップフィッシングを封じ、他サイトがあなたの画像やスクリプトをホットリンク(帯域を消費しデータを漏らしうる)するのを止めます。無料で、開発者に15分ほど、何も壊しません。3つ目は高度で、分析・フォント・埋め込みを壊しうるので—ほとんどの企業はオフにすべきです。どれも評点に影響しないので、慌てず磨きとして扱ってください。安全な2つをやり、特に必要でなければ危険なものは飛ばす。
これで失いかねないもの
- 詐欺師があなたの本物のサイトをポップアップ窓で開き、その遠隔制御を保持し続け—顧客が目をそらした瞬間に偽ログインへ静かにリダイレクトします。安全なヘッダー(COOP)はその制御のつながりを完全に断ちます。
- 他のウェブサイトがあなたの製品写真・ロゴ・スクリプトをサーバーから直接埋め込みます(ホットリンク)—相手の訪問者がページを読み込むたびにあなたが帯域代を払い、承認しないサイトにあなたのアセットが現れます。
- 見込み客のセキュリティチームが契約前にヘッダースキャンを行い、最新のクロスオリジン強化を追加しているのを見ます—小さなシグナルですが、『最低限』ではなく『真剣に取り組んでいる』側にあなたを置きます。
- 徹底しようとした開発者が、テストせずに高度な分離ヘッダー(COEP)をオンにし—一夜にしてGoogle Analytics・ウェブフォント・埋め込み予約ウィジェットを壊します。どれが安全でどれが危険かを知っていれば、自滅的な停止を避けられます。
- 監査人のチェックリストがクロスオリジン分離に触れます。何もないことを説明するより、安全な2つで『あり・正しい』と示せるほうが望ましい。
なぜ重要か。 これらは将来を見据えたブラウザ強化ヘッダーです。当社の方法論では3つすべて情報提供です—0点で登録され決して評点を動かしません—サイトが正当に運用できる高度な制御であり、ひとつは誤用すると害をなしうるからです。あなたが立ち位置を把握できるよう報告します。安全な2つ(COOPとCORP)は本当に追加する価値があります。無料で速く、実在のポップアップフィッシングとリソース窃取のギャップを、何も壊さず閉じます。
これらは何か、平易に言うと
誰かがあなたのウェブサイトを訪れるとき、ブラウザはあなたのページを孤立して読み込むだけでなく、他のウェブサイトがあなたのとどう関われるかも決めます。別のサイトがあなたのサイトをポップアップで開いて保持し続けられるか? 別のサイトが手を伸ばしてあなたの画像やスクリプトを自分のページに埋め込めるか? 自分のサイトは特定の強力で締められたブラウザ機能を安全に使えるか?
この3つのヘッダーは、ウェブサイトがすべての訪問者のブラウザに送る短い目に見えない指示で、まさにそれらの問いに答えます。頭文字で知られています:
- COOP — Cross-Origin-Opener-Policy. あなたのサイトをポップアップ窓で開く他のサイトが、その遠隔制御を保持できるかを制御します。
- CORP — Cross-Origin-Resource-Policy. 他のサイトがあなたの画像・スクリプト・その他のファイルを自分のページに埋め込めるかを制御します。
- COEP — Cross-Origin-Embedder-Policy. COOPと組み合わさり、ページを『分離』して特定の強力なブラウザ機能を安全に使えるようにする高度な制御です。
このうち2つ(COOPとCORP)は追加して安全で本当に役立ちます。3つ目(COEP)は高度で、不注意にオンにすると物事を壊しうります。
最初に知るべき最重要事項: 当社の採点では、3つすべて情報提供です。評点に影響しません。欠けていても費用はゼロです。あなたが立ち位置を把握し、簡単な勝ちを片付けられるよう報告するもので—数字に慌てさせるためではありません。
これが招きうる損失
これらは目玉ではなくニッチなリスクですが—実在し、修正は無料です。
-
本物のサイトの遠隔制御を保持するポップアップフィッシング。 COOPがないと、詐欺師のページがあなたの実際のウェブサイトをポップアップ窓で開き、それへのライブの参照を保持できます。顧客の注意が詐欺師のページにある間、攻撃者はそのポップアップ—アドレスバーにあなたの本物のドメインが出ている—を、顧客が振り返るちょうどその瞬間に偽ログインや決済画面へリダイレクトできます。COOPを’same-origin’に設定すると、その制御のつながりが断たれ、ポップアップを操れなくなります。
-
他サイトがあなたの帯域を盗む(そしてアセットを望まない場所に置く)。 CORPがないと、インターネット上のどのウェブサイトも、あなたの製品写真・ロゴ・スクリプト・その他のファイルをサーバーから直接埋め込めます—『ホットリンク』です。相手のページへのすべての訪問者が、ファイルをあなたから、あなたの帯域代で、承認していない文脈にあなたのアセットを出しながらダウンロードします。CORPを’same-origin’に設定すると、外部サイトがあなたのリソースを埋め込むのを止めます。
-
高度なブラウザ攻撃の静かなデータ漏えい経路。 ホットリンクを可能にするのと同じクロスオリジン埋め込みは、巧妙なサイドチャネルのブラウザ攻撃(Spectre系)が、見るべきでないデータを読むのに使う経路のひとつでもあります。COOPとCORPが一緒にその経路をブラウザレベルで閉じます。ほとんどの小規模ビジネスにはこれは念には念をですが、無料の念には念をです。
-
間違ったヘッダーによる自滅的な停止。 高度なCOEPは、サイトが読み込むすべてのリソースに明示的なオプトインを要求します。テストせずにオンにすると、分析・ウェブフォント・埋め込み地図・予約ウィジェット・第三者スクリプトがすべて読み込みを止めうります—どれもオプトインを求められていなかったからです。これがこれらのヘッダーが実際にあなたを傷つけうる唯一の道で、完全に避けられます。テストせずにCOEPを有効にしないこと。
-
慎重な買い手への見逃された簡単なシグナル。 見込み客のITチームが契約前にヘッダーをスキャンするとき、最新のクロスオリジン強化が整っているのを見つけるのは、小さくとも実在の『この人たちはセキュリティに真剣だ』というシグナルです。それ単独で商談を勝ち取ることはありませんが—台帳の正しい側にあるのは無料です。
それぞれの実体
COOP — Cross-Origin-Opener-Policy(安全、推奨)
別のウェブサイトがポップアップやwindow.openであなたのを開くと、2つの窓は通常互いへの参照を保持できます。そのつながりは悪用されえます。開いた側があなたの窓を操作・リダイレクトし、そのURLの断片を読み、あなたの本物のドメインを使って説得力のあるフィッシングを仕掛けられます。COOP: same-originはその関係を断ちます—あなたの窓は、オリジンをまたいで開いたものから分離されます。通常の閲覧・自分の内部リンク・普通のナビゲーションはまったく影響を受けません。
『良い』状態とは: Cross-Origin-Opener-Policy: same-origin。
CORP — Cross-Origin-Resource-Policy(安全、推奨)
初期状態では、あなたの画像・スクリプト・その他のファイルはどこのどのサイトにも埋め込まれえます。CORP: same-originはブラウザに、あなたのリソースのクロスオリジン埋め込みを拒否するよう告げます—他サイトがあなたのアセットをホットリンクしたり自分のページに引き込んだりできなくなります。自分のサイトは自分のリソースをこれまでどおり読み込みます。外部サイトだけがブロックされます。
『良い』状態とは: Cross-Origin-Resource-Policy: same-origin。(他者に埋め込ませる意図でアセットを公開している場合—公開ロゴ、オープンなAPI—開発者はその特定のレスポンスでこれを緩められます。)
COEP — Cross-Origin-Embedder-Policy(高度、通常はオフのまま)
COEPは『クロスオリジン分離』を完成させます。COOPと組み合わさり、ページが読み込むすべてのリソースに明示的なオプトイン(CORSやCORP経由)を要求します。正しく行えば、特定の強力なブラウザ機能(SharedArrayBufferなど)が解放され、Spectre系攻撃へのもう一層の守りが加わります。しかし、読み込むすべてにオプトインを要求するため、オプトインするよう作られていない第三者ツール—分析・フォント・埋め込みウィジェット—を容易に壊します。ほとんどのウェブサイトはそれが解放する機能を必要とせず、壊れるリスクを負うべきではありません。
『良い』状態とは: それを必要とするまれなサイトには、Cross-Origin-Embedder-Policy: credentialless—require-corpより外部リソースを壊しにくい安全な値です。それ以外の全員には、欠けていて構わず、当社の報告は減点しません。
修正方法(無料・約15分)
IT担当やウェブ開発者にこれを渡してください。修正は無料です。 COOPとCORPの追加はサーバーやCDNの1行設定が2つで、ライセンスも継続費用もありません。オーナーへの唯一の指示:安全な2つをやり、テストせずにCOEPを有効にしない。
これらはレスポンスヘッダーで、サイトのレスポンスが生成される場所で設定します—CDN(例:Cloudflare)があれば最も簡単、なければウェブサーバーの設定で。
安全な2つのヘッダー(全員に推奨)
Cloudflare — Rules → Transform Rules → Modify Response Headers → Set:
Cross-Origin-Opener-Policy=same-originCross-Origin-Resource-Policy=same-origin
Nginx:
add_header Cross-Origin-Opener-Policy "same-origin" always;
add_header Cross-Origin-Resource-Policy "same-origin" always;
Apache:
Header always set Cross-Origin-Opener-Policy "same-origin"
Header always set Cross-Origin-Resource-Policy "same-origin"
これらは追加して安全で、通常の機能を壊しません。展開後、いくつかのページを再読み込みし、サイトがこれまでどおり動作することを確認してください(するはずです)。
高度なヘッダー(特に必要な場合のみ)
まずステージングでテストせずにオンにしないこと。 COEPは分析・フォント・埋め込みウィジェットを壊しうります。
Cloudflare: Transform Rules → Cross-Origin-Embedder-Policy = credentiallessを設定。
Nginx:
add_header Cross-Origin-Embedder-Policy "credentialless" always;
require-corpより外部リソースを壊しにくいcredentiallessを使ってください。ステージングで徹底的にテストし、読み込みを止める第三者スクリプト・フォント・埋め込みに注意します。何かが壊れ、COEPが解放する機能を実際に必要としないなら、単にヘッダーを外せばいい—持たないことに罰則はありません。
プラットフォームの注記
- Google Workspace / Microsoft 365: これらはあなたのメールを動かすもので、ウェブサイトではないので、ここで設定するものはありません。これらのヘッダーはウェブサイトをホストするもの(CDN、ホスト、サーバー)に属します。
- 一般的なマネージドホスト/サイトビルダー(Wix、Squarespace、Shopifyなど): カスタムレスポンスヘッダーは下位プランでは設定できないことがあります。追加できなくても問題ありません—これらは情報提供で評点に影響しません。サイトをCloudflareのようなCDNの背後に置くのが、ヘッダー制御を得る通常の方法です。
- 自前ホスティングのWordPress: 可能ならプラグインではなくウェブサーバー設定(上のNginx/Apache)かCDNで設定してください—サーバー/CDNレベルのほうがきれいで、すべてのレスポンスに適用されます。
よくある間違い
- 『徹底するため』にCOEPを有効にしてサイトを壊す。 これが最大の落とし穴。COEPは読み込むすべてにオプトインを要求します。テストせずにオンにすると分析・フォント・埋め込みが消えうります。それが解放するブラウザ機能を必要としないなら、設定しないこと。
- スキャナーが触れたから緊急だと扱う。 これらは情報提供です。評点付きのウェブヘッダー(HTTPS、HSTS、CSP、クリックジャッキング、MIMEスニッフィング)が先です—ここに労力を使う前にそれらを直してください。
- 実際に埋め込み可能なアセットを公開しているのにCORPを厳しくしすぎる。 ロゴ・バッジ・APIを他サイトに使わせる意図で配信しているなら、一律の
same-originCORPはそれをブロックします。ヘッダーをどこでも捨てるのではなく、その特定のレスポンスだけ緩めましょう。 - ページ/アプリのレベルでヘッダーを追加し、一部のレスポンスを取りこぼす。 サーバーやCDNのレベルで設定し、HTMLページだけでなくすべてのレスポンス(画像・スクリプト・APIエンドポイント)に適用されるようにします。
- これらをSSLの鍵マークと混同する。 HTTPSは接続を暗号化し、これらはクロスサイトの相互作用を制御します。無関係で、両方が必要です。
評点についての注記
完全に率直に:この3つの検査はどれも評点に影響しません。 当社の方法論では0点の情報提供として登録され、欠けていても決して何の費用もかかりません。安全な2つが安価で正真正銘の改善であること、そして全体像を見るのが有用であることから表に出すもので—守るべき数字があるからではありません。ここで何もしなくても、評点はまったく同じです。COOPとCORPを追加すれば、実在の(ニッチではあれ)ギャップをいくつか無料で閉じたことになります。それがこのページの正しい考え方です。守る数字ではなく、取る価値のある任意の磨きです。
よくある質問
評点に影響しないなら、わざわざやるべきですか?
2つはやるべき、1つはおそらくやらないほうがいい。COOPとCORPは無料で数分、サイトを壊さず—実在の(ニッチではあれ)攻撃経路を閉じるので、安価な衛生としてやる価値があります。COEPは高度で第三者ツールを壊しうるので、それが解放するブラウザ機能を特に必要としない限り、ほとんどの企業はオフにすべきです。3つともどちらにせよ評点を変えないので急ぐ必要はありません—次に開発者がサイトに入るときの片付けとして安全な2つを扱ってください。
技術に詳しくありません。対応しなければなりませんか?
個人的にも、緊急にも必要ありません。これらは情報提供なので、飛ばしても評点に悪いことは起きません。安全な2つを追加したければ『修正方法』の項をウェブサイトやCDNを管理する人に渡してください—1行設定が2つで、修正は無料です。明示的に伝えるべき唯一のものはCOEPです。テストせずにオンにしないよう伝えてください。分析や埋め込みウィジェットを壊しうるからです。
これらと評点に影響するヘッダーの違いは?
評点付きのウェブセキュリティヘッダー—HTTPSリダイレクト、HSTS、Content-Security-Policy、クリックジャッキング対策(X-Frame-Options)、MIMEスニッフィング対策—は、ありふれた広く悪用される攻撃から守るので、欠けると点を失います。このページの3つ(COOP、CORP、COEP)は、より新しく特化したブラウザ分離の制御です。良い習慣ですがまだ基準の期待ではないので、採点せずに報告します。評点付きのものを先にやり、これらはその上の磨きです。
COOPやCORPを追加するとサイトやパートナーの連携が壊れますか?
推奨設定(どちらも'same-origin')は安全になるよう設計されています。COOPはサイトがポップアップで開く窓へのつながりを断つだけ—通常の閲覧・自分のページ・普通のリンクは影響を受けません。CORPは*他の*サイトがあなたの画像やスクリプトを埋め込むのを止めるだけ—自分のサイトは自分のリソースをこれまでどおり読み込みます。他サイトに埋め込ませる意図のアセット(公開ロゴやAPI)を実際に配信しているなら、開発者はその特定のレスポンスにより寛容な設定を使えます。本当に壊れるリスクがあるのはCOEPで—テストするまでオフにしてください。
『ホットリンク』は実際どれくらいコストですか?
別のサイトが自分でコピーを持たず、あなたのサーバーから画像やスクリプトを直接埋め込むと、相手のページへのすべての訪問者がそれをあなたから—あなたの帯域代で、承認していない文脈であなたのアセットを表示しながら—ダウンロードします。小さな会社には破滅的なことはまれですが、無駄なお金が出ていくことで、CORP('same-origin')はそれをブラウザレベルで止めます。高度な(Spectre系)ブラウザ攻撃が頼る微妙なデータ漏えい経路も閉じます。
それぞれの『良い』状態はどんなものですか?
COOP:Cross-Origin-Opener-Policyヘッダーを'same-origin'に設定。CORP:Cross-Origin-Resource-Policyヘッダーを'same-origin'に設定。COEP:Cross-Origin-Embedder-Policyヘッダー—もし設定するなら、'credentialless'が'require-corp'より安全な値です。当社の報告はそれぞれの有無と設定値を記すだけで、欠けていても決して減点しません。COOPとCORPが整っているのを目指し、テスト済みでなければCOEPは欠けたままにしてください。