KurocoのStrict-Transport-Security(HSTS)ヘッダーにincludeSubDomainsが付与されないのはなぜですか?
HSTSとincludeSubDomainsの概要
HSTS(HTTP Strict Transport Security)は、ブラウザに対して「このドメインへの接続は常にHTTPSを使用すること」を指示するセキュリティヘッダーです。
Strict-Transport-Security: max-age=31536000
ここにincludeSubDomainsディレクティブを追加すると、当該ドメインだけでなく、すべてのサブドメインにもHSTSポリシーが適用されます。
Strict-Transport-Security: max-age=31536000; includeSubDomains
Kurocoがincludesubdomainsを付与しない理由
Kurocoでは、HSTSヘッダーにincludeSubDomainsを意図的に付与していません。
Kurocoの独自ドメイン利用と影響範囲
Kurocoでは、お客様が所有する独自ドメインをKurocoのフロントエンドやAPIに割り当てて利用できます。この場合、Kurocoが管理するのはそのドメインの一部(フロントエンドやAPIのサブドメイン)のみであり、同じドメイン配下の他のサブドメインはお客様自身が別のサービスやサーバーで運用しているケースが一般的です。
includeSubDomainsが付与されると、ブラウザは当該ドメインのすべてのサブドメインに対してHTTPS接続を強制します。しかし、独自ドメインの場合、ドメイン配下のすべてのサブドメインがKurocoで管理されているとは限りません。
例えば、お客様の独自ドメインexample.comをKurocoで利用している場合:
| サブドメイン | 用途 | 管理 |
|---|---|---|
www.example.com | Kurocoフロントエンド | Kuroco |
api.example.com | Kuroco API | Kuroco |
internal.example.com | 社内ツール | 自社サーバー |
legacy.example.com | 旧システム | 他社サービス |
includeSubDomainsが有効な場合、internal.example.comやlegacy.example.comなど、Kurocoの管理外にあるサブドメインにもHTTPS接続が強制されます。
Kurocoはお客様のドメインの一部を借りて運用している立場であるため、お客様のドメイン全体に影響を及ぼすセキュリティポリシーを一方的に適用することは適切ではありません。
想定されるリスク
- HTTPS未対応のサブドメインへのアクセス不能: サブドメインがHTTPのみで運用されている場合、ブラウザがHTTPSを強制するためアクセスできなくなります
- 証明書の不一致によるエラー: サブドメインに適切なTLS証明書が設定されていない場合、ブラウザがセキュリティエラーを表示します
- 復旧の困難さ: HSTSはブラウザにキャッシュされるため、一度適用されると
max-ageの期間中はユーザー側で解除が困難です
Kurocoの対応方針
Kurocoでは、以下の方針でHSTSを運用しています。
- HSTSヘッダー自体は付与: Kurocoで管理するドメインに対してHSTSは有効です
- includeSubDomainsは付与しない: Kurocoの管理範囲外のサブドメインに影響を及ぼさないよう、意図的に除外しています
- 影響範囲を限定: Kurocoが責任を持てる範囲のみにセキュリティポリシーを適用します
脆弱性診断でincludeSubDomainsの不備を指摘された場合
脆弱性診断でHSTSのincludeSubDomainsがないことを指摘された場合、以下のように説明することができます。
「本システムはヘッドレスCMSであるKurocoを採用しています。Kurocoではお客様の独自ドメインを利用してサービスを提供しますが、同一ドメイン配下にはKuroco以外のサービスで運用されるサブドメインが存在する場合があります。includeSubDomainsを付与すると、それらKuroco管理外のサブドメインにもHTTPS接続が強制され、意図しないアクセス障害が発生する可能性があります。このため、Kurocoでは影響範囲を自身が管理するドメインのみに限定し、includeSubDomainsを意図的に付与していません。Kurocoが管理するドメイン自体にはHSTSが適用されており、HTTPS通信は強制されています。」
上記の説明で不十分な場合や、追加のエビデンスが必要な場合は、弊社サポートまでご連絡ください。
関連ドキュメント
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。