ITよろづや

ITの参考になる情報を備忘録代わりに残していきます

WindowsServer2016でエンタープライズCAの認証局の構築、導入時の注意点

最近、またまた学んだことですが、なぜテストをするのか?ということです。


それは、設定のミス、動作の不具合を見つけることです。だから、問題ないだろうということを確認するための担保なんです。だから、面倒でもテストはしっかりとやるべきということです。


そして、Windows Server 2016でエンタープライズCAの構築、導入時の注意点があります。


これまで何度か構築したことがありますが、会社内で証明書を気軽に使いたい場合は、Windows Server 2012 R2、今多いのはWindows Server 2016でしょうか、OS標準機能にて、認証局を構築することができます。構築方法などもブログで紹介していますが、まだまだ、アウトプットが少ないですね。2019も出てきたので、そろそろ自宅検証をスタートしようと思いますが。


続いて、認証局を社内で構築する場合、Windows Serverでは、スタンドアロンCAとエンタープライズCAのどちらかを選択することになります。どちらがいいかというと、証明書テンプレートの編集ができる為、便宜性からはエンタープライズCAを選択することになります。


そして、エンタープライズCAを導入する場合、証明機関の有効期限に関して、知識が必要です。


Windows Server 2012 R2にて、エンタープライズCAをインストール後、サーバー証明書をテンプレートから作成し、例えば有効期限を「5年」で作成し、証明書を発行しても、サーバー証明書の有効期限は「2年」で発行されます。


証明書テンプレートの有効期限を「5年」に設定したのに、「2年」で発行されるのには理由があります。エンタープライズCAにおいて、証明書の有効期限を決める要素は以下の3つがあり、その中の最小値が適用されるためです。このブログでも何度か説明させてもらっています。

①ルートCAの有効期限
②証明書テンプレートの有効期限
③CAがインストールされたサーバーのレジストリ


例えば、①ルート証明書が「5年」、②証明書テンプレートが「5年」でも、③のレジストリの値が原因で「2年」が適用されます。


つまり、気を付けないといけないのが、デフォルトではレジストリで設定されている値が「2年」であるということです。


証明書テンプレートの有効期限の制限を変更したい場合は、レジストリエディタを開き、以下の場所に移動します。

>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CertSvc\Configuration\


右画面の [ValidityPeriodUnits]の値をデフォルト値から任意の値に変更します。


変更後は、証明書サービスをWindows PowerShell コマンドを実行することで再起動できます。

>restart-service certsvc


これ知らないと確実に想定より、短い期間で証明書の有効期限が切れてしまうので注意が必要です。証明書の問題って色々とこれまでも起きていて、某有名企業でも、証明書の有効期限に気づかずに、システムが停止して、ニュースになったことがあります。


重要システムほど、証明書を使う場合には注意が必要です。有効期限が切れるデメリットを避けるなら、証明書の有効期限を延ばすのも一つですね。その場合は、暗号強度なども検討が必要です。ただし、使っている証明書のアルゴリズム脆弱性が見つかったら、直ちに変更することをおすすめします。