-
Notifications
You must be signed in to change notification settings - Fork 0
MS_ADCS
公開キー証明書を発行し管理するためのカスタマイズ可能なサービスを提供する。
すなわち、Windows Server で PKI を構築するための役割である。
認証局(CA)(ルート CA と下位 CA)は、証明書を
- ユーザー
- コンピューター
- サービス
に発行し、証明書の有効性を管理する際に使用される。
Web 登録により、Web ブラウザーから CA に接続し、
証明書を要求して 証明書失効リスト (CRL)を取得することができる。
補足(最新化): CA Web 登録(
certsrv)は、 Internet Explorer の ActiveX に依存した機能を含むため、 現在は非推奨扱いである。 代替として、グループ ポリシーによる自動登録、certreq/certutil、あるいは後述の 証明書の登録 Web サービスを用いる。
OCSP(証明書失効リスト (CRL) を参照)により、オンラインで特定の証明書に対する
- 失効状態要求の受入
- 証明書状態の評価
- 証明書状態情報を含む署名付きの応答の返信
を行う。
補足: CRL は「失効した証明書の一覧をまとめてダウンロードする」方式であり、 規模が大きくなるとサイズと配布遅延が問題になる。 OCSP(Online Certificate Status Protocol)は 1 枚の証明書の状態だけを問い合わせる方式で、 オンライン レスポンダーはその応答役を担う。
ネットワーク デバイス登録サービス(NDES)により、
- ドメイン アカウントを持っていないルーターや
- 他のネットワーク デバイス
が証明書を取得できるようになる(SCEP プロトコルを使用する)。
ユーザーやコンピューターが HTTPS プロトコルを使用した証明書の登録を実行できる。
- クライアント コンピューターがドメインのメンバーでない場合や、
- ドメイン メンバーが自身のドメインに接続していない場合に、
ポリシー ベースの証明書の登録を可能にする。
ユーザーやコンピューターが証明書の登録ポリシー情報を取得できる。
証明書の登録 Web サービスと合わせて使用することで、
- クライアント コンピューターがドメインのメンバーでない場合や、
- ドメイン メンバーが自身のドメインに接続していない場合に、
ポリシー ベースの証明書の登録を可能にする。
-
下位 CA にのみ証明書を発行する。
-
ネットワーク上のユーザーやコンピューター、ネットワーク機器には証明書を発行しない。
-
オフライン ルート CA
- ネットワーク経由の攻撃から保護できることが運用上の大きなメリット。
- ルート CA の秘密鍵が漏洩すると PKI 全体が崩壊するため、
証明書発行時以外は物理的に停止(あるいはネットワークから隔離)しておく。
ルート CA と同様に、下位 CA(3 階層の場合は、発行 CA)にのみ証明書を発行する。
ネットワーク上のユーザーやコンピューター、ネットワーク機器に証明書を発行する。
-
証明書要求をスタンドアロン CA に送信するときに、
- ユーザーの識別情報を提供する
- 必要な証明書の種類を指定する
-
証明書テンプレートは使用されない。
-
管理者は証明書要求の確認タスクを実行する必要がある。
- 証明書要求は、スタンドアロン CA の管理者が送信情報を確認して
その要求を承認するまで、すべてが保留状態に設定される。 - スタンドアロン CA では証明書の要求者の資格情報は確認されないため、
管理者が証明書要求の確認タスクを実行する必要がある。
- 証明書要求は、スタンドアロン CA の管理者が送信情報を確認して
-
管理者か、ユーザー自身がスタンドアロン CA の証明書を
ドメイン ユーザーの信頼されたルート ストアに明示的に配布する必要がある。 -
ドメイン サービス (AD DS)を使用した場合の追加機能
Domain Admins グループのメンバー、AD DS への書き込みアクセス権を持つ管理者が
スタンドアロン CA をインストールした場合、- ドメイン内のすべてのユーザーとコンピューターの
信頼されたルート証明機関証明書ストアに、その CA が自動的に追加される。 - CA 証明書と 証明書失効リスト (CRL)を AD DS に発行する。
- ドメイン内のすべてのユーザーとコンピューターの
-
用例
- オフラインの信頼されるルート CA として使用する。
- ネットワーク経由でクライアントに証明書を発行する。
-
構成
- 下位 CA に証明書を発行するルート CA や中間 CA は、スタンドアロン CA としてインストールする。
- 通常、スタンドアロン CA は、ワークグループのスタンドアロン サーバーにインストールする。
-
Active Directory のドメイン サービス (AD DS)へのアクセスが必要。
-
GPO を使用して、ドメイン内のすべてのユーザーおよびコンピューターの、
信頼されたルート証明機関証明書ストアに証明書を伝達する。 - エンタープライズ CA が Certificate Publishers グループのメンバーである場合、
ユーザー証明書および 証明書失効リスト (CRL)を AD DS に発行する。
-
GPO を使用して、ドメイン内のすべてのユーザーおよびコンピューターの、
-
証明書テンプレートに基づいて証明書を発行する。
- エンタープライズ ユーザーの情報はドメイン サービス (AD DS)に既に登録されていて、
証明書の種類は証明書テンプレートに記述されているため、
証明書テンプレートの選択操作を行う必要はない。 - 要求の認証情報は、Active Directory から取得される。
- 証明書テンプレートには AD DS でのセキュリティのアクセス許可セットがある。
- ポリシー モジュールにより、証明書およびその用途に関して
証明書の要求者が指定する必要のある情報量を減らすことができる。
- エンタープライズ ユーザーの情報はドメイン サービス (AD DS)に既に登録されていて、
-
管理者は証明書要求の確認タスクを実行する必要がない。
- 自動登録を使用して証明書を発行できる。
-
用例
- 発行 CA は、エンタープライズ CA としてインストールする。
-
構成
- ドメインに参加したメンバー サーバーにインストールする。
移行メモ(正誤): 元 Wiki には、エンタープライズ CA について 「要求の認証情報は、ローカル コンピューターのセキュリティ アカウント マネージャー (SAM)データベースから取得される」とあったが、これは誤りである。 エンタープライズ CA は要求者を AD DS で認証・認可する (ローカル SAM を参照するのはワークグループのスタンドアロン サーバーの場合)。
なお、エンタープライズ CA の証明書テンプレートの権限設定は 権限昇格の代表的な攻撃経路(いわゆる ESC1〜 の脆弱な構成)として知られている。 「サブジェクトを要求に含める」設定と「クライアント認証」EKU の組み合わせなどは、 登録権限を持つ一般ユーザによる管理者なりすましを許すため、 テンプレートの権限は最小限に設計すること。
- 管理作業の簡略化やコストの最小化
- セキュリティ ポリシーで「オフライン ルート CA」の実装が要求されていない場合
ドメインに参加しているメンバー サーバーに対し、
ルート CA と発行 CA の二つの役割を持つエンタープライズ CA をインストールする。
- ルート CA と発行 CA が配置される。
- ルート CA は「オフライン」で運用することが推奨される。
- ワークグループのスタンドアロン サーバーにスタンドアロン CA をインストールして
ルート CA(オフライン ルート CA)の役割を持たせ、 - ドメインに参加しているメンバー サーバーにエンタープライズ CA をインストールして
発行 CA の役割を持たせる。
最大限のセキュリティと柔軟性を確保することが可能。
- セキュリティ ポリシーで CA 階層の物理的な
セキュリティが必須要件として規定されている - 複数の保証レベルで証明書を発行する
- CA の管理責任を分担する
| 階層 | 役割 | インストール オプション |
|---|---|---|
| ルート CA | オフライン ルート CA | スタンドアロン CA |
| ↓ 中間 CA(ポリシー CA) | 保証レベル・用途ごとに分割 | スタンドアロン CA |
| ↓ 発行 CA | 実際の証明書発行 | エンタープライズ CA |
補足: 中間 CA はオフラインで運用し、 発行 CA が失効した場合でもルート CA を持ち出さずに 再構築できるようにするのが典型的な設計意図である。 なお、ルート CA の証明書の有効期間は下位 CA の 2 倍以上を目安に長く取る (下位の更新のたびにルートを触らずに済むようにする)。
サーバー マネージャーから「Active Directory 証明書サービス」の役割を追加し、
役割サービス(証明機関、CA Web 登録、オンライン レスポンダー等)を選択する。
PowerShell では以下のようにする。
Install-WindowsFeature ADCS-Cert-Authority -IncludeManagementTools
Install-AdcsCertificationAuthority -CAType EnterpriseRootCA- 証明書テンプレートを複製して用途に合わせて設定し、
CA の「証明書テンプレート」で発行対象に追加する。 -
グループ ポリシーで自動登録を有効にするか、
certreq -submitで要求を送信する。
- PKI(公開鍵暗号基盤)
- 証明書で発生する問題
- 証明書信頼リスト (CTL)
- Active Directory 証明書サービスの概要 - Microsoft Learn
- AD CS のセキュリティ強化 - Microsoft Learn
Tags: Active Directory, 認証基盤, セキュリティ, 暗号化, 証明書
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。