第8章 スマートカード認証用の Identity Management の設定
Identity Management (IdM) では、以下によるスマートカード認証に対応しています。
- IdM 認証局が発行するユーザー証明書
- 外部認証局が発行するユーザー証明書
両方のタイプの証明書に対して、IdM でスマートカード認証を設定できます。このシナリオでは、rootca.pem CA 証明書は、信頼された外部の認証局の証明書を含むファイルです。
現在、IdM では、複数の CA が同じサブジェクト識別名 (DN) を共有していても、暗号的に異なる場合、それらの CA をインポートできません。
8.1. スマートカード認証用の IdM サーバーの設定 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Identity Management (IdM) の認証局 (CA) が信頼する <EXAMPLE.ORG> ドメインの CA によって証明書が発行されたユーザーに対して、スマートカード認証を有効にする方法について説明します。
前提条件
- IdM サーバーへの root アクセス権限がある。
ルート CA 証明書とすべての中間 CA 証明書がある。
- <EXAMPLE.ORG> CA の証明書を直接、または 1 つ以上のサブ CA を通じて発行した root CA の証明書。証明書チェーンは、その CA が証明書を発行した Web ページからダウンロードできます。
-
IdM CA 証明書。IdM CA インスタンスが実行されている IdM サーバーの
/etc/ipa/ca.crtファイルから CA 証明書を取得できます。 - すべての中間 CA、つまり <EXAMPLE.ORG> CA と IdM CA の中間 CA の証明書。
手順
設定を行うディレクトリーを作成します。
[root@server]# mkdir ~/SmartCard/そのディレクトリーに移動します。
[root@server]# cd ~/SmartCard/PEM 形式のファイルに保存されている関連する CA 証明書を取得します。CA 証明書が DER などの異なる形式のファイルに保存されている場合は、これを PEM 形式に変換します。IdM 認証局の証明書は PEM 形式で、
/etc/ipa/ca.crtファイルにあります。DER ファイルを PEM ファイルに変換します。
# openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM便宜上、設定を行うディレクトリーに証明書をコピーします。
[root@server SmartCard]# cp /tmp/rootca.pem ~/SmartCard/ [root@server SmartCard]# cp /tmp/subca.pem ~/SmartCard/ [root@server SmartCard]# cp /tmp/issuingca.pem ~/SmartCard/オプション: 外部認証局の証明書を使用する場合は、
openssl x509ユーティリティーを使用してPEM形式のファイルの内容を表示し、IssuerとSubjectの値が正しいことを確認します。[root@server SmartCard]# openssl x509 -noout -text -in rootca.pem | more管理者の権限を使用して、組み込みの
ipa-adviseユーティリティーで設定スクリプトを生成します。[root@server SmartCard]# kinit admin [root@server SmartCard]# ipa-advise config-server-for-smart-card-auth > config-server-for-smart-card-auth.shconfig-server-for-smart-card-auth.shスクリプトは、以下の操作を実行します。- IdM Apache HTTP サーバーを設定します。
- キー配布センター (KDC) の Kerberos (PKINIT) で、初回認証用の公開鍵暗号化機能を有効にします。
- スマートカード認可要求を受け入れるように IdM Web UI を設定します。
スクリプトを実行し、root CA とサブ CA 証明書が含まれる PEM ファイルを引数として追加します。
[root@server SmartCard]# chmod +x config-server-for-smart-card-auth.sh [root@server SmartCard]# ./config-server-for-smart-card-auth.sh rootca.pem subca.pem issuingca.pem Ticket cache:KEYRING:persistent:0:0 Default principal: admin@IDM.EXAMPLE.COM [...] Systemwide CA database updated. The ipa-certupdate command was successful注記ルート CA 証明書を、サブ CA 証明書の前に引数として追加します。また、CA またはサブ CA 証明書の有効期限が切れていないことを確認します。
オプション: ユーザー証明書を発行した認証局が Online Certificate Status Protocol (OCSP) レスポンダーを提供しない場合は、IdM Web UI への認証に対する OCSP チェックを無効にすることが必要になる場合があります。
/etc/httpd/conf.d/ssl.confファイルでSSLOCSPEnableパラメーターをoffに設定します。SSLOCSPEnable off変更をすぐに有効にするには、Apache デーモン (httpd) を再起動します。
[root@server SmartCard]# systemctl restart httpd
警告IdM CA が発行したユーザー証明書のみを使用する場合は、OCSP チェックを無効にしないでください。OCSP レスポンダーは IdM に含まれます。
ユーザー証明書を発行した CA が、OCSP サービスリクエストをリッスンする場所に関する情報がユーザー証明書に含まれていない場合に、OCSP チェックを有効にしたまま、ユーザー証明書が IdM サーバーにより拒否されないようにする方法は、Apache mod_ssl 設定オプション の
SSLOCSPDefaultResponderディレクティブを参照してください。これで、スマートカード認証にサーバーが設定されました。
注記トポロジー全体でスマートカード認証を有効にするには、各 IdM サーバーで手順を実行します。