web-dev-qa-db-ja.com

ドメインのHSTSステータスの確認

Google Chromeブラウザは、ページchrome://net-internals/#hsts(セクションクエリドメイン)を介してドメインのHSTS(HTTP Strict Transport Security)ステータスをすばやく確認する方法を提供します。

クエリ結果は次のようになります。このような:

Found:
domain: owasp.org
static_upgrade_mode: UNKNOWN
static_sts_include_subdomains: 
static_pkp_include_subdomains: 
static_sts_observed: 
static_pkp_observed: 
static_spki_hashes: 
dynamic_upgrade_mode: STRICT
dynamic_sts_include_subdomains: false
dynamic_pkp_include_subdomains: false
dynamic_sts_observed: 1409173001.03746
dynamic_pkp_observed: 1409173001.03746
dynamic_spki_hashes: 

これらの線はどういう意味ですか? HSTSモードが有効になっているかどうか。結果のdynamic_エントリとstatic_エントリの違いは何ですか?

19
Marek Puchalski

static_upgrade_mode:またはdynamic_upgrade_mode:行のいずれかをSTRICTに設定すると、HSTSが有効になります。

動的

Dynamicは、次のようなHTTP応答ヘッダー(TLS経由で提供される)によってHSTSを有効にするようにブラウザーに指示されたことを意味します。

Strict-Transport-Security: max-age=157680000; includeSubDomains;

これは、ブラウザがhttp://https://ではなく)でドメインを初めてリクエストするときに、攻撃者が通信を傍受する攻撃に対して脆弱です。

静的

この弱点を克服するために、HSTSレコードをブラウザーのソースに直接ハードコーディングできるstaticモードがあります。ヘッダーは、管理者の意図を示すために変更されています。

Strict-Transport-Security: max-age=157680000; includeSubDomains; preload

最後にpreloadが含まれていることに注意してください。その後、ドメインは確認のために submitted になります。承認された場合、それは Chromiumリスト に追加されます。これは、Firefox、Safari、およびIE 11 + Edgeリストにも含まれています。

13

chrome://net-internals/#hstsに対してクエリを実行すると、Chromeを使用してアクセスした保存済みのHSTSサイトのみがクエリされます。 static_およびdynamic_の部分は、通信用にSTSを有効にするメソッドを示しています。

結果は、staticメソッドが定義されていないことを示し、dynamicメソッドのみが定義されています。結果のpopおよびstsは、それぞれpublic-key-pinningおよびstrict transport securityを表しています。したがって、dynamic_pkp_observedおよびdynamic_sts_obeservedは、ドメインで有効になっているSTSの時間です。 STSはそのドメインで許可されていますが、サブドメインでは許可されていません。

Stsのチェックには "curl"を使用することをお勧めします。
例えば:
curl -siL "owasp.org" | grep "Strict"(-Lはhttpsにリダイレクトします)

ドメインがSTSを使用するように構成されている場合、サーバーの応答にヘッダーStrict-Transport-Security: max-age =valueが表示されます
それが私がStrictを求めている理由です。

4
P4cK3tHuNt3R

staticはブラウザ(この場合はChrome)を意味します プリロードされたHSTSサイト
dynamicは、「外出先」で取得または追加されたサイトを意味します 手動で

pkpPublicKey Pinning の略で、以降Chrome 69 deprecated
spki_hashesSubjectPublicKeyInfoハッシュを意味します

_include_subdomainsリクエストにサブドメインを含めるかどうかを意味します
_observedは、ブラウザが最初にリクエストを監視した UNIX時間 です
_expiryは、ブラウザがリクエストを忘れる UNIX時間 です

1
elig