Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23.5. Identity Management における pkinit スマートカード認証

Identity Management ユーザーは、Identity Management に参加しているデスクトップクライアントシステムにスマートカードで認証を行い、Kerberos の TGT(Ticket-granting Ticket)を自動的に取得できます。ユーザーは、クライアントからの追加のシングルサインオン(SSO)認証にチケットを使用できます。

23.5.1. PKINIT 認証用の Identity Management クライアントの準備

Identity Management 管理者は、ユーザーの認証に使用するクライアントで以下の手順を実行します。
  1. サーバーで、クライアントを設定するシェルスクリプトを作成します。
    1. ipa-advise config-client-for-smart-card-auth コマンドを使用して、その出力をファイルに保存します。
      # ipa-advise config-client-for-smart-card-auth > client_smart_card_script.sh
    2. スクリプトファイルを開き、そのコンテンツを確認します。
    3. chmod ユーティリティーを使用して、実行パーミッションをファイルに追加します。
      # chmod +x client_smart_card_script.sh
  2. スクリプトをクライアントにコピーし、これを実行します。スマートカード証明書に署名した認証局(CA)で PEM ファイルへのパスを追加します。
    # ./client_smart_card_script.sh CA_cert.pem
  3. krb5-pkinit パッケージがインストールされていることを確認します。
また、スマートカードで外部認証局(CA)が証明書を署名した場合は、スマートカード CA を信頼できる CA として追加します。
  1. Identity Management サーバーで、CA 証明書をインストールします。
    # ipa-cacert-manage -n "SmartCard CA" -t CT,C,C install ca.pem
    # ipa-certupdate
    ipa-certupdate もすべてのレプリカおよびクライアントで繰り返します。
  2. HTTP サーバーを再起動します。
    # systemctl restart httpd
    すべてのレプリカでも、systemctl restart httpd を繰り返します。
注記
SSSD を使用すると、管理者は、証明書に定義された Online Certificate Status Protocol(OCSP)サーバーがクライアントから到達できない場合など、certificate_verification パラメーターを使用して証明書の検証プロセスを調整できます。詳細は sssd.conf(5) の man ページを参照してください。

23.5.2. Identity Management ユーザーとして - Identity Management クライアントでの PKINIT を使用して認証

Identity Management クライアントで kinit ユーティリティーを使用して認証します。
$ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' idm_user
-X オプションは、openc-pkcs11.so モジュールを事前認証属性として指定します。詳細は kinit(1) の man ページを参照してください。

23.5.3. Active Directory ユーザーとして - Identity Management クライアントでの PKINIT を使用した認証

前提条件

管理者は、Active Directory ユーザーの PKINIT 認証をサポートするように環境を設定します。
  • スマートカード証明書を発行した認証局(CA)を信頼するように Active Directory サーバーを設定します。NTAuth ストアに CA をインポートして (Microsoft サポートを参照)、CA を信頼できる CA として追加します。詳細は、Active Directory のドキュメント を参照してください。
  • スマートカード証明書を発行した CA を信頼するように Kerberos クライアントを設定します。
    1. Identity Management クライアントで、/etc/krb5.conf ファイルを開きます。
    2. ファイルに以下の行を追加します。
      [libdefaults]
      [... file truncated ...]
       pkinit_eku_checking = kpServerAuth
       pkinit_kdc_hostname = adserver.ad.domain.com
  • ユーザー証明書に証明書失効リスト(CRL)分散ポイント拡張が含まれていない場合は、Active Directory を設定して失効エラーを無視するように設定します。
    1. 以下の REG 形式のコンテンツをプレーンテキストファイルに保存し、ファイルをダブルクリックして Windows レジストリーにインポートします。
      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc]
      "UseCachedCRLOnlyAndIgnoreRevocationUnknownErrors"=dword:00000001
      
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\Kerberos\Parameters]
      "UseCachedCRLOnlyAndIgnoreRevocationUnknownErrors"=dword:00000001
      または、regedit.exe アプリケーションを使用して、値を手動で設定します。
    2. Windows システムを再起動して変更を適用します。

手順

Identity Management クライアントで kinit ユーティリティーを使用して認証します。ユーザー名とドメイン名で Active Directory ユーザーを指定します。
$ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' ad_user@AD.DOMAIN.COM
-X オプションは、openc-pkcs11.so モジュールを事前認証属性として指定します。詳細は kinit(1) の man ページを参照してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。