9.8. IdM クライアントでの GSSAPI 認証の有効化および sudo の Kerberos 認証インジケーターの有効化
Identity Management (IdM) クライアントで、PAM モジュールの pam_sss_gss.so を介して、sudo や sudo -i などの PAM 対応サービスに対して Generic Security Service Application Program Interface (GSSAPI) 認証を有効にできます。さらに、Kerberos チケットを使用してこれらのサービスに対して認証できるユーザーを、スマートカードを使用してログインしたユーザーに制限することもできます。
この手順をテンプレートとして使用し、他の PAM 対応サービスに対して SSSD で GSSAPI 認証を設定して、さらに特定の認証インジケーターが Kerberos チケットにアタッチされているユーザーだけにアクセスを限定することができます。
ただし、認証インジケーターを使用してアクセスを制限する場合、現時点で次の 2 つの制限があります。
- 認証インジケーターがサポートされるのは、MIT Kerberos に基づくデプロイメントだけです。このようなデプロイメントには、RHEL IdM、Fedora の FreeIPA、Fedora の Samba AD DC などがあります。
- 認証インジケーターは、レルム境界で Kerberos チケットから削除されます。
したがって、たとえば、pam_gssapi_indicators_map = sudo:pkinit を使用して sudo アクセスを制限する場合、この制限は IdM LDAP に保存されているユーザーにのみ適用できます。Active Directory に保存されているチケットなど、他の場所に保存されているユーザーに発行されたチケットは、現在、pam_gssapi_indicators_map = sudo:pkinit 条件を満たすことができません。
前提条件
-
IdM ホストに適用する IdM ユーザーの
sudoルールを作成している。この例では、idmclientホストで/usr/sbin/rebootコマンドを実行するパーミッションをidm_userアカウントに付与するidm_user_rebootsudoルールが作成済みです。 -
idmclientホストにスマートカード認証を設定している。 -
idmclientホストが RHEL 8.4 以降を実行している。 -
/etc/sssd/sssd.confファイルと、/etc/pam.d/ディレクトリーの PAM ファイルを変更するためのroot特権がある。
手順
-
/etc/sssd/sssd.conf設定ファイルを開きます。 [domain/<idm_domain_name>]セクションに次のエントリーを追加します。[domain/<idm_domain_name>] pam_gssapi_services = sudo, sudo-i pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinit
[domain/<idm_domain_name>] pam_gssapi_services = sudo, sudo-i pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinitCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/sssd/sssd.confファイルを保存して閉じます。 SSSD サービスを再起動して、設定の変更を読み込みます。
systemctl restart sssd
[root@idmclient ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL 8.8 以降の場合:
sssdauthselectプロファイルを選択したかどうかを確認します。authselect current
# authselect current Profile ID: sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
sssdauthselectプロファイルを選択します。authselect select sssd
# authselect select sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow GSSAPI 認証を有効にします。
authselect enable-feature with-gssapi
# authselect enable-feature with-gssapiCopy to Clipboard Copied! Toggle word wrap Toggle overflow スマートカードを持つユーザーのみを認証するようにシステムを設定します。
authselect with-smartcard-required
# authselect with-smartcard-requiredCopy to Clipboard Copied! Toggle word wrap Toggle overflow
RHEL 8.7 以前の場合:
-
/etc/pam.d/sudoの PAM 設定ファイルを開きます。 以下のエントリーを、
/etc/pam.d/sudoファイルのauthセクションの最初の行に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/pam.d/sudoファイルを保存して閉じます。 -
/etc/pam.d/sudo-iの PAM 設定ファイルを開きます。 以下のエントリーを、
/etc/pam.d/sudo-iファイルのauthセクションの最初の行に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/pam.d/sudo-iファイルを保存して閉じます。
-
検証
idm_userアカウントとしてホストにログインし、スマートカードで認証します。ssh -l idm_user@idm.example.com localhost
[root@idmclient ~]# ssh -l idm_user@idm.example.com localhost PIN for smart_cardCopy to Clipboard Copied! Toggle word wrap Toggle overflow スマートカードユーザーを使用して Ticket-Granting Ticket があることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow idm_userアカウントが実行可能なsudoルールを表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow パスワードを指定せずに
sudoを使用してマシンを再起動します。sudo /usr/sbin/reboot
[idm_user@idmclient ~]$ sudo /usr/sbin/rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow