web-dev-qa-db-ja.com

Strict-Transport Security Header(HSTS)を200以外の応答ページ(403、302など)に適用する必要がありますか?

Cloudflareで保護されているアプリケーションがあります。アプリケーションは、HTTPステータス403 Forbiddenおよび302 Moved Temporarilyを除く他のすべてのページでHSTSで応答します。 Cloudflareが原因であるようです。 HSTSが適用されていないリソース(JS)もありますが、それはこの質問には関係ありません。

私の直感では、可能性は低いですが、誰かがURLを誤って入力して禁止を引き起こしたため、すべてのページ(およびリソース)にHSTSが必要であると述べています。sslstripのような攻撃に対して脆弱です。

6
Anderson

それは良くなく、修正されるべきですが、あなたが思うほど悪くはないでしょう。 HSTSはdomainsに適用されるため、1つの応答にStrict-Transport-Securityヘッダーが含まれるとすぐに、ブラウザーはすべての要求を強制的にHTTPSにリダイレクトし、ドメイン(および、構成によってはサブドメイン)。

JavaScriptやCSSなどのリソースは、エンドユーザーが直接アクセスしたとしてもめったにないため、これらのリソースが要求される前にHSTSヘッダーを受信する必要があります。

MitMがあり、ユーザーが以前にサイトにアクセスしたことがなく(またはHSTSヘッダーのmax-ageが経過した)、サイトが preload list にない場合、サイトは表示されません。一部の応答に含まれているものと含まれていないものがあります。 MitMはどちらの方法でもssl-stripを使用できます。 HSTSが機能するのは、ブラウザーがそれを認識した後のみです。HTTP経由で初めてサイトにアクセスする場合、プリロードリストにない限り、脆弱です。

8
AndrolGenhald