在我们的某个环境中,Linux 服务器使用 sssd / OpenLDAP 进行操作系统登录。为了支持较旧的服务器,我们的 OpenLDAP 服务器仍必须支持 TLSv1.0 和 TLSv1.1。
RedHat 8 不再支持低于 TLSv1.2 的 TLS 级别,因此标准化/etc/sssd/sssd.conf
无法连接到 LDAP 服务器。
错误信息:
sssd_be[1236697]: Could not start TLS encryption. error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
似乎 (?) ldap 协议 - 或者服务器 - 首先倾向于使用较弱的 TLS 协议,因此从 RHEL8 连接失败。
当然,LDAP 服务器必须删除对旧协议的支持,但如何强制客户端使用 TLSv1.2。
答案1
sssd 似乎没有专门针对 TLS 协议级别的配置选项,但您可以将其添加到密码套件配置中。
# /etc/sssd/sssd.conf
<snip>
ldap_tls_cipher_suite = TLSv1.2!EXPORT:!NULL
<snip>
重新启动 sssd RHEL8 现在可以连接到 LDAP 服务器并且用户能够登录。