Samba 4.24.0 发布

经过 6 个月的开发,Samba 4.24.0 发布,继续开发 Samba 4 分支,完整实现了域控制器和与该实现兼容的 Active Directory 服务。 Windows Server 并能够支持所有微软支持的版本 Windows-客户,包括 Windows Samba 4 是一款多功能服务器产品,它还提供文件服务器、打印服务和身份验证服务器 (winbind)。该项目的代码使用 C 语言编写,并以 GPLv3 许可证发布。

Samba 4.24 的主要变化:

  • 新增了一个 VFS 模块 vfs_aio_ratelimit,用于限制异步输入/输出 (AIO) 操作的速率。限制值可以以字节/秒或操作/秒为单位指定。当超过指定的限制值时,该模块会开始在异步操作中引入人为延迟,以维持在指定的上限值。
  • vfs_ceph_new VFS 模块现在支持 Keybridge RPC 协议和 FSCrypt 模式,用于加密 CephFS 文件系统中的数据和文件名。加密可以按目录启用。
  • VFS 模块 vfs_streams_xattr 允许您将 NTFS 备用数据流保存到扩展文件属性 (xattr) 中。 Linux添加了设置“streams_xattr:每个流的最大 xattrs”,该设置决定了用于存储数据的允许 xattrs 数量。 Linux xattr 的大小限制为 65536 字节,但 XFS 允许将多个 xattr 与单个文件关联,从而允许使用多个 xattr 来存储最多 1 MB 的备用数据。
  • 已实现对身份验证相关信息的审计支持。“dsdb_password_audit”和“dsdb_password_json_audit”调试类已添加,用于在日志中反映 Active Directory 属性 altSecurityIdentities、dNSHostName、msDS-AdditionalDnsHostName、msDS-KeyCredentialLink 和 servicePrincipalName 的更改。
  • 新增对外部密码管理系统 Microsoft Entra ID 和 Keycloak 的支持,这些系统在更改密码时使用密码重置操作(SSPR,密码重置),而无需将旧密码传输到控制器。 领域为了强制执行密码过期策略,密码重置过程中会传递额外的参数(“密码策略提示”),从而使该操作被视为常规密码更改。Samba 现在在应用与密码相关的本地策略时会考虑这些参数。
  • 增加了对 Kerberos PKINIT KeyTrust 身份验证机制的支持,这使得在基于 Samba 和基于 Heimdal KDC 的域控制器中使用“方法”成为可能。Windows “企业密钥信任登录”功能已启用,可使用自签名密钥的 PKINIT 身份验证机制。samba-tool 实用程序中已添加“user|computer keytrust”命令,用于添加和查看公钥。公钥信息通过 msDS-KeyCredentialLink 属性存储在帐户中。
  • Samba 和 Heimdal KDC 域控制器已添加对 Kerberos PKINIT 密钥映射协议扩展的支持。Windows 强密钥映射和灵活密钥映射用于公钥身份验证。默认情况下,仅允许精确证书映射(“强证书绑定强制执行 = 完全”),但也支持灵活映射(“强证书绑定强制执行 = 兼容性”),允许使用比用户帐户更新的证书。帐户的证书映射数据存储在 altSecurityIdentities 属性中。
  • 新增对“Kerberos PKINIT SID”协议扩展的支持,从而可以使用带有对象 SID 的证书进行身份验证。“user|computer generate-csr”命令已添加到 samba-tool 实用程序中,用于签署证书。
  • 默认的密钥分发中心 (KDC) 实现会返回一个包含用户权限数据的 PAC (权限属性证书) 结构,无论客户端请求中是否指定了 PA-PAC-REQUEST 字段。要恢复到之前的行为,可以使用“kdc always generate pac = no”设置。
  • KDC 新增了一个名为“kdc require canonicalization”的设置,当设置为“yes”时,客户端在访问时必须请求用户名规范化。 伺服器 身份验证 (AS_REQ)。如果未请求规范化,服务器将返回“用户未知”错误。在用户使用操作系统的网络中。 Windows启用新设置应该不会造成任何问题,因为 Windows-客户端默认总是请求规范化。

    强制规范化有助于防范“美元票据”攻击。这种攻击利用了用户名可以以不同方式指定(“user”和“user$”)以及在规范化和非规范化表示中处理方式不同的事实。攻击的本质是,攻击者可以在 AD 中创建一个名为“root$”的计算机帐户,并使用该帐户向 KDC 发送请求,将用户名从“root”改为“root$”,从而获取票据。由于 KDC 找不到用户“root”,因此会以用户“root$”的身份处理请求,并颁发一个票据,该票据可用于通过 SSH 或 NFS 以 root 用户身份连接到服务器。 Linux-配备 SSSD 的服务器。

  • 针对“美元票据”攻击,KDC 已针对禁用强制名称规范化请求的配置(默认情况下启用“kdc require canonicalization = no”)添加了变通方案。默认情况下,如果客户端未请求规范化且未找到要检查的名称,服务器会通过在名称后附加“$”字符来执行额外检查。新增的设置“kdc name match implicit dollar without canonicalization = no”允许您禁用此行为,并仅执行显式检查(在上述攻击的上下文中,服务器在请求“root”时将不会检查名称“root$”)。
  • 默认情况下,Heimdal KDC 仅向 Kerberos 服务发送规范化名称(PAC 中的 sAMAccountName),而不是原始 CNAME 值。要恢复旧的行为,请使用“krb5 acceptor report canonical client name = no”设置。
  • 为了完全防止美元票据攻击,我们建议设置以下设置:强制执行强证书绑定、完整 KDC、始终包含 PAC、是、KDC、要求规范化、是。
  • 为了阻止漏洞 CVE-2026-20833,默认 KDC 设置中的域加密方法已更改为 AES(“kdc default domain supported enctypes”设置已设置为“aes128-cts-hmac-sha1-96 aes256-cts-hmac-sha1-96”)。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster