7.5. スマートカードユーザーに対するパスワードレス sudo 認証の有効化
スマートカードユーザーに対してパスワードレス sudo 認証を有効にできます。これにより、ユーザーがパスワードを入力せずに管理タスクを実行できるようになり、運用効率とセキュリティーがさらに向上します。
別の方法として、RHEL Identity Management を使用している場合は、最初の Web コンソール証明書を、sudo、SSH、またはその他のサービスに対する認証において信頼済みとして宣言することができます。そのために、Web コンソールはユーザーセッションに S4U2Proxy Kerberos チケットを自動的に作成します。
次の例では、Web コンソールセッションは host.example.com で実行されており、sudo を使用して自身のホストにアクセスできるように信頼されています。さらに、この手順の例では、2 つ目の信頼できるホスト remote.example.com を追加します。
前提条件
- Identity Management がインストールされている。
- Active Directory が、Identity Management とクロスフォレスト信頼関係で接続されている。
- スマートカードが、Web コンソールにログインするように設定されている。詳細は、一元管理されているユーザーに対する Web コンソールでのスマートカード認証の設定 を参照してください。
手順
チケットがどのホストにアクセスできるかを指定するために、制約付き委任ルールを設定します。
次の委任を作成します。
次のコマンドを入力して、特定のルールがアクセスできるターゲットマシンのリストを追加します。
# ipa servicedelegationtarget-add cockpit-target# ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/host.example.com@EXAMPLE.COM \ --principals=host/remote.example.com@EXAMPLE.COMWeb コンソールセッション (HTTP/プリンシパル) がそのホストリストにアクセスできるように、次のコマンドを使用します。
# ipa servicedelegationrule-add cockpit-delegation# ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/host.example.com@EXAMPLE.COM# ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
該当するサービスで GSS 認証を有効にします。
sudoの場合、/etc/sssd/sssd.confファイルでpam_sss_gssモジュールを有効にします。rootとして、/etc/sssd/sssd.conf設定ファイルにドメインのエントリーを追加します。[domain/example.com] pam_gssapi_services = sudo, sudo-i/etc/pam.d/sudoファイルの 1 行目でモジュールを有効にします。auth sufficient pam_sss_gss.so
SSH の場合、
/etc/ssh/sshd_configファイルのGSSAPIAuthenticationオプションをyesに更新します。警告Web コンソールからリモート SSH ホストに接続するときに、委任された S4U チケットはそのホストに転送されません。チケットを使用して、リモートホスト上で
sudoの認証を行うことはできません。
検証
- スマートカードを使用して Web コンソールにログインします。
- Limited access ボタンをクリックします。
- スマートカードを使用して認証を行います。
- または、SSH を使用して別のホストへの接続を試みます。