业界的许多文章和我的博客 “ 解密 SASE“都非常清楚 SASE 的主要组成部分。 就 SASE Security 而言,讨论的主要组件包括安全 Web 网关 (SWG)、云访问安全代理 (CASB)、零信任网络访问 (ZTNA) 和下一代防火墙 (NGFW)。 这些组件的安全功能包括 IP 地址、域、URL、基于文件信誉的访问控制、反恶意软件、数据丢失防护、入侵防护,以及各级基于策略的访问控制,包括 L3/L4 访问控制、基于 URL 类别的访问控制、软件即服务功能级访问控制等。 由于超文本传输协议(HTTP)是互联网、软件即服务,甚至企业应用程序访问的最常用协议,因此许多文章都在超文本传输协议的背景下对安全功能进行了描述。 本文的重点是域名系统(DNS)协议和通过 DNS 代理实现的威胁防护。 我们 Aryaka 认为,SASE 应包括基于 DNS 的安全性。 什么是 DNS? DNS 是将人类可读的域名转换为 IP 地址的系统。 计算机之间使用 IP 地址通信,但域名更容易被人类记住和使用。 当用户在浏览器中输入域名访问网站或服务时,浏览器会向 DNS 解析器发送 DNS 查询请求,以查找与域名相关的 IP 地址。 解析器在称为 DNS 层次结构的分布式数据库中查找 IP 地址,并将其返回给浏览器,然后浏览器使用该 IP 地址与托管网站或服务的服务器建立连接。DNS安全 “一词通常是指为保护企业 DNS 基础设施(包括权威 DNS 服务器和 DNS 解析器)而采取的措施。 “DNS 安全 “是指使用 DNS 协议进行威胁防护和访问控制,通常是通过透明的 DNS 代理。 由于 SASE 将多种网络安全服务整合为一种服务,我们认为 SASE 需要包括 “通过 DNS 提供安全 “和 “DNS 安全 “两种功能。 SASE 可通过 DNS 代理机制实现这两种功能。 SASE 的 SD-WAN 部分可以拦截 DNS 流量,并将其交给 DNS 代理,以执行各种安全功能。 DNS 代理还需要充当简单(非递归)的 DNS 解析器,向上游 DNS 解析器/服务器发送 DNS 查询。SASE DNS 代理的共同特点确保隐私: 本地客户端应用程序/浏览器等客户端生成的 DNS 查询未加密。 因此,任何可以访问流量的中间实体都可以看到用户正在访问哪些网站。 这种隐私的缺失会让中间人攻击者更容易跟踪用户的上网行为。 由于 SASE 中的 DNS 代理可以在 DNS 查询离开企业逻辑边界之前介入,因此它可以通过DNS-over-TLSDNS-over-HTTP与上游 DNS 解析器一起保护用户上网行为的隐私。 DNS 代理拦截来自客户端的 DNS 查询,并通过 DNS-over-HTTPS/TLS 将其转发给上游 DNS 解析器。 确保 DNS 响应的完整性和验证:DNS 系统以信任为基础。 DNS 客户端和 DNS 解析器信任从上游 DNS 服务器和解析器获得的 DNS 响应。 如果上游 DNS 系统被入侵,攻击者就有可能发送 DNS 响应,用攻击者的站点 IP 地址来代替真正的域名。 这就是所谓的DNS 欺骗或 DNS 缓存中毒攻击。 增强 DNS 协议的 DNSSEC(安全 DNS)是阻止 DNS 欺骗的解决方案之一。 DNSSEC 通过对 DNS 响应数据进行数字签名,帮助 DNS 客户端/解析器验证数据的真实性,从而防止被篡改/伪造的 DNS 数据受到攻击。 不过,并非所有 DNS 客户端和解析器都能执行 DNSSEC。 阻挡 DNS 客户端和上游 DNS 服务器的 DNS 代理可以使用 DNSSEC 功能验证数据的有效性。 防止 DNS 泛洪攻击: 我发现这篇文章非常全面地描述了针对 DNS 基础设施的 DDoS 攻击,特别是 DNS 放大和 DNS 反射攻击,这些攻击会使受害者不堪重负。 这既包括运行 DNS 服务器/解析器的基础设施,也包括 DNS 服务本身。 另一种攻击旨在耗尽资源(CPU 和内存)。 这类攻击的例子包括 NXDOMAIN 泛洪攻击和water-torture 攻击,即攻击者用不存在的域和带有随机标签的子域发送 DNS 查询。 SASE 的 L3/L4 防火墙服务可以防止 DNS 响应到达受害者(如果没有 DNS 查询),从而有效阻止反射攻击。 此外,SASE 的通用速率限制服务可用于限制每个源 IP/子网的查询次数,从而减少 DNS 服务(解析器和服务器)的泛滥。 SASE DNS 代理是智能防范洪水攻击(包括 NXDOMAIN 洪水和水刑攻击)的必要手段。 SASE DNS 代理通过 DNS 协议级速率限制和使用异常域名检测方法检测随机标签来缓解这些攻击。 防止基于 DNS 的攻击:DNS 基础设施的漏洞和错误配置可被攻击者利用来破坏 DNS 服务。 一旦 DNS 服务被入侵,攻击者就可以用自己的 IP 地址欺骗 DNS 响应。 缓冲区溢出漏洞的一些例子包括 Bind9 TKEY 漏洞和反向查询溢出漏洞。 有些漏洞可以通过检查是否符合相关的 RFC 来检测。 不过,在某些情况下,利用程序的有效载荷会遵守 RFC,同时利用 DNS 服务实施中的漏洞。 SASE 安全系统通常包括 IDPS(入侵检测和保护系统),可用于检测已知漏洞。 为实现零时差保护,SASE DNS 代理必须检查协议合规性并采用异常检测,以识别与通常观察到的内容相比异常的 DNS 有效载荷内容。 访问控制并防止用户访问声誉不佳的网站:如上文 “什么是 DNS “部分所述,域名查询是用户访问任何网站的第一步。 Via-DNS 安全性在防止用户访问包含恶意软件和网络钓鱼内容的网站方面发挥着重要作用。 许多威胁情报供应商提供 IP 地址和域名的信誉评分。 可以利用这种智能阻止对恶意域名的 DNS 查询,并防止包含不良 IP 地址的 DNS 响应。 通过 SASE DNS 代理的功能,可以为用户实施这种一级反恶意软件和反钓鱼安全。 SASE DNS 代理与多家威胁情报供应商集成,定期获取 IP/域名信誉数据库,过滤涉及恶意 IP 地址和域名的 DNS 查询和响应。 不过,需要注意的是,威胁情报反馈中可能会出现误报,因此确保 SASE 提供商提供创建例外情况的功能至关重要。 此外,SASE DNS 代理允许管理员过滤自定义域名和 IP 地址,这有助于防止用户访问与企业利益不符的网站。 防止上游 DNS 服务受损:如前所述,DNSSEC 可以解决 DNS 响应的有效性问题,防止 DNS 响应使用欺骗性 IP 地址。 不过,并非所有 DNS 服务都实施 DNSSEC。 检测来自非基于 DNSSEC 的受损 DNS 服务的 DNS 欺骗对于防止用户访问网络钓鱼和恶意软件网站至关重要。 一种技术是利用多个上游 DNS 解析器,比较每个解析器的响应,只有在结果一致时才转发 DNS 响应。 SASE DNS 代理的功能允许交叉验证从不同上游 DNS 解析器收到的多个 DNS 响应。 它检查响应之间的一致性,只有在成功验证后才做出响应。 由于需要等待多个上游 DNS 解析器的响应,这种方法可能会给 DNS 查询带来额外的延迟,因此通常的做法是发送多个 DNS 查询,只有在威胁情报数据库没有所查询域名的答案时才执行交叉验证。 入侵指标 (IoC):对 DNS 流量进行安全分析可提供有价值的洞察力和入侵指标。 SASE DNS 安全性可提供的一些见解和 IoC 包括

  • 利用威胁情报信息获取可疑域名。
  • 如 “防止上游 DNS 服务受损 “一节所述,通过 DNS 响应分析和其他技术检测 DNS 欺骗企图。
  • 识别异常和意外 DNS 响应代码,如 NXDOMAIN 和 SERVFAIL。
  • 检测不寻常的查询模式,例如对特定域的大量请求或重复失败的查询。
  • 检测恶意软件通常用于与指挥控制中心通信的域生成算法(DGA)。
  • 识别快速变化的网络,在这种网络中,与域相关的 IP 地址会快速变化。 这种行为常见于托管恶意软件的网站。

SASE DNS 代理、IDPS 和防火墙不仅在降低用户风险方面发挥了重要作用,而且还通过 SASE 系统生成的日志提供了有价值的见解。总结我们认为,基于 DNS 的安全是用户和 DNS 基础设施的第一道防线,因为在实际数据交易发生之前,DNS 会被查询。 尽早发现攻击是有效安全的关键。 虽然在目前的 SASE/SSE 文献中,基于 DNS 的安全性可能并不突出,但我们坚信 SASE/SSE 服务应包含基于 DNS 的安全性。 点击此处查看以前有关 SASE 和安全主题的博文。

  • CTO Insights 博客

    Aryaka CTO Insights博客系列提供有关网络、安全和SASE主题的思想领导。
    有关Aryaka产品规格,请参阅Aryaka数据表。