【仮】[ADCS]Webサーバーのサーバー証明書に記載するホスト名(DNS名)
はい、AD CSを扱うのは初めてです。
そのおかげてこの2週間くらいはAD CSの調査と検証にドップリとハマっています。
こんなシナリオです。
・AD DS(Active Directory Domain Services)は無いのでスタンドアロンCA
・公的な認証機関は利用しないプライベートCA
・Webサーバー用のサーバー証明書を発行
・WebサーバーにアクセスしてくるPCへのクライアント証明書を発行
・その両方を信用してもらうためのルート証明書を発行
今回はごく小規模で短期間の利用になるため、2階層や3階層の認証局ではなく、ルートCAのみ、1階層で構成します。
今回の記事では上記の通り、AD CSを扱うことになった背景と、構築する認証局のシナリオ説明が主な内容です。
それだけでは面白くないので、Webサーバー(IIS)をホストするWindowsのコンピュータ名Webサーバーに配置するサーバー証明書に埋め込むDNS名、ブラウザで指定するURLの関係を再確認した。
(図1)IISのコンピュータ名はadcs01
IISのWebサーバーをホストするサーバー
・Windows Server 2012 R2
・短いコンピュータ名はadcs01
・サフィックスを含めたフルコンピュータ名はadcs01.local
クライアントにはHostsファイルを書いて、以下の名前で名前解決出来るようにしました。
・adcs01.local
・adcs01
・test01.local
さて、ここからが検証結果です。
(図2)「adcs01.local」の証明書をバインド
IISのWebサーバーにバインドするサーバー証明書には「adcs01.local」と記載されたのを使用します。
https://adcs01.local/ ←正しく接続(青色)
https://adcs01/ ←警告が表示される(赤色)
https://test01.local/ ←警告が表示される(赤色)
(図3)「test01.local」の証明書をバインド
IISのWebサーバーにバインドするサーバー証明書には「test01.local」と記載されたのを使用します。
https://adcs01.local/ ←警告が表示される(赤色)
https://adcs01/ ←警告が表示される(赤色)
https://test01.local/ ←正しく接続(青色)
このことから、サーバー証明書に書かれたDNS名と、ブラウザから指定するURLが一致していればそのサーバーは正しいと判断される事がわかります。
IISのWebサーバーを実行しているサーバー機のコンピュータ名とは関係ないようです。
複数のWebサーバーで構成するWebサイトを考えれば、まあ当然ですね。
私の経験上も、BIG-IPなどのロードバランサーに埋め込むSSLサーバー証明書に記載されているDNS 名でブラウザからアクセスすると問題ないが、IPアドレスでアクセスすると赤い警告が出ていました。