Red Hat Training

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

23.3. スマートカードを使用してリモートで Identity Management システムに対する認証を行う方法

Identity Management サーバーに複数のロールアカウントを持つ Identity Management ユーザーとして、ssh ユーティリティーを使用して (Identity Management ドメインに登録されていない) ローカルシステムから (Identity Management ドメインに登録されている) リモートシステムにスマートカードで認証を行うことができます。これにより、選択したロールでリモートシステムを使用できるようになります。
認証が有効な環境を設定するための情報は、以下を参照してください。
認証方法に関する情報は、以下を参照してください。

23.3.1. スマートカード認証用のローカルシステムの準備

管理者として、ローカルシステムで以下の手順を実行します。
  1. opensc パッケージをインストールします。
    # yum install opensc
  2. スマートカードデーモンの pcscd サービスが起動され、有効であることを確認します。
    # systemctl start pcscd.socket pcscd.service
    # systemctl enable pcscd.socket pcscd.service
さらに、外部の証明局 (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. Identity Management サーバーの HTTP サーバーを再起動します。
    # systemctl restart httpd
    すべてのレプリカでも systemctl restart httpd を実行します。

23.3.2. スマートカード認証用のリモートの Identity Management システムの準備

管理者として以下の手順を実行します。
  1. リモートシステム上の /etc/pki/nssdb/ データベースにスマートカード証明局 (CA) の証明書をインストールします。
    # certutil -A -d /etc/pki/nssdb/ -n "SmartCard CA" -t CT,C,C -i ca.pem
  2. sssd-dbus パッケージがインストールされていることを確認します。

23.3.3. Active Directory のユーザーエントリーとスマートカード証明書のリンク

ユーザーエントリーが Active Directory に保存されている場合には、管理者は必ずそのエントリーとスマートカード証明書をリンクする必要があります。「Active Directory のユーザーアカウントとスマートカードのリンク」を参照してください。

23.3.4. ローカルシステムからリモートシステムへの認証

ローカルシステムで以下の手順を実行します。
  1. スマートカードを挿入します。
  2. ssh を起動して -I オプションで PKCS#11 ライブラリーを指定します。
    • Identity Management ユーザーとして以下を実行します。
      $ ssh -I /usr/lib64/opensc-pkcs11.so -l idm_user server.idm.example.com
      
      Enter PIN for 'PIV_II (PIV Card Holder pin)':
      Last login: Thu Apr  6 12:49:32 2017 from 10.36.116.42
    • Active Directory ユーザーとして以下を実行します。
      $ ssh -I /usr/lib64/opensc-pkcs11.so -l ad_user@ad.example.com server.idm.example.com
      
      Enter PIN for 'PIV_II (PIV Card Holder pin)':
      Last login: Thu Apr  6 12:49:32 2017 from 10.36.116.42
  3. オプション: id ユーティリティーを使用して所定のユーザーとしてログインしていることを確認します。
    • Identity Management ユーザーとして以下を実行します。
      $ id
      uid=1928200001(idm_user) gid=1928200001(idm_user) groups=1928200001(idm_user) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    • Active Directory ユーザーとして以下を実行します。
      $ id
      uid=1171201116(ad_user@ad.example.com) gid=1171201116(ad_user@ad.example.com) groups=1171201116(ad_user@ad.example.com),1171200513(domain users@ad.example.com) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
認証が失敗した場合には、「スマートカード認証の失敗」を参照してください。

23.3.5. その他のリソース

  • ssh を使用してスマートカードで認証を行うと、リモートシステムの TGT (Ticket Granting Ticket) は取得されません。リモートシステムで TGT を取得するには、管理者はローカルシステムに Kerberos を設定して、Kerberos の委譲を有効化する必要があります。所定の設定例は、「this Kerberos knowledge base entry」を参照してください。
  • OpenSSH でのスマートカード認証の詳細は、『セキュリティーガイド』の「OpenSSH に認証情報を提供するスマートカードの使用」を参照してください。