Red Hat Training
A Red Hat training course is available for Red Hat Enterprise 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. ユーザー、ホスト、またはサービスの新規証明書の要求
以下を使用して証明書を要求するには、以下を実行します。
- IdM Web UI は、「Web UI: 新しい証明書の要求」を参照してください。
- コマンドラインは、「コマンドライン: 新しい証明書の要求」を参照してください。
サードパーティーツールで証明書要求自体を生成する必要があることに注意してください。以下の手順では、
certutil
ユーティリティーおよび openSSL
ユーティリティーを使用します。
重要
サービスは通常、秘密鍵の保存先となる専用のサービスノードで実行されます。サービスの秘密鍵を IdM サーバーにコピーすることは、安全ではないとみなされます。したがって、サービスの証明書を要求する場合には、サービスノードで CSR を作成します。
Web UI: 新しい証明書の要求
- Identity タブで、 Users、Hosts、または Services のサブタブを選択します。
- ユーザー、ホスト、またはサービス名をクリックして、設定ページを開きます。
図24.1 ホストのリスト
- Actions → New Certificate をクリックします。
- 必要に応じて、発行元の CA およびプロファイル ID を選択します。
certutil
の使用に関する画面の手順に従います。- Issue をクリックします。
コマンドライン: 新しい証明書の要求
標準の状況で
certutil
を使用して新しい証明書を要求します。「Certutil を使用した新規証明書の要求」 を参照してください。Open SSL
を使用して新しい証明書を要求し、Kerberos エイリアスがホストまたはサービス証明書を使用できるようにします。「OpenSSL を使用した複数の SAN フィールドを使用した証明書要求の準備」 を参照してください。
24.1.1.1. Certutil を使用した新規証明書の要求
- 証明書データベースの一時ディレクトリーを作成します。
# mkdir ~/certdb/
- 以下のように、新しい一時証明書データベースを作成します。
# certutil -N -d ~/certdb/
- 証明書署名要求 (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
- 証明書要求を CA に送信します。詳細は、「IdM CA への証明書要求の送信」を参照してください。
24.1.1.2. OpenSSL を使用した複数の SAN フィールドを使用した証明書要求の準備
- Kerberos プリンシパル test/server.example.com に対して、1 つ以上のエイリアス (例: test1/server.example.com、test2/server.example.com) を作成します。詳細は、「Kerberos プリンシパルエイリアス」 を参照してください。
- CSR で dnsName (server.example.com) と otherName (test2/server.example.com) の subjectAltName を追加します。これには、UPN otherName および subjectAltName を指定する以下の行が含まれるように、
openssl.conf
ファイルを設定します。otherName=1.3.6.1.4.1.311.20.2.3;UTF8:test2/server.example.com@EXAMPLE.COM DNS.1 = server.example.com
openssl
を使用して証明書要求を作成します。openssl req -new -newkey rsa:2048 -keyout test2service.key -sha256 -nodes -out certificate_request.csr -config openssl.conf
- 証明書要求を CA に送信します。詳細は、「IdM CA への証明書要求の送信」を参照してください。
24.1.1.3. Certmonger を使用した新規証明書の要求
24.1.1.4. IdM CA への証明書要求の送信
IdM サーバーで実行している CA に証明書要求ファイルを送信します。新しく発行した証明書に関連付ける Kerberos プリンシパルを指定します。
# ipa cert-request certificate_request.csr --principal=host/server.example.com
IdM の ipa cert-request コマンドは、次のデフォルトを使用します。
- 証明書プロファイル:
caIPAserviceCert
カスタムプロファイルを選択するには、ipa cert-request コマンドで--profile-id
オプションを使用します。カスタム証明書プロファイルの作成方法は、「証明書プロファイルの作成」 を参照してください。 - 統合 CA:
ipa
(IdM ルート CA)サブ CA を選択するには、ipa cert-request コマンドで--ca
オプションを使用します。
詳細は、ipa cert-request --help コマンドの出力を参照してください。
24.1.2. 統合 IdM CA を使用した証明書の失効
有効期限が切れる前に証明書を無効にする必要がある場合は、取り消すことができます。以下を使用して証明書を取り消すには、次のコマンドを実行します。
- IdM Web UI は、「Web UI: 証明書の失効」を参照してください。
- コマンドラインは、「コマンドライン: 証明書の失効」を参照してください。
失効した証明書は無効であり、認証に使用できません。理由 6 の証明書の保留を除き、すべての失効は永続的です。
表24.1 証明書の失効理由
ID | 理由 | 説明 |
---|---|---|
0 | 指定なし | |
1 | 鍵が侵害された |
証明書を発行した鍵が信頼されなくなった。
考えられる原因 - トークンの消失、ファイルへの不適切なアクセス。
|
2 | CA が侵害された | 証明書を発行した CA は信頼されなくなった。 |
3 | 所属が変更した |
考えられる原因:
|
4 | 置き換え | 現在の証明書から新しい証明書に置き換えられた。 |
5 | 運用停止 | ホストまたはサービスの使用を停止している。 |
6 | 証明書が保留になっている | 証明書は一時的に取り消されている。証明書は後で復元できます。 |
8 | CRL から削除された | 証明書は、証明書失効リスト (CRL) に含まれていない。 |
9 | 特権が撤回された | ユーザー、ホスト、またはサービスは、証明書の使用を許可されなくなった。 |
10 | 侵害された属性機関 (Attribute Authority) | 属性機関証明書は信頼されなくなった。 |
Web UI: 証明書の失効
証明書を取り消すには、以下を実行します。
- Authentication タブを開き、Certificates サブタブを選択します。
- 証明書のシリアル番号をクリックして、証明書情報ページを開きます。
図24.2 証明書のリスト
- Actions → Revoke Certificate をクリックします。
- 取り消しの理由を選択し、Revoke をクリックします。詳細は、表24.1「証明書の失効理由」 を参照してください。
コマンドライン: 証明書の失効
ipa cert-revoke コマンドを使用して、次を指定します。
- 証明書のシリアル番号
- 失効の理由を示す数字。詳細は 表24.1「証明書の失効理由」 を参照してください。
たとえば、理由 1 (侵害された鍵) のためにシリアル番号
1032
の証明書を失効させるには、次のコマンドを実行します。
$ ipa cert-revoke 1032 --revocation-reason=1
24.1.3. 統合 IdM CA を使用した証明書の復元
理由 6 (証明書の保留) のために証明書を失効させている場合は、再度復元できます。以下を使用して証明書を復元するには、以下を実行します。
- IdM Web UI は、「Web UI: 証明書の復元」を参照してください。
- コマンドラインは、「コマンドライン: 証明書の復元」を参照してください。
Web UI: 証明書の復元
- Authentication タブを開き、Certificates サブタブを選択します。
- 証明書のシリアル番号をクリックして、証明書情報ページを開きます。
図24.3 証明書のリスト
- Actions → Restore Certificate をクリックします。
コマンドライン: 証明書の復元
ipa cert-remove-hold コマンドを使用して、証明書のシリアル番号を指定します。以下に例を示します。
$ ipa cert-remove-hold 1032