Red Hat Training

A Red Hat training course is available for Red Hat Linux

第24章 ユーザー、ホスト、およびサービス向け証明書の管理

Identity Management (IdM) では、以下の 2 つのタイプの証明局 (CA) をサポートしています。
統合 IdM CA
統合 CA は、ユーザー、ホスト、およびサービス向けの証明書を作成、取り消し、発行することができます。詳細は 「統合 IdM CA での証明書の管理」 を参照してください。
IdM 軽量サブ CA の作成に対応しています。詳細は 「軽量のサブ証明局 (CA)」 を参照してください。
外部 CA
外部 CA は、統合 IdM CA 以外の CA です。
IdM ツールを使ってこの CA が発行した証明書をユーザー、サービス、またはホストに追加したり削除したりします。詳細は 「外部 CA 発行の証明書の管理」 を参照してください。
ユーザー、ホスト、サービスには複数の証明書を割り当てることができます。

注記

IdM サーバーでサポートされる CA 設定の詳細については、「CA 設定の決定」 を参照してください。

24.1. 統合 IdM CA での証明書の管理

24.1.1. ユーザー、ホスト、またはサービス向けの新規証明書のリクエスト

証明書のリクエスト方法については、以下を参照してください。
証明書のリクエスト自体はサードパーティーのツールで生成する必要があります。以下の手順では、certutil および openSSL のユーティリティーを使用しています。

重要

サービスは通常、秘密キーが保存されている専用のサービスノードで稼働しています。このサービスの秘密キーを IdM サーバーにコピーすることは、安全とはみなされません。このため、サービス向けの証明書をリクエストする際には、サービスノード上で CSR を作成してください。

Web UI: 新規証明書のリクエスト

  1. Identity タブを開き、UsersHosts、または Services のサブタブを選択します。
  2. 設定を開くユーザー、ホスト、またはサービス名をクリックします。
    ホストの一覧

    図24.1 ホストの一覧

  3. ActionsNew Certificate をクリックします。
  4. オプションで発行元となる CA とプロファイル ID を選択します。
  5. 画面の指示に従って certutil を使用します。
  6. Issue をクリックします。

コマンドライン: 新規証明書のリクエスト

通常の状況で certutil を使用して新規証明書をリクエストする方法については、「certutil を使用した新規証明書のリクエスト」 を参照してください。openSSL を使用して新規証明書をリクエストし、Kerberos エイリアスがホストまたはサービス証明書を使用できるようにする方法については、「openSSL を使用した新規証明書のリクエスト」 を参照してください。

24.1.1.1. certutil を使用した新規証明書のリクエスト

  1. 以下のように、新規の一時証明書データベースを作成します。
    # certutil -N -d ~/certdb/
  2. 証明書署名リクエスト (CSR) を作成し、出力をファイルにリダイレクトします。たとえば、4096 ビットの証明書向け CSR を作成して、サブジェクトを CN=server.example.com,O=EXAMPLE.COM に設定するには、以下を実行します。
    # certutil -R -d ~/certdb/ -a -g 4096 -s "CN=server.example.com,O=EXAMPLE.COM" -8 server.example.com > certificate_request.csr
  3. 証明書リクエストをサーバーに送信します。新規発行の証明書に関連付けるための Kerberos プリンシパルを必ず指定してください。
    # ipa cert-request certificate_request.csr --principal=host/server.example.com
IdM では以下のデフォルト値を使用します。
  • 証明書のプロファイル: caIPAserviceCert
    カスタムのプロファイルを選択する場合は、--profile-id オプションを ipa cert-request コマンドと使用します。
  • 統合 CA: ipa (IdM root CA)
    サブ CA を選択する場合は、--ca オプションをipa cert-request コマンドと使用します。

24.1.1.2. openSSL を使用した新規証明書のリクエスト

  1. Kerberos プリンシパル test/server.example.com 向けに、test1/server.example.comtest2/server.example.com と言ったエイリアスを作成します。詳細は 「Kerberos プリンシパルのエイリアス」 を参照してください。
  2. CSR で dnsName (server.example.com) および otherName (test2/server.example.com) 向けに subjectAltName を追加します。これを実行するには、openssl.conf ファイルを編集して、UPN otherName と subjectAltName を指定する以下の行を含めます。
    otherName=1.3.6.1.4.1.311.20.2.3;UTF8:test2/server.example.com@EXAMPLE.COM
    DNS.1 = server.example.com
  3. openssl を使用して証明書リクエストを作成します。
    openssl req -new -newkey rsa:2048 -keyout test2service.key -sha256 -nodes -out certificate_request.csr -config openssl.conf

24.1.2. 統合 IdM CA での証明書の取り消し

証明書の有効期間が過ぎる前にこれを無効にする場合は、取り消すことができます。証明書の取り消しには以下の 2 つの方法があります。
取り消された証明書は無効で、認証には使用できません。以下の「理由 6: 証明書保留」以外は、取り消しはすべて永続的なものです。

表24.1 取り消しの理由

ID理由説明
0原因不明
1キーのセキュリティー侵害
証明書を発行したキーが信頼できません。
考えられる原因: トークンの損失、ファイルへの不適切なアクセス。
2認証局のセキュリティー侵害証明書を発行した CA が信頼できません。
3所属の変更
考えられる原因:
  • ユーザーが会社を離れた、または別の部署に移動した。
  • ホストまたはサービスがリタイアしている。
4交代現行の証明書が新しい証明書に置き換えられています。
5運用の停止ホストまたはサービスが使用停止になっています。
6証明書の保留証明書が一時的に取り消されています。証明書は後で復元させることができます。
8CRL から削除証明書が、証明書取り消し一覧 (CRL) に含まれていません。
9特権の撤回ユーザー、ホスト、またはサービスによる証明書の使用が許可されなくなりました。
10属性証明局 (AA) のセキュリティー侵害AA 証明書が信頼できません。

Web UI: 証明書の取り消し

証明書を取り消すには、以下の手順に従います。
  1. Authentication タブを開き Certificates サブタブを選択します。
  2. 情報ページを開く証明書のシリアル番号をクリックします。
    証明書一覧

    図24.2 証明書一覧

  3. ActionsRevoke Certificate をクリックします。
  4. 取り消し理由を選択して Revoke をクリックします。理由については、表24.1「取り消しの理由」 を参照してください。

コマンドライン: 証明書の取り消し

ipa cert-revoke コマンドで以下を指定します。
たとえば、証明書シリアル番号が 1032 で、理由が「1: キーのセキュリティー侵害」である場合、以下を実行します。
$ ipa cert-revoke 1032 --revocation-reason=1

24.1.3. 統合 IdM CA での証明書の復元

「理由 6: 証明書の保留」で証明書を取り消した場合、これを以下の方法で復元することができます。

Web UI: 証明書の復元

  1. Authentication タブを開き Certificates サブタブを選択します。
  2. 情報ページを開く証明書のシリアル番号をクリックします。
    証明書一覧

    図24.3 証明書一覧

  3. ActionsRestore Certificate をクリックします。

コマンドライン: 証明書の復元

以下のように ipa cert-remove-hold コマンドで証明書のシリアル番号を指定します。
$ ipa cert-remove-hold 1032