第 6 章 显著的程序漏洞修复


本章论述了在 Red Hat Enterprise Linux 7.7 中修复的、对用户有严重影响的错误。

6.1. 认证和互操作性

目录服务器在后端事务插件失败后清除条目缓存

在以前的版本中,如果后端事务插件失败,Directory 服务器会回滚该操作,但不会恢复条目缓存中的更改。因此,条目缓存包含不正确的条目。在这个版本中,Directory 服务器会在后端事务插件失败后清空条目缓存。因此,客户端在查询上述情形中的数据库时会检索正确的数据。

(BZ#1417340)

ds-replcheck 工具不再错误地报告副本上的不匹配 tombstone 条目

在以前的版本中,如果管理员在存在 tombstones 的不同目录服务器副本上运行 ds-replcheck 工具,ds-replcheck 会报告其中一个副本缺少 tombstone 条目。预期每个副本上的 tombstone 条目都不匹配。在这个版本中,ds-replcheck 不再搜索 tombstone 条目。因此,实用程序不会报告作为问题丢失的 tombstone 条目。

(BZ#1629055)

干净AllRUV 任务运行时关闭服务时目录服务器不再崩溃

在以前的版本中,在 cleanAllRUV 任务时停止 Directory Server 服务在运行任务正在使用的释放资源。因此,服务意外终止。在这个版本中,Directory 服务器会递增参考计数器,使任务在服务关闭过程开始前完成。因此,服务器不再会在上述场景中崩溃。

(BZ#1466441)

现在,如果 passwordInHistory 设置为 0,目录服务器可以正确地拒绝当前密码

在以前的版本中,管理员无法将目录服务器中的 passwordInHistory 属性设置为 0。因此,用户可以将其密码重置为与当前使用的相同密码。在这个版本中,用户可以将 passwordInHistory 设置为 0, 并因此检查当前的密码。

(BZ#1563999)

目录服务器不再截断大于 1023 个字符的 nsSSL3Ciphers

在以前的版本中,Directory 服务器使用固定缓冲区大小来存储 cn=encryption,cn=config 条目的 nsSSL3Ciphers 参数中设置的首选 TLS 密码。因此,如果值超过 1024 个字符,服务器会截断该值,仅使用前 1023 字符中指定的密码。在这个版本中,Directory 服务器不再使用固定缓冲区大小来存储值。因此,设置可以正常工作。

(BZ#1716267)

目录服务器不再使用优先级高于 real 属性的 CoS 属性

在以前的版本中,Directory 服务器使用优先级高于 real 属性 的操作默认 服务(CoS)属性。因此,服务器会利用子树中定义的 CoS 策略覆盖本地密码中设置的属性。在这个版本中解决了这个问题。因此,CoS 定义的密码策略可以正常工作。

(BZ#1652984)

目录服务器现在在更改密码时更新用户的 pwdLastSet 字段

在以前的版本中,如果启用了密码同步,且用户在 Directory 服务器中更改了密码,服务器不会设置 pwdLastSet 属性。因此,Active Directory (AD) 仍强制用户更新密码。目录服务器现在在上述场景中更新 pwdLastSet。因此,AD 不强制用户再次更改密码。

(BZ#1597202)

带有 范围的 搜索不再返回目录服务器中不完整的结果

在以前的版本中,当用户执行设置为 一个 范围的搜索时,搜索操作不会返回所有预期条目。在这个版本中,Directory 服务器可以为一个级别搜索正确创建条目候选者列表。因此,服务器会返回预期条目。

(BZ#1665752)

如果同时使用了 IPv6 和 IPv4 地址,目录服务器不再忽略 ACI 中的 IPv6 地址

管理员可以在访问控制指令(ACI)中指定 IPv4 和 IPv6 地址,以允许或拒绝访问。在以前的版本中,如果 ACI 同时包含 IPv4 和 IPv6 地址,目录服务器会忽略 IPv6 地址。因此,ACI 无法按预期工作。在这个版本中解决了在 ACI 中解析 ip 关键字的问题。因此,在上述场景中,基于 IP 的 ACI 可以正常工作。

(BZ#1710848)

modrdn 操作复制到只读目录服务器现在可以成功

目录服务器中的冲突条目管理需要为 modrdn 操作添加跟踪条目。在以前的版本中,在只读消费者中添加这些条目会失败,因此 modrdn 操作无法复制到这样的实例。在这个版本中解决了这个问题。因此,将 modrdn 操作复制到只读消费者会成功。

(BZ#1602001)

Directory 服务器删除任务的时间已更改

在以前的版本中,Directory Server 在任务完成后 2 分钟删除任务条目。因此,监控任务的应用程序可能会丢失任务结果。此更新将更改服务器删除任务的时间。默认情况下,除导入和导出任务外,所有完成的任务现在都会在 1 小时后删除,这些任务在完成后 24 小时删除。

(BZ#1663829)

如果 passwordWarning 设置为小于 86400,则目录服务器不会返回 shadowWarning 属性

在以前的版本中,如果 cn=config 条目中的 passwordWarning 属性被设置为小于 86400 秒(1 天)的值,目录服务器不会在搜索中返回 shadowWarning 属性。在这个版本中解决了这个问题。因此,服务器会在上述场景中返回 shadowWarning 属性的值。

(BZ#1589144)

krb5 内存缓存现在是 thread-safe

在以前的版本中,Kerberos V5 登录程序(krb5)的内存缓存没有完全线程安全。因此,在某些情况下,多线程访问被意外终止。在这个版本中,内存缓存会被清理为更多线程安全。因此,不会再发生崩溃。

(BZ#1605756)

FIPS 140-2 禁止的 krb5 配置现在可以再次正常工作

在以前的版本中,Red Hat Enterprise Linux 7.6 的 Kerberos V5 (krb5)系统的构建会增加 FIPS 140-2 的合规性。因此,FIPS 140-2 禁止的一些之前允许的配置停止工作。在这个版本中,更改已被恢复,因为 krb5 只需要在 FIPS 模式下工作,所以与 FIPS 不兼容。因此,FIPS 140-2 禁止的配置现在可以再次正常工作。

请注意,Red Hat Enterprise Linux 8 目前不支持这些配置。

(BZ#1645711)

即使 numSubordinates 属性中的值超过配置集条目的数量,证书系统也会启动

LDAP numSubordinates 操作属性定义预期的配置集条目数量。在以前的版本中,在载入所有配置集和轻量级证书颁发机构(CA)前,证书系统才会启动。因此,如果属性中的值超过配置集条目的数量,则启动进程无法没有。在这个版本中,watchdog 定时器会在上述场景中短暂延迟后强制启动过程进行,并且证书系统会记录意外状况。因此,即使配置集或轻量级 CA 子树中的 numSubordinates 超过搜索结果中的条目数,证书系统也会启动。

(BZ#1638379)

TLS_RSA_* 密码现在在证书系统中被默认禁用

在以前的版本中,在证书系统中默认启用了 TLS_RSA_* 密码。但是,在联邦信息处理标准(FIPS)模式下具有特定硬件安全模块(HSM)的环境中,不支持这些密码。因此,SSL 握手失败且连接没有建立。默认情况下,这个版本禁用 TLS_RSA_* 密码。因此,连接可以在 FIPS 模式中使用这些 HSM。

(BZ#1578389)

证书系统 REST API 不再将明文密码存储在日志文件中

在以前的版本中,证书系统 REST API 不会过滤掉纯密码值。因此,日志文件中的密码会在明文中可见。在这个版本中,服务器会将 password 属性值替换为 "(sensitive)"。因此,清除文本密码在日志中不再可见。

(BZ#1617894)

现在可以在证书系统中禁用客户端身份验证

以前版本的证书系统添加了一项功能,可在通过 CMCAuth 进行身份验证时强制进行 TLS 客户端身份验证。但是,某些较旧的应用程序不支持 TLS 客户端身份验证,也无法连接到证书系统。在这个版本中,将 bypassClientAuth 配置参数添加到 /var/lib/pki/pki-instance_name/ca/conf/CS.cfg 文件中。现在,如果某些应用程序不支持,管理员可以将此参数设置为 true 来禁用客户端身份验证。

(BZ#1628410)

使用 PKCS #12 文件时证书系统 CA 安装成功

在以前的版本中,pki_ca_signing_cert_path 参数的默认值被设置为预定义的路径。由于当管理员使用 PKCS Liberty 文件安装证书颁发机构(CA)时,pkispawn 工具验证参数的方式最近更改,并显示 Invalid certificate path: pki_ca_signing_cert_path=/etc/pki/pki-tomcat/external_ca.cert 错误。在这个版本中解决了这个问题,方法是删除 pki_ca_signing_cert_path 的默认值。因此,在上面提到的场景中 CA 安装会成功。

(BZ#1633761)

pki 工具正确要求输入密码

在以前的版本中,如果用户没有使用命令行选项提供密码,pki 工具不会提示输入密码。因此,pki 会错误地报告 Error: Missing 用户密码,操作会失败。已修复 pki 工具,在上述情况下提示输入密码。

(BZ#1479559)

如果因为完整的文件系统而无法存储签名的审计日志,证书系统会自动关闭

在以前的版本中,如果启用了审计签名,并且证书系统存储了签名的审计日志的文件系统已满,则证书系统将继续运行,但不会记录进一步操作。为了防止缺少签名的审计日志,证书系统现在会在上述场景中自动关闭。

(BZ#1639710)

SSSD 使用 AD LDAP 服务器为 initgroup 查找检索 POSIX 属性

SSSD 服务使用 Active Directory (AD)全局目录(GC)进行 initgroup 查找,但 POSIX 属性(如用户主目录或 shell)默认不会复制到 GC 设置。因此,当 SSSD 在 SSSD 查找过程中请求 POSIX 属性时,SSSD 会错误地考虑从服务器中删除属性,因为它们不存在于 GC 中,并将它们也从 SSSD 缓存中删除。在这个版本中,initgroup 查找会根据情况切换 LDAP 和 GC 连接,因为 AD LDAP 服务器包含 POSIX 属性,即使没有架构修改也是如此。因此,POSIX 属性(如 shell 或主目录)不再被覆盖或缺失。

(BZ#1194345)

使用 ypchsh 更改 shell 不再会在 NIS 使用 passwd.adjunct时产生覆盖的密码

在以前的版本中,当 NIS 服务器被设置为支持 passwd.adjunct 映射时,用户使用 ypchsh 命令更改 NIS 客户端上的 shell,yppasswdd 守护进程会覆盖 passwd.adjunct 中用户 的密码哈希。因此,受影响的用户因为一个损坏的密码哈希而无法登录。这个程序错误已被解决,在更新用户的 shell 信息时 yppasswdd 不再覆盖用户的密码哈希。因此,用户可以在运行 ypchsh 后成功登录新的 shell。

(BZ#1624295)

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.