Squid 5代理服务器稳定发布

经过三年的开发,Squid 5.1 代理服务器的稳定版本已经发布,可以在生产系统上使用(5.0.x 版本处于测试版状态)。 5.x分支获得稳定状态后,今后将仅修复漏洞和稳定性问题,并允许进行较小的优化。 新功能的开发将在新的实验分支6.0中进行。 建议之前稳定的 4.x 分支的用户计划迁移到 5.x 分支。

Squid 5 的主要创新:

  • 用于与外部内容验证系统集成的 ICAP(互联网内容适应协议)的实现增加了对数据附件机制(预告片)的支持,该机制允许您将带有元数据的附加标头附加到响应中,放置在消息之后正文(例如,您可以发送校验和以及有关已识别问题的详细信息)。
  • 重定向请求时,使用“Happy Eyeballs”算法,该算法立即使用接收到的 IP 地址,而无需等待所有潜在可用的 IPv4 和 IPv6 目标地址被解析。 现在不再使用“dns_v4_first”设置来确定使用 IPv4 还是 IPv6 地址族,而是考虑 DNS 响应的顺序:如果在等待 IP 地址解析时首先到达 DNS AAAA 响应,则将使用生成的 IPv6 地址。 因此,现在可以使用“--disable-ipv6”选项在防火墙、DNS 或启动级别设置首选地址系列。 提议的更改使我们能够加快 TCP 连接的设置时间,并减少 DNS 解析期间延迟对性能的影响。
  • 为了在“external_acl”指令中使用,已添加“ext_kerberos_sid_group_acl”处理程序,以便使用 Kerberos 在 Active Directory 中进行组检查进行身份验证。 要查询组名称,请使用 OpenLDAP 包提供的 ldapsearch 实用程序。
  • 由于许可问题,对 Berkeley DB 格式的支持已被弃用。 Berkeley DB 5.x 分支已经多年没有维护,并且仍然存在未修补的漏洞,并且由于 AGPLv3 的许可证更改而阻止了向新版本的过渡,其要求也适用于以以下形式使用 BerkeleyDB 的应用程序:库 - Squid 在 GPLv2 许可证下提供,AGPL 与 GPLv2 不兼容。 该项目不再使用 Berkeley DB,而是转而使用 TrivialDB DBMS,与 Berkeley DB 不同,TrivialDB DBMS 针对数据库的同时并行访问进行了优化。 Berkeley DB 支持暂时保留,但“ext_session_acl”和“ext_time_quota_acl”处理程序现在建议使用“libtdb”存储类型而不是“libdb”。
  • 添加了对 RFC 8586 中定义的 CDN-Loop HTTP 标头的支持,该标头允许您在使用内容交付网络时检测循环(标头提供保护,防止在 CDN 之间重定向的过程中由于某种原因返回到原始CDN,形成无限循环)。
  • SSL-Bump 机制允许您拦截加密的 HTTPS 会话的内容,并添加了对通过 cache_peer 中指定的其他代理服务器重定向欺骗(重新加密)HTTPS 请求的支持,使用基于 HTTP CONNECT 方法的常规隧道(不支持通过 HTTPS 传输,因为 Squid 尚无法在 TLS 内传输 TLS)。 SSL-Bump 允许您在收到第一个拦截的 HTTPS 请求后与目标服务器建立 TLS 连接并获取其证书。 之后,Squid 使用从服务器收到的真实证书中的主机名并创建一个虚拟证书,在与客户端交互时模仿所请求的服务器,同时继续使用与目标服务器建立的 TLS 连接来接收数据(为了使替换不会导致客户端浏览器中输出警告,您需要将用于生成虚构证书的证书添加到根证书存储中)。
  • 添加了 mark_client_connection 和 mark_client_pack 指令,用于将 Netfilter 标记 (CONNMARK) 绑定到客户端 TCP 连接或单个数据包。

紧随其后,Squid 5.2 和 Squid 4.17 的版本发布,修复了以下漏洞:

  • CVE-2021-28116 - 处理特制的 WCCPv2 消息时信息泄漏。 该漏洞允许攻击者破坏已知 WCCP 路由器的列表,并将流量从代理服务器客户端重定向到其主机。 该问题仅出现在启用 WCCPv2 支持的配置中以及可能欺骗路由器的 IP 地址时。
  • CVE-2021-41611 - TLS 证书验证中的问题允许使用不受信任的证书进行访问。

来源: opennet.ru

添加评论