ルート CA としてインストールせずに、システム全体で自己署名証明書を受け入れる

ルート CA としてインストールせずに、システム全体で自己署名証明書を受け入れる

イントラネット サーバーでは、システム全体で信頼したい自己署名証明書を使用します。Firefox に証明書例外を追加しましたが、Chrome、コンソール アプリケーション、IDE などではこれができません。

これが、証明書をシステム全体で信頼されるようにしたい理由です。私が理解したところによると、推奨される方法は、証明書をルート CA としてインストールすることです。https://blogs.technet.microsoft.com/sbs/2008/05/08/installing-a-self-signed-certificate-as-a-trusted-root-ca-in-windows-vista/

私が理解したところによると、これは自己署名証明書を管理する者が、偽造証明書に署名できるルート権限を管理することになるということを意味する。どれでも私のマシンにサイトがあります。これは本当ですか? もし本当なら、どうすればこれを防ぐことができますか? 使用するすべてのサービスではなく、単一のイントラネット サーバーを自己署名したいだけです。

ここでイントラネット TLS を処理するための推奨される方法は何ですか?

答え1

サーバーが自分の管理下にある場合:

  1. 作成する実際のルート CA (例: easy-rsa または Xca または Windows Server CA ロールを使用)。
  2. 自己署名サーバー証明書を、カスタム CA によって発行された証明書に置き換えます。
  3. 発行した証明書が実際に「リーフ」/「エンドエンティティ」証明書としてマークされていることを確認します。「X.509v3 基本制約」拡張機能を探します。これが存在し、「CA: FALSE」と表示されている必要があります。
  4. カスタム CA のルート証明書をコンピューターにインストールします。
  5. 新しい証明書を発行する必要があるときにのみアクセスできるように、CA 秘密キーを安全に保管します。

サーバーの証明書に「基本制約: CA: FALSE」が含まれているため、独自のキーのみを使用して新しい証明書を発行することはできません。

(CA を分離する必要がある理由は、サーバーの自己署名証明書を「信頼された CA」フォルダーに直接インストールすると、システムが基本制約を無視する可能性があるためです。結局のところ、CA は認証局としてインストールされます。分離すると、ルート CA キーを保護できるため、この問題を回避できます。)

ボーナス機能として、サーバー証明書の有効期限が切れたり名前が変更されたりしても、再度信頼する必要はありません。同じルート CA を使用して新しい証明書を発行するだけです。

関連情報