23.3. スマートカードを使用した Identity Management クライアントに対する認証
Identity Management サーバーに複数のロールアカウントを持つ Identity Management ユーザーとして、Identity Management ドメインに参加しているデスクトップクライアントシステムに、スマートカードで認証できます。これにより、選択したロールとしてクライアントシステムを使用できます。
対応しているオプションの基本概要は、以下を参照してください。
認証を有効にするための環境の設定については、以下を参照してください。
認証方法の詳細は、以下を参照してください。
23.3.1. Identity Management クライアントでサポートされるスマートカードベースの認証オプション
Identity Management のユーザーは、Identity Management クライアントでスマートカードを使用して認証するときに以下のオプションを使用できます。
- ローカル認証
- ローカル認証には、以下を使用した認証が含まれます。
- テキストコンソール
- Gnome Display Manager (GDM) などのグラフィカルコンソール
su
、sudo
などのローカル認証サービス
ssh
でのリモート認証- スマートカードの証明書は、PIN で保護される SSH の秘密鍵と合わせて保存されます。
FTP 等の他のサービスを使用したスマートカード認証はサポートされていません。
23.3.2. スマートカード認証用の Identity Management クライアントの準備
Identity Management 管理者は、以下の手順を実行します。
- サーバーで、クライアントを設定するためのシェルスクリプトを作成します。
- ipa-advise config-client-for-smart-card-auth コマンドを使用し、その出力をファイルに保存します。
# ipa-advise config-client-for-smart-card-auth > client_smart_card_script.sh
- スクリプトファイルを開き、内容を確認します。
chmod
ユーティリティーを使用して、実行パーミッションをファイルに追加します。# chmod +x client_smart_card_script.sh
- スクリプトをクライアントにコピーし、実行します。スマートカード証明書を署名した認証局 (CA) を含む PEM ファイルへのパスを追加します。
# ./client_smart_card_script.sh CA_cert.pem
また、外部認証局 (CA) がスマートカードの証明書に署名した場合は、スマートカード CA を信頼できる CA として追加します。
- Identity Management サーバーで、CA 証明書をインストールします。
# ipa-cacert-manage -n "SmartCard CA" -t CT,C,C install ca.pem # ipa-certupdate
すべてのレプリカおよびクライアントでもipa-certupdate
を繰り返します。 - HTTP サーバーを再起動します。
# systemctl restart httpd
すべてのレプリカでも systemctl restart httpd を実行します。
注記
SSSD を使用すると、管理者は、証明書に定義された Online Certificate Status Protocol (OCSP) サーバーがクライアントから到達できない場合など、
certificate_verification
パラメーターを使用して証明書の検証プロセスをチューニングできます。詳細は、sssd.conf(5) の man ページを参照してください。
23.3.3. コンソールログインを使用したスマートカードによる Identity Management クライアントでの認証
Identity Management ユーザーとして認証するには、ユーザー名と PIN を入力します。
- コマンドラインからログインする場合:
client login: idm_user PIN for PIV Card Holder pin (PIV_II) for user idm_user@idm.example.com:
- Gnome Desktop Manager(GDM) を使用してログインする場合、必要なユーザーを選択した後に GDM によりスマートカード PIN の入力が求められます。
図23.13 Gnome Desktop Manager へのスマートカード PIN の入力
Active Directory ユーザーとして認証するには、NetBIOS ドメイン名 (
AD.EXAMPLE.COM\ad_user
または ad_user@AD.EXAMPLE.COM
) を使用する形式でユーザー名を入力します。
認証に失敗した場合は、「スマートカードの認証エラーの調査」 を参照してください。
23.3.4. ローカルシステムからリモートシステムへの認証
ローカルシステムで、以下の手順を実行します。
- スマートカードを挿入します。
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
- オプション:
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 委譲を有効にする必要があります。必要な設定の例は、この Kerberos ナレッジベースの記事を参照してください。 - OpenSSH でのスマートカード認証の詳細は、『セキュリティーガイド』のOpenSSH へのスマートカードを使用した OpenSSH への認証情報の指定を参照してください。