第8章 AD を認証プロバイダーとして使用する RHEL ホストの設定
システム管理者は、ホストを AD に参加させずに、Red Hat Enterprise Linux (RHEL) ホストの認証プロバイダーとして Active Directory (AD) を使用できます。
たとえば、以下のような場合に実行できます。
- AD 管理者に対して、ホストの有効化および無効化の制御を付与しない場合。
- そのホスト (企業 PC) は、社内で 1 人のユーザーのみが使用する予定である。
この手順は、このアプローチが推奨される場合に限り実装してください。通常は推奨されません。
代わりに、システムを AD または Red Hat Identity Management (IdM) に完全に参加させることを検討してください。RHEL ホストをドメインに参加させると、設定を簡単に管理できます。クライアントを直接 AD に参加させることに関連するクライアントアクセスライセンスについて懸念がある場合は、AD との信頼関係にある IdM サーバーを活用することを検討してください。IdM-AD 信頼の詳細は、IdM と AD との間のフォレスト間の信頼の計画 と IdM と AD との間のフォレスト間の信頼のインストール を参照してください。
この手順を実行すると、AD_user という名前のユーザーが、example.com ドメインの Active Directory (AD) ユーザーデータベースに設定されたパスワードを使用して、rhel_host システムにログインできるようになります。この例では、Kerberos レルム EXAMPLE.COM は example.com ドメインに対応します。
前提条件
- rhel_host への root アクセスがある。
- AD_user ユーザーアカウントが example.com ドメインにある。
- Kerberos レルムが EXAMPLE.COM である。
-
realm join
コマンドを使用して rhel_host が AD に参加していない。 sssd-proxy
パッケージがインストールされている。$ dnf install sssd-proxy
手順
パスワードを割り当てずに、AD_user ユーザーアカウントをローカルに作成します。
# useradd AD_user
/etc/nsswitch.conf
ファイルを開いて編集し、以下の行が含まれていることを確認します。passwd: sss files systemd group: sss files systemd shadow: files sss
/etc/krb5.conf
ファイルを開いて編集し、以下のセクションと項目が含まれるようにします。# To opt out of the system crypto-policies configuration of krb5, remove the # symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated. includedir /etc/krb5.conf.d/ [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] dns_lookup_realm = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt spake_preauth_groups = edwards25519 default_realm = EXAMPLE.COM default_ccache_name = KEYRING:persistent:%{uid} [realms] EXAMPLE.COM = { kdc = ad.example.com admin_server = ad.example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM
/etc/sssd/sssd.conf
ファイルを作成し、以下のセクションと行をそのファイルに追加します。[sssd] services = nss, pam domains = EXAMPLE.COM [domain/EXAMPLE.COM] id_provider = proxy proxy_lib_name = files auth_provider = krb5 krb5_realm = EXAMPLE.COM krb5_server = ad.example.com
/etc/sssd/sssd.conf
ファイルの権限を変更します。# chmod 600 /etc/sssd/sssd.conf
SSSD (Security System Services Daemon) を起動します。
# systemctl start sssd
SSSD を有効にします。
# systemctl enable sssd
/etc/pam.d/system-auth
ファイルを開き、以下のセクションと行が含まれるように変更します。# Generated by authselect on Wed May 8 08:55:04 2019 # Do not modify this file manually. auth required pam_env.so auth required pam_faildelay.so delay=2000000 auth [default=1 ignore=ignore success=ok] pam_succeed_if.so uid >= 1000 quiet auth [default=1 ignore=ignore success=ok] pam_localuser.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth sufficient pam_sss.so forward_pass auth required pam_deny.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 1000 quiet account [default=bad success=ok user_unknown=ignore] pam_sss.so account required pam_permit.so password requisite pam_pwquality.so try_first_pass local_users_only password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password sufficient pam_sss.so use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so -session optional pam_systemd.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_sss.so
/etc/pam.d/system-auth
ファイルの内容を/etc/pam.d/password-auth
ファイルにコピーします。yes と入力して、ファイルの現在の内容を上書きします。# cp /etc/pam.d/system-auth /etc/pam.d/password-auth cp: overwrite '/etc/pam.d/password-auth'? yes
検証
AD_user 用の Kerberos チケット保証チケット (TGT) を要求します。AD_user のパスワードを必要に応じて入力します。
# kinit AD_user Password for AD_user@EXAMPLE.COM:
取得した TGT を表示します。
# klist Ticket cache: KEYRING:persistent:0:0 Default principal: AD_user@EXAMPLE.COM Valid starting Expires Service principal 11/02/20 04:16:38 11/02/20 14:16:38 krbtgt/EXAMPLE.COM@EXAMPLE.COM renew until 18/02/20 04:16:34
AD_user は、Kerberos ドメイン EXAMPLE.COM の認証情報を使用して rhel_host に正常にログインしました。