4.2. LDAP を使用し、TLS 認証を必要とする SSSD の設定
以下の手順に従って、Red Hat Enterprise Linux (RHEL) システムを OpenLDAP クライアントとして設定します。
以下のクライアント設定を使用します。
- RHEL システムが OpenLDAP ユーザーアカウントデータベースに保存されているユーザーを認証する。
- RHEL システムが SSSD (System Security Services Daemon) サービスを使用してユーザーデータを取得する。
- RHEL システムが TLS で暗号化された接続で OpenLDAP サーバーと通信する。
または、この手順に従って、RHEL システムを Red Hat Directory Server のクライアントとして設定することもできます。
前提条件
- OpenLDAP サーバーがインストールされ、ユーザー情報を含めて設定されている。
- LDAP クライアントとして設定するホストの root 権限がある。
-
LDAP クライアントとして設定するホストで、
/etc/sssd/sssd.conf
ファイルが作成され、ldap
をautofs_provider
およびid_provider
として指定するように設定されている。 -
OpenLDAP サーバー証明書を発行した認証局からの PEM 形式の証明書チェーンがあり、
core-dirsrv.ca.pem
という名前のローカルファイルに保存されている。
手順
必要なパッケージをインストールします。
dnf -y install openldap-clients sssd sssd-ldap oddjob-mkhomedir
# dnf -y install openldap-clients sssd sssd-ldap oddjob-mkhomedir
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 認証プロバイダーを
sssd
に切り替えます。authselect select sssd with-mkhomedir
# authselect select sssd with-mkhomedir
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenLDAP サーバーの SSL/TLS 証明書を発行した認証局からのルート CA 署名証明書チェーンを含む
core-dirsrv.ca.pem
ファイルを/etc/openldap/certs
フォルダーにコピーします。cp core-dirsrv.ca.pem /etc/openldap/certs
# cp core-dirsrv.ca.pem /etc/openldap/certs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LDAP サーバーの URL と接尾辞を
/etc/openldap/ldap.conf
ファイルに追加します。URI ldap://ldap-server.example.com/ BASE dc=example,dc=com
URI ldap://ldap-server.example.com/ BASE dc=example,dc=com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/openldap/ldap.conf
ファイルで、/etc/openldap/certs/core-dirsrv.ca.pem
を参照する TLS_CACERT パラメーターの行を追加します。When no CA certificates are specified the Shared System Certificates are in use. In order to have these available along with the ones specified by TLS_CACERTDIR one has to include them explicitly:
# When no CA certificates are specified the Shared System Certificates # are in use. In order to have these available along with the ones specified # by TLS_CACERTDIR one has to include them explicitly: TLS_CACERT /etc/openldap/certs/core-dirsrv.ca.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sssd/sssd.conf
ファイルで、環境の値をldap_uri
パラメーターおよびldap_search_base
パラメーターに追加し、ldap_id_use_start_tls
をTrue
に設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sssd/sssd.conf
で、[domain]
セクションのldap_tls_cacert
およびldap_tls_reqcert
の値を変更して TLS 認証要件を指定します。… cache_credentials = True ldap_tls_cacert = /etc/openldap/certs/core-dirsrv.ca.pem ldap_tls_reqcert = hard …
… cache_credentials = True ldap_tls_cacert = /etc/openldap/certs/core-dirsrv.ca.pem ldap_tls_reqcert = hard …
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sssd/sssd.conf
ファイルの権限を変更します。chmod 600 /etc/sssd/sssd.conf
# chmod 600 /etc/sssd/sssd.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSSD サービスおよび
oddjobd
デーモンを再起動して有効にします。systemctl restart sssd oddjobd systemctl enable sssd oddjobd
# systemctl restart sssd oddjobd # systemctl enable sssd oddjobd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: LDAP サーバーが非推奨の TLS 1.0 または TLS 1.1 プロトコルを使用している場合は、クライアントシステムのシステム全体の暗号化ポリシーを LEGACY レベルに切り替えて、RHEL がこのプロトコルを使用して通信できるようにします。
update-crypto-policies --set LEGACY
# update-crypto-policies --set LEGACY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、Red Hat カスタマーポータルのナレッジベース記事 Strong crypto defaults in RHEL 8 and deprecation of weak crypto algorithms、およびシステム上の
update-crypto-policies(8)
man ページを参照してください。
検証
id
コマンドを使用し、LDAP ユーザーを指定して、LDAP サーバーからユーザーデータを取得できることを確認します。id <ldap_user>
# id <ldap_user> uid=17388( <ldap_user>) gid=45367(sysadmins) groups=45367(sysadmins),25395(engineers),10(wheel),1202200000(admins)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
システム管理者は、id
コマンドを使用して LDAP からユーザーをクエリーできるようになりました。このコマンドは、正しいユーザー ID とグループメンバーシップを返します。