Red Hat Training

A Red Hat training course is available for Red Hat 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 に認証情報を提供するスマートカードの使用」を参照してください。