2021/09/14

ADCS証明書のWeb登録

社内のサーバ証明書を発行したり、ワイルドカード証明書を出力する場合、ADCSのWeb登録機能が便利です。Webブラウザ経由で証明書が発行できるのです。セキュリティ面では厳重にアクセス制御が必要になりますが、利便性の面では重宝できます。

私のセキュリティオペレーションの経験上、ある日本初グローバル企業でこの機能を活用していました。いまやもっとセキュリティ面が考慮される時代になりましたが、その企業では社内向けのサーバ証明書に限定して、サーバの管理者がWeb経由でサーバ証明書を発行できるようにしていました。もちろん、申請を受け、ADCS管理者がWebサービスを立ち上げることで申請者がアクセスできるという限定的に利用されるものでしたが(常時稼働ではない)。サービスは常時稼働させておいて、ネットワークアクセスレベルで制御するのもよかったかもしれませんね。


さて、本記事ではこのWeb登録機能を有効化・設定してみます。


証明機関Web登録ロールの追加

  1. サーバマネージャを起動します。
  2. メニューバーから[Manage] → [Add Roles and Features]を選択します。


  3. インストールの種類の選択画面が表示されます。「Role-based or feature-based installation」を選択(デフォルト)し、「Next」ボタンをクリックします。


  4. 対象サーバの選択画面が表示されます。ADCSをインストールしたサーバを選択します。デフォルトではウィザードを起動したサーバの情報が表示されます。「Next」ボタンをクリックします。


  5. サーバの役割の選択画面が表示されます。別記事にてすでに「Active Directory Certificate Services」がインストール済みです。ここでは、「Certification Authority Web Enrollment」にチェックを入れて、「Next」ボタンをクリックします。


  6. Webサーバ(IIS)がインストールされていない場合は以下のポップアップメッセージが表示され、IISのインストールが要求されます。「Add Features」をクリックします。


  7. 「Certification Authority Web Enrollment」にチェックが入っていることを確認し、「Next」ボタンをクリックします。


  8. サーバにインストールする機能の選択画面が表示されます。前ページですでに必要な機能をインストールするように選択しているため、そのまま「Next」ボタンをクリックします。


  9. IISサービスに関する注意事項が表示されます。注意事項を確認し、「Next」ボタンをクリックします。


  10. Webサーバのロール選択画面が表示されます。特に理由がなければデフォルトの機能で問題ありませんので、そのまま「Next」ボタンをクリックします。


  11. 以上で設定は完了です。「Install」ボタンをクリックしてインストールを開始しましょう。


  12. インストールが開始されます。完了するまで待ちます。


  13. 完了しました。「Close」ボタンをクリックしてウィンドウを閉じます。この後、必要に応じてサーバを再起動します。私の場合、セキュリティパッチが適用されていたようで、次の設定を行う前に再起動が求められましたので再起動しました。



インストール後設定

  1. サーバマネージャを起動します。
  2. フラグマークに黄色の注意アイコンがあることを確認します。アイコンをクリックし、ADCSの設定リンクをクリックします。


  3. 資格情報画面が表示されます。資格情報を入力し、「Next」ボタンをクリックします。


  4. 先ほどインストールした「Certification Authority Web Enrollment」(証明機関Web登録)をチェックし、「Next」ボタンをクリックします。


  5. 確認画面が表示されます。設定するロールが正しいことを確認し、「Configure」ボタンをクリックします。


  6. 以上で設定は完了です。「Close」ボタンをクリックして終了します。



IISの設定

デフォルトではIISはHTTP通信のみが利用できます。証明書リクエストWebサイト上で証明書を発行するにはHTTPSでの通信が必要になるため、HTTPSを有効化します。

また、Windows 2019からでしょうか、デフォルトでは証明書リクエストWebサイトへアクセスする際、Windows認証が必要となります。そのため、匿名アクセスを許可する設定を行います。


HTTPSの有効化

  1. サーバマネージャを起動します。
  2. ツール → IISマネージャ (Internet Inform Services Manager) を開きます。


  3. 「Default Web Site」を選択し、右ペインActionsの「Bindings...」をクリックします。


  4. サイトバインド画面で「Add...」ボタンをクリックします。


  5. Typeには「https」を選択します。SSL Certificateには前回記事(証明書の自動配布)での設定により自動配布されるコンピュータ証明書(名前なし)を指定します。選択が完了したら「OK」ボタンをクリックします。


  6. httpsの行が追加されていることを確認し、「Close」ボタンをクリックします。これでHTTPS経由でのアクセスができるようになりました。



匿名アクセスの許可

  1. IISマネージャを開きます。
  2. 左にあるConnectionsペインの「Default Web Site」を展開し、「CertSrv」をクリックします。コンテンツペインの「Authentication」アイコンをダブルクリックします。


  3. 「Anonymous Authentication」をクリックし、右ペインのActionsから「Enable」をクリックします。


  4. 「Anonymous Authentication」がEnabledになっていることを確認します。


デフォルトでは以下のようにユーザ名とパスワードの入力が求められます。Windowsの資格情報を入力すればよいのですが、他のユーザもアクセスする前提とし、匿名アクセスを許可しています。


証明書リクエストWebサイトの動作確認

ブラウザから証明書リクエストWebサイトへアクセスしてみましょう。

  1. 先ほどの続きでIISマネージャを起動中であれば、そのまま以下の手順で証明書リクエストWebサイトを開きます。閉じてしまった場合は、ブラウザを起動し、「https://localhost/CertSrv/」をアドレスバーに入力してサイトを開きます。
    Default Web Site配下の「CertSrv」サイトをクリックします。右ペインManage Applicationの「Browse *:443 (https)」をクリックします。


  2. 以下のように警告ページが表示されると思います。理由は、localhostへのアクセスとなり、証明書のコモンネームと一致しないためです。信頼済みサイトとして登録したり、ローカルイントラネットゾーンとして登録しておきましょう。
    ここでは、「localhostにアクセスする(安全ではありません)」のリンクをクリックします。


  3. 証明書リクエストWebサイトが表示されたら、設定完了です。



おわりに

本記事では、ADCSの証明書をWeb経由でリクエスト・発行するしくみ「証明機関Web登録」の機能を有効化しました。Webアクセスが必要になるため、暗号化通信のためのサーバ証明書の設定や証明書リクエストWebサイトにアクセスするための各設定も行いました。

Web経由で証明書リクエストや発行ができるのは便利ですが、証明書を扱うためネットワークレベルやポリシーレベルの厳重なセキュリティ管理を考慮してご利用ください。