web-dev-qa-db-ja.com

Let’s Encrypt証明書でHSTSをアクティブ化する必要がありますか?

最近、他のユーザーの中で、一部のユーザーにownCloudを提供するWebサーバーをセットアップしました。 OwnCloudがそのまま使用するような自己署名証明書を使用したくなかったので、Let’s Encrypt SSL証明書を取得しました。すべてのHTTPトラフィックをHTTPSに正しく書き換えるようにApacheを構成しました。

OwnCloudは常にメッセージを表示し、HSTS(HTTP Strict Transport Security)を強制するように要求します。 Let’s Encrypt証明書は90日間のみ有効で、HTTPリダイレクトはすでに機能しているので、HSTSを強制する必要がありますか?

22
architekt

はい、アクティブにする必要があります [〜#〜] hsts [〜#〜]

HSTSを使用しないHTTPSは、ユーザーを ダウングレード攻撃 に対して脆弱にするため、非常に弱くなります。 HSTSヘッダーを送信することで、ユーザーは、最初のアクセス(trust-on-first-use)後、指定されたタイムアウトに達するまで、SSLを介してWebサイトに直接接続することが保証されます。

HSTSをアクティブにするかどうかの選択は、将来的にHTTPSをサポートし続けることが確実であるかどうかではなく、実際に使用しているCAに依存しません。つまり、HTTPSを再度無効にするとすぐに、HSTSタイムアウトの期限が切れていないユーザーはサイトに接続できなくなります。 SSLサポートを保持する期間がわからない場合は、訪問者を長時間ロックアウトしないように、HSTSの有効期限を短くすることをお勧めします。


[〜#〜] hsts [〜#〜][〜#〜] hpkp [を混同しないでください〜#〜]:A HTTP Public Key Pinning ヘッダーは、ブラウザに特定の公開鍵を地点。ここでは、間違ったまたは期限切れの証明書をピン留めすると、以前のユーザーがサイトを利用できなくなる可能性があります。ただし、HSTSの場合、特定の証明書チェーンは問題ではなく、必要に応じて変更できます。

47
Arminius

サイトでHTTPSを使い続ける限り、HSTSを使用できます。特定の証明書は変更される可能性がありますが、HSTSではそれで問題ありません。

HTTPキーの固定を使用する場合、SSLキーが特定のCA(この場合はLet's Encrypt)からのものであることを要求できます。CAを変更すると問題が発生する可能性がありますが、証明書自体は変更できます。

使用されている特定の証明書を調べるカスタム固定方法を実装した場合、問題が発生します。しかし、それは標準ヘッダーが機能する方法ではありません。

つまり、証明書が定期的に変更されていれば問題ないはずです。これは予想される動作です。

5
Matthew

2つの項目-認証の前に、HTTPSまたはHTTPで通信していることを確認します。ダウングレード攻撃に関する注意は真剣に受け取られなければなりません。 -テクノロジースタックによっては、コード以上のレビューが必要になる場合があります。 osネットワーク暗号化プロトコルもチェックする必要がある場合があります。

Qualsys で、人々による素晴らしい記事があります。

0
Ray Porrata