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