第79章 証明書のサブセットだけに信頼するアプリケーションを制限する手順
Identity Management (IdM) インストールが統合証明書システム (CS) 認証局 (CA) で設定されている場合は、軽量のサブ CA を作成できます。作成するすべてのサブ CA は、証明書システムのプライマリー CA である ipa CA に従属します。
このコンテキストでの 軽量サブ CA は、証明書を特定の目的で発行するサブ CA になります。たとえば、軽量のサブ CA では、仮想プライベートネットワーク (VPN) ゲートウェイや Web ブラウザーなどのサービスを設定して、 sub-CA A が発行する証明書のみを受け入れることができます。sub-CA B が発行する証明書だけを受け入れるように他のサービスを設定すると、sub-CA A、プライマリー CA、ipa
CA、およびこの 2 つの間にある中間サブ CA が発行する証明書を受け付けないようにすることができます。
クライアントが正しく設定されている場合に、サブ CA の中間証明書を取り消すと、このサブ CA で発行されたすべての証明書 は自動的に無効とみなされます。ルート CA (ipa)、または別のサブ CA が直接発行するその他の証明書はすべて有効のままになります。
本セクションでは、Apache Web サーバーの例を使用して、アプリケーションが証明書のサブセットだけを信頼するように制限する方法を説明します。本セクションでは、IdM クライアントで実行している Web サーバーを、IdM サブ CA webserver-ca が発行する証明書を使用するように制限して、ユーザーに IdM サブ CA webclient-ca が発行するユーザー証明書を使用して、Web サーバーへの認証を行うようにするには、以下のセクションを実行します。
実行する必要がある手順は以下の通りです。
- IdM サブ CA の作成
- IdM WebUI からのサブ CA 証明書のダウンロード
- 使用するユーザー、サービス、CA、および証明書プロファイルの正しい組み合わせを指定する CA ACL の作成
- IdM サブ CA からの IdM クライアントで実行している Web サービスの証明書要求
- シングルインスタンスの Apache HTTP サーバーの設定
- Apache HTTP Server への TLS 暗号化の追加
- Apache HTTP サーバーで対応している TLS プロトコルバージョンの設定
- Apache HTTP サーバーで対応している暗号の設定
- Web サーバーで TLS クライアント証明書認証の設定
- IdM のサブ CA からのユーザー証明書の要求およびクライアントへのエクスポート
- ブラウザーへのユーザー証明書のインポートおよびサブ CA 証明書を信頼するようなブラウザーの設定
79.1. 軽量サブ CA の管理
本セクションでは、軽量の従属認証局 (サブ CA) を管理する方法を説明します。作成するすべてのサブ CA は、証明書システムのプライマリー CA である ipa
CA に従属します。サブ CA を無効にしたり、削除したりすることもできます。
-
サブ CA を削除すると、そのサブ CA の失効確認は機能しなくなります。
notAfter
の有効期限が近づいていて、そのサブ CA が発行した証明書がなくなった場合に限り、サブ CA を削除してください。 - サブ CA が発行した期限切れではない証明書がまだ存在する場合に限り、サブ CA を無効にしてください。サブ CA により発行された証明書がすべて期限切れになると、そのサブ CA を削除できます。
- IdM CA を無効にしたり、削除したりすることはできません。
サブ CA の管理の詳細は、次を参照してください。
79.1.1. IdM WebUI からのサブ CA の作成
以下の手順に従って、IdM WebUI を使用して webserver-ca および webclient-ca という名前の新しいサブ CA を作成します。
前提条件
- 管理者の認証情報を取得していることを確認している。
手順
- Authentication メニューで、Certificates をクリックします。
- Certificate Authorities を選択し、Add をクリックします。
- webserver-ca サブ CA の名前を入力します。サブジェクト DN フィールドにサブジェクト DN (例: CN=WEBSERVER,O=IDM.EXAMPLE.COM) を入力します。サブジェクト DN は、IdM CA インフラストラクチャー内で一意である必要があります。
- webclient-ca サブ CA の名前を入力します。サブジェクト DN CN=WEBCLIENT,O=IDM.EXAMPLE.COM をサブジェクト DN フィールドに入力します。
コマンドラインインターフェイスで、
ipa-certupdate
コマンドを実行して、webserver-ca サブ CA 証明書および webclient-ca サブ CA 証明書の certmonger 追跡リクエストを作成します。[root@ipaserver ~]#
ipa-certupdate
重要サブ CA の作成後に
ipa-certupdate
コマンドを実行しておかないと、サブ CA 証明書の有効期限が切れたときに、エンドエンティティー証明書の有効期限が切れていなくても、サブ CA が発行したエンドエンティティー証明書は無効と見なされます。
検証
新しいサブ CA の署名証明書が IdM データベースに追加されたことを確認します。
[root@ipaserver ~]#
certutil -d /etc/pki/pki-tomcat/alias/ -L
Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI caSigningCert cert-pki-ca CTu,Cu,Cu Server-Cert cert-pki-ca u,u,u auditSigningCert cert-pki-ca u,u,Pu caSigningCert cert-pki-ca ba83f324-5e50-4114-b109-acca05d6f1dc u,u,u ocspSigningCert cert-pki-ca u,u,u subsystemCert cert-pki-ca u,u,u注記新しいサブ CA 証明書は、証明書システムインスタンスがインストールされているすべてのレプリカに自動的に転送されます。
79.1.2. IdM WebUI からのサブ CA の削除
以下の手順に従って、IdM WebUI で軽量のサブ CA を削除します。
-
サブ CA を削除すると、そのサブ CA の失効確認は機能しなくなります。
notAfter
の有効期限が近づいていて、そのサブ CA が発行した証明書がなくなった場合に限り、サブ CA を削除してください。 - サブ CA が発行した期限切れではない証明書がまだ存在する場合に限り、サブ CA を無効にしてください。サブ CA により発行された証明書がすべて期限切れになると、そのサブ CA を削除できます。
- IdM CA を無効にしたり、削除したりすることはできません。
前提条件
- 管理者の認証情報を取得していることを確認している。
- IdM CLI でサブ CA を無効にしている。IdM CLI からのサブ CA の無効化 参照
手順
-
IdM WebUI で、
Authentication
タブを開き、Certificates
サブタブを選択します。 -
Certificate Authorities
を選択します。 削除するサブ CA を選択し、
Delete
をクリックします。図79.1 IdM Web UI でのサブ CA の削除
-
Delete
をクリックして確定します。
サブ CA が Certificate Authorities
のリストから削除されます。
79.1.3. IdM CLI からのサブ CA の作成
以下の手順に従って、IdM CLI を使用して webserver-ca および webclient-ca という名前の新しいサブ CA を作成します。
前提条件
- 管理者の認証情報を取得していることを確認している。
- CA サーバーである IdM サーバーにログインしている。
手順
ipa ca-add
コマンドを入力し、サブ CA webserver-ca の名前とそのサブジェクト識別名 (DN) を指定します。[root@ipaserver ~]#
ipa ca-add webserver-ca --subject="CN=WEBSERVER,O=IDM.EXAMPLE.COM"
------------------- Created CA "webserver-ca" ------------------- Name: webserver-ca Authority ID: ba83f324-5e50-4114-b109-acca05d6f1dc Subject DN: CN=WEBSERVER,O=IDM.EXAMPLE.COM Issuer DN: CN=Certificate Authority,O=IDM.EXAMPLE.COM- 名前
- CA の名前
- 認証局 ID
- CA 用に自動作成される個別 ID。
- 発行先 DN
- サブジェクト識別名 (DN)サブジェクト DN は、IdM CA インフラストラクチャー内で一意である必要があります。
- 発行者 DN
- サブ CA 証明書を発行した親 CA。サブ CA はすべて、IdM のルート CA の子として作成されます。
Web クライアントに証明書を発行するサブ CA webclient-ca を作成します。
[root@ipaserver ~]#
ipa ca-add webclient-ca --subject="CN=WEBCLIENT,O=IDM.EXAMPLE.COM"
------------------- Created CA "webclient-ca" ------------------- Name: webclient-ca Authority ID: 8a479f3a-0454-4a4d-8ade-fd3b5a54ab2e Subject DN: CN=WEBCLIENT,O=IDM.EXAMPLE.COM Issuer DN: CN=Certificate Authority,O=IDM.EXAMPLE.COMipa-certupdate コマンドを実行して、webserver-ca および webclient-ca のサブ CA 証明書の certmonger 追跡リクエストを作成します。
[root@ipaserver ~]#
ipa-certupdate
重要サブ CA の作成後に ipa-certupdate コマンドを実行し忘れ、サブ CA 証明書が期限切れになった場合、そのサブ CA が発行したエンドエンティティー証明書は、エンドエンティティー証明書の有効期限が切れていなくても無効と見なされます。
検証手順
新しいサブ CA の署名証明書が IdM データベースに追加されたことを確認します。
[root@ipaserver ~]# certutil -d /etc/pki/pki-tomcat/alias/ -L Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI caSigningCert cert-pki-ca CTu,Cu,Cu Server-Cert cert-pki-ca u,u,u auditSigningCert cert-pki-ca u,u,Pu caSigningCert cert-pki-ca ba83f324-5e50-4114-b109-acca05d6f1dc u,u,u ocspSigningCert cert-pki-ca u,u,u subsystemCert cert-pki-ca u,u,u
注記新しいサブ CA 証明書は、証明書システムインスタンスがインストールされているすべてのレプリカに自動的に転送されます。
79.1.4. IdM CLI からのサブ CA の無効化
以下の手順に従って、IdM CLI からサブ CA を無効にします。サブ CA が発行した期限切れでない証明書が依然として存在する場合は、証明書を削除しないでください。ただし、無効にすることはできます。サブ CA を削除すると、そのサブ CA に対する取消しの確認が機能しなくなります。
前提条件
- 管理者の認証情報を取得していることを確認している。
手順
ipa ca-find
コマンドを実行して、削除するサブ CA の名前を確認します。[root@ipaserver ~]# ipa ca-find ------------- 3 CAs matched ------------- Name: ipa Description: IPA CA Authority ID: 5195deaf-3b61-4aab-b608-317aff38497c Subject DN: CN=Certificate Authority,O=IPA.TEST Issuer DN: CN=Certificate Authority,O=IPA.TEST Name: webclient-ca Authority ID: 605a472c-9c6e-425e-b959-f1955209b092 Subject DN: CN=WEBCLIENT,O=IDM.EXAMPLE.COM Issuer DN: CN=Certificate Authority,O=IPA.TEST Name: webserver-ca Authority ID: 02d537f9-c178-4433-98ea-53aa92126fc3 Subject DN: CN=WEBSERVER,O=IDM.EXAMPLE.COM Issuer DN: CN=Certificate Authority,O=IPA.TEST ---------------------------- Number of entries returned 3 ----------------------------
ipa ca-disable
コマンドを実行して、サブ CA (この例ではwebserver-ca
) を無効にします。ipa ca-disable webserver-ca -------------------------- Disabled CA "webserver-ca" --------------------------
79.1.5. IdM CLI からのサブ CA の削除
以下の手順に従って、IdM CLI から軽量のサブ CA を削除します。
-
サブ CA を削除すると、そのサブ CA の失効確認は機能しなくなります。
notAfter
の有効期限が近づいていて、そのサブ CA が発行した証明書がなくなった場合に限り、サブ CA を削除してください。 - サブ CA が発行した期限切れではない証明書がまだ存在する場合に限り、サブ CA を無効にしてください。サブ CA により発行された証明書がすべて期限切れになると、そのサブ CA を削除できます。
- IdM CA を無効にしたり、削除したりすることはできません。
前提条件
- 管理者の認証情報を取得していることを確認している。
手順
サブ CA および CA のリストを表示するには、
ipa ca-find
コマンドを実行します。# ipa ca-find ------------- 3 CAs matched ------------- Name: ipa Description: IPA CA Authority ID: 5195deaf-3b61-4aab-b608-317aff38497c Subject DN: CN=Certificate Authority,O=IPA.TEST Issuer DN: CN=Certificate Authority,O=IPA.TEST Name: webclient-ca Authority ID: 605a472c-9c6e-425e-b959-f1955209b092 Subject DN: CN=WEBCLIENT,O=IDM.EXAMPLE.COM Issuer DN: CN=Certificate Authority,O=IPA.TEST Name: webserver-ca Authority ID: 02d537f9-c178-4433-98ea-53aa92126fc3 Subject DN: CN=WEBSERVER,O=IDM.EXAMPLE.COM Issuer DN: CN=Certificate Authority,O=IPA.TEST ---------------------------- Number of entries returned 3 ----------------------------
ipa ca-disable
コマンドを実行して、サブ CA (この例ではwebserver-ca
) を無効にします。# ipa ca-disable webserver-ca -------------------------- Disabled CA "webserver-ca" --------------------------
サブ CA (この例では
webserver-ca
) を削除します。# ipa ca-del webserver-ca ------------------------- Deleted CA "webserver-ca" -------------------------
検証
ipa ca-find
を実行して、CA およびサブ CA のリストを表示します。webserver-ca
がリストに表示されなくなりました。# ipa ca-find ------------- 2 CAs matched ------------- Name: ipa Description: IPA CA Authority ID: 5195deaf-3b61-4aab-b608-317aff38497c Subject DN: CN=Certificate Authority,O=IPA.TEST Issuer DN: CN=Certificate Authority,O=IPA.TEST Name: webclient-ca Authority ID: 605a472c-9c6e-425e-b959-f1955209b092 Subject DN: CN=WEBCLIENT,O=IDM.EXAMPLE.COM Issuer DN: CN=Certificate Authority,O=IPA.TEST ---------------------------- Number of entries returned 2 ----------------------------