web-dev-qa-db-ja.com

イントラネットサブドメインでHSTSを回避するにはどうすればよいですか?

したがって、イントラネットドメインのサブドメインを制御する小さなWebサーバーを制御できます。ドメインでHSTSがオンになっているため、HTTP経由でサブドメインに接続できません。また、自己署名証明書とHTTPSを使用できません。 Let's Encryptを使用して適切な証明書を取得することを考えましたが、インターネットからドメインにアクセスできないため、それもできません。

HSTSを回避して、ブラウザーを介してサーバーに接続する方法はありますか? (それが重要な場合は、Jupyterインスタンスをセットアップしようとしています)

1
Akiiino

実際、これはHSTSの仕様のアドレスです RFC 6797 (私の強調):

11.3。自己署名公開鍵証明書と組み合わせたHSTSの使用

次の4つの条件すべてが当てはまる場合...

o Webサイト/組織/企業は、Webサイト用に独自の安全なトランスポート公開鍵証明書を生成しています。

[...]

...その後、HSTSの設計に従って、そのサイトへの安全な接続は失敗します。これは、前述のように、さまざまなアクティブな攻撃から保護するためです。

[...]

ただし、前述の組織がHSTSと連携して、独自のCAと自己署名証明書を使用する場合は、ルートCA証明書をユーザーのブラウザーまたはオペレーティングシステムに展開することで実行できます。 CAルート証明書ストア。また、追加または代わりに、特定のホストのエンドエンティティ証明書をユーザーのブラウザに配布することもできます。

したがって、次のいずれかを実行する必要があります。

  • 自己生成証明書にCA証明書(これも生成しました)で署名し、CA証明書をブラウザー(またはブラウザーが使用している場合はOSストア)にインストールします。
  • 自己署名証明書をブラウザまたはOSストアにインストールします

証明書のインストール方法はブラウザによって異なります。これを行う方法については、ここに複数の回答があります。

実際、これは通常の証明書の警告を防ぐため、HSTSがなくても実行する必要があることです。ただし、HSTSでは、実際にはそれが唯一の方法です。

1
sleske