一、F5 GTM 与 DNS 的关系
F5 GTM(Global Traffic Manager)在网络架构中与 DNS(Domain Name System)有着紧密的联系。GTM 参与到 DNS 判定过程中,实现流量管理和负载均衡。
GTM 的工作原理与 DNS 概念紧密相关。DNS 的作用是把域名与 IP 地址对应起来,在互联网中,服务的互联互通通常是通过 IP 地址进行访问,但人们发现使用域名进行访问更加方便,于是 DNS 这种可以将域名翻译成 IP 地址的方案被设计出来。域名用点分割成多个部分,具有明确的层次关系。
DNS 的工作是一个分布式的部署,呈树状结构。当用户在浏览器输入网址时,会通过递归查询和迭代查询两种查询方法,去一级一级地查询该域名所对应的 IP 地址。首先查询到根,再查询到顶级域名,如.com,然后再查询到具体的子域,最后解析出完整域名所对应的 IP 地址,并反馈给用户。
了解 GTM 产品,首先要了解 DNS 的概念。因为 GTM 想实现流量管理和负载均衡等功能,需要参与到 DNS 判定过程之内。如果了解了 DNS 的工作原理,我们才能够更好地理解 GTM 的概念以及它能为我们提供的服务。
F5 GTM 在 DNS 解析过程中发挥着重要作用。当用户发起请求时,客户端会发送 DNS 请求到本地 DNS 服务器。本地 DNS 服务器会依次向根服务器、顶级域名服务器、具体域名服务器发送请求,以获取目标域名对应的 IP 地址。在这个过程中,如果有 F5 GTM 设备参与,它可以根据事先配置的策略和算法,对 DNS 请求进行智能解析,实现流量的合理分配和负载均衡。
例如,F5 GTM 可以使用基于拓扑负载均衡的能力去检查用户的 LDNS(Local DNS)ip,从而给予他们最优解析结果。它还可以通过监控和探测器来监测虚拟服务器和池的可用性和性能,以此作为选择标准,将最优的虚拟服务器 IP 地址回复给客户端。
F5 GTM 还支持智能解析的特点,如持久性,让用户持续解析同一个 IP 地址,提高用户体验。同时,它可以通过监控收集纳管 LTM(Local Traffic Manager)上虚拟服务的详细状态,从而计算出最优解,为用户提供更好的服务响应。
总之,F5 GTM 与 DNS 紧密结合,通过参与 DNS 判定过程,实现了高效的流量管理和负载均衡,为网络架构的稳定和高效运行提供了有力保障。
二、DNS 欺骗请求放大原理
DNS 欺骗请求放大是一种基于反射的体积分布式拒绝服务(DDoS)攻击。其原理是通过发送小查询导致大响应,恶意用户利用开放 DNS 解析器,构造请求使目标接收大量虚假流量,导致拒绝服务。具体可分为四个步骤:
- 攻击者使用受损端点将带有欺骗性 IP 地址的 UDP 数据包发送到 DNS recursor。数据包上的欺骗地址指向受害者的真实 IP 地址。
- 每个 UDP 数据包都向 DNS 解析器发出请求,通常会传递诸如 “ANY” 之类的参数,以便接收可能的最大响应。
- 在收到请求后,尝试通过响应提供帮助的 DNS 解析器会向欺骗的 IP 地址发送大量响应。
- 目标的 IP 地址接收响应,周围的网络基础设施因流量泛滥而变得不堪重负,导致拒绝服务。
所有放大攻击都利用了攻击者和目标 Web 资源之间的带宽消耗差异。恶意用户通过发送小的查询,从更少的资源中获取更多收益。例如,一个 DNS 放大攻击中的单个机器人就好比一个恶意少年打电话给一家餐馆说 “我下单了,请给我回电话确认下我的订单”。当餐馆要求提供回叫号码时,这个恶意的少年给出的号码就是目标受害者的电话号码。然后,目标接收来自餐馆的电话,其中包含他们未要求的许多信息。
由于每个机器人都要求使用欺骗性 IP 地址打开 DNS 解析器,该 IP 地址已更改为目标受害者的真实源 IP 地址,然后目标会从 DNS 解析器接收响应。为了创建大量流量,攻击者以尽可能从 DNS 解析器生成响应的方式构造请求。结果,目标接收到攻击者初始流量的放大,并且他们的网络被虚假流量阻塞,导致拒绝服务。
三、DNS 智能解析在双活数据中心的应用
通过 F5 GTM 的 DNS 智能解析在数据中心之间实现流量负载与冗余,动态维持后台数据中心出口 IP 地址,按照算法返回最适合的出口 IP,实现互联网业务负载均衡与内部应用跨中心的负载均衡,为双活数据中心的高效运行提供了有力支持。
在金融行业的 “两地三中心” 数据中心模式下,DNS 智能解析发挥着重要作用。每个数据中心为互联网业务提供多个互联网接口,例如北京数据中心 A 包含电信出口与联通出口;北京数据中心 B 包含电信出口、联通出口和移动出口;武汉数据中心 C 包含电信出口。北京数据中心 A 与北京数据中心 B 为同城双活数据中心,武汉数据中心为灾备数据中心,同时武汉数据中心 C 也发布部分互联网业务。
DNS 智能解析的思路是在 DNS 服务器中动态维持几个后台数据中心的出口 IP 地址。当用户发起请求时,DNS 服务器会针对用户请求按照特定算法返回最适合的出口 IP。如果其中一个数据中心出口出现问题,DNS 服务器便将其对应的 IP 地址暂停使用,并将后续的用户 DNS 请求引导到其他仍在正常工作的数据中心出口,从而在广域网上实现后台资源的负载均衡。
在 DNS 智能解析选择出口时,不仅需要考虑哪个数据中心距离用户较近,还要考虑跨运营商网络限制的问题。目前国内主要的电信运营商有电信、网通、移动三大运营商,跨运营商的访问往往很慢,最好的方式是将客户流量定向到与客户端相同运营商的数据中心。
以洛阳银行同城双活及智能运维技术实践为例,利用 F5 的 GTM 设备提供 DNS 智能解析,双中心 GTM 三层互联,信息同步,通过算法和数据中心出口的状态判断,将流量引导至符合策略的、服务正常的数据中心,实现流量的自动负载。同时,集群化部署的 DNS 与 LTM 均采用集群化设计,跨中心集群部署的 LTM 设备通过 2 层传输心跳,形成 N+M(N 主 M 备)集群,业务域名对应的 IP 地址可根据双活业务实时添加,提高了业务的可用性和灵活性。
此外,在光大银行的 “两地三中心” 模式中,北京有两个规模相当的双活中心,在武汉有一个异地灾备中心。光大银行的双活数据中心始建于 2002 年,其思路与今天云计算的思路不谋而合,通过资源整合与有效负载,提高了服务能力,避免了资源浪费。在这种数据中心双活的模式下,对网络的灵活性要求更高,而 F5 GTM 的 DNS 智能解析正好满足了这一需求,实现了数据中心间的流量负载与业务的冗余,将用户定位到最近、响应最快的数据中心,实现了双活数据中心业务的灵活切换。
四、F5 GTM 的工作方式
- F5 LTM 负责内网负载均衡,F5 GTM 负责外网负载均衡,分别介绍其部署方式和工作原理,以及优缺点。
F5 LTM(Local Traffic Manager)主要负责内网的负载均衡。其部署方式多样,包括单机部署、高可用部署、集群部署和云部署。
- 单机部署适用于小型或中型环境,将 F5 LTM 安装在单个设备上,分发请求到后端服务器集群,提供基本的负载均衡功能。
- 高可用部署通过将两个 F5 LTM 设备配置为高可用对,其中一个设备处于活动状态,处理所有流量,并将状态同步到备份设备,在主设备故障时,备份设备接管服务,确保业务连续性。
- 集群部署将多个 F5 LTM 设备组成集群,共同处理流量分发和负载均衡任务,通过配置共享策略和状态信息,提高性能和可扩展性,适用于大型环境和高流量负载。
- 云部署将 F5 LTM 部署在云平台上,如 AWS、Azure 等,实现云环境中的负载均衡和流量管理,F5 提供适用于各主要云平台的解决方案和部署指南。
F5 LTM 的工作原理如下:当用户发起请求时,请求会到达 F5 LTM 设备。F5 LTM 对请求进行深度数据包分析,了解请求的内容、协议、来源 IP 等信息。然后,基于事先配置的负载均衡算法和策略,根据当前服务器的负载情况、性能指标和服务状态,智能地确定将请求发送到哪个后端服务器上。如果需要保持用户会话,F5 LTM 会使用 Cookie 插入或 SSL 会话 ID 跟踪等技术,确保用户的后续请求都被发送到同一个后端服务器上。一旦负载均衡决策完成,F5 LTM 将请求转发到所选的后端服务器上,将用户的请求传递给真实的应用服务器。F5 LTM 还可以对返回的响应进行处理,如重写 URL、修改 HTTP 头、压缩响应等。在响应返回时,确保将响应正确地传递给用户,并处理网络地址转换(NAT)等。
F5 LTM 的优点包括高可用性,支持高可用部署,通过配置主备设备、集群或容灾对等机制,实现故障转移和业务连续性;负载均衡,使用智能的负载均衡算法,根据服务器的性能、负载情况和健康状态,将请求分发到最适合的服务器上,提高应用程序的性能和可用性;会话保持,通过会话保持技术,确保用户在访问过程中的连续体验,避免应用程序状态的丢失;弹性扩展,支持动态添加和删除服务器,可根据流量需求和负载情况自动扩展和收缩服务器资源;安全性,提供多种安全功能,如 SSL 加速、防火墙、DDoS 防护等,保护应用程序免受各种威胁和攻击。缺点则是成本较高,相对于其他低成本或开源负载均衡器,价格较高;学习曲线较陡,由于功能丰富和复杂的配置选项,需要一定的学习和培训才能充分利用其性能和功能;存在单点故障风险,如果没有正确设置高可用部署,单个 F5 LTM 设备可能成为系统中的单点故障,影响整体可用性;性能和效果受限于底层网络环境的稳定性和带宽容量。
F5 GTM(Global Traffic Manager)负责外网负载均衡。其部署方式有全局负载均衡、容灾备份、多地域部署和云部署。
- 全局负载均衡通过在不同地理位置的数据中心部署 F5 GTM 设备,将流量智能地分发到最近的、可用的数据中心,提高应用程序的性能和可用性,确保用户访问最佳的就近资源。
- 容灾备份是通过多个数据中心中的 F5 GTM 设备配置为容灾对,实现跨数据中心的故障转移。主设备处理所有流量,并将状态同步到备份设备,在主设备故障时,备份设备接管并继续提供流量分发服务,保证业务的连续性。
- 多地域部署在不同地区或国家 / 地区设置 F5 GTM 设备,在全球范围内实现流量分发和负载均衡。每个地域都有一个或多个 F5 GTM 设备,根据实时的网络状况和用户需求,智能地选择最佳的数据中心以提供服务,确保全球用户访问的负载均衡和优化。
- 云部署将 F5 GTM 部署在云平台上,以实现在云环境中的全局负载均衡和流量管理。F5 提供特定于不同云平台的解决方案和部署指南,满足云环境中的需求。
F5 GTM 的工作原理是:当用户在浏览器中输入 URL 时,DNS 请求会被发送到 F5 GTM 设备。F5 GTM 根据事先配置的全局负载均衡算法和策略,通过分析多个数据中心的资源状况、网络延迟等信息,智能地确定将请求发送到哪个数据中心或服务器上。
F5 GTM 的优点在于能够实现全球范围内的负载均衡和流量管理,根据实时的网络状况、服务器的健康状态和用户需求,智能地调整流量分发策略,确保应用程序的高可用性和性能优化。缺点可能包括配置和管理相对复杂,需要专业的知识和技能;对网络环境的要求较高,网络状况不佳可能影响其性能。
五、如何防范 DNS 欺骗请求放大
- 减少开放 DNS 解析器的总数,限制其仅响应来自受信任来源的查询。
-
- 通过仔细管理和监控网络中的 DNS 解析器,减少不必要的开放解析器数量,降低被恶意利用的风险。只允许受信任的来源发起查询,确保解析器不会随意响应来自未知或不可信的请求,从而有效防范 DNS 欺骗请求放大攻击。
- 源 IP 验证,阻止欺骗性数据包离开网络。
-
- 实施源 IP 验证机制,对网络中的数据包进行严格检查。当发现数据包的源 IP 地址存在可疑或不匹配的情况时,阻止其离开网络,防止欺骗性数据包被发送到 DNS 服务器,引发放大攻击。这样可以在网络边界处就拦截潜在的恶意流量,保护目标系统免受攻击。
- 配置 Web 应用程序防火墙。
-
- Web 应用程序防火墙(WAF)可以对进出网络的流量进行深度检测和过滤。针对 DNS 欺骗请求放大攻击,WAF 可以识别和阻止恶意的 DNS 查询请求,防止攻击者利用开放的 DNS 解析器进行攻击。同时,WAF 还可以监控网络流量中的异常行为,及时发现并应对潜在的攻击威胁。
防范 DNS 欺骗请求放大攻击还可以参考以下措施:
- 定期升级 DNS 软件和加强相关的安全配置,禁用不安全的端口。例如,一些基于 DNSSEC 协议的软件虽然还不成熟,但在一定程度上能增加安全性。目前常见的做法是定期升级 DNS 软件,确保系统能够及时应对新出现的安全漏洞。同时,禁用不安全的端口可以减少攻击面,降低被攻击的风险。
- 防止 MDNS 欺骗的最有效方法是,如果 MDNS 未被使用,就应该将其禁用,这可以通过禁用 Apple Bonjour 或 avahi-daemon 服务来实现。对于 NBNS 欺骗,可以配置 UseDnsOnlyForNameResolutions 注册表项,将注册表项 DWORD 设置为 1,或者禁用内部网络中所有 Windows 主机的 NetBIOS 服务。对于 LLMNR 欺骗,可以配置多播名称解析注册表项,以防止系统使用 LLMNR 查询,如使用组策略或特定的注册表项进行设置。
- 如果业务不需要,应该禁用 IPv6。由于禁用 IPv6 可能导致网络服务中断,因此强烈建议在大规模部署之前测试这项配置。如果需要使用 IPv6,则应该在网络交换机上实施 DHCPv6 保护机制,确保只允许授权的 DHCP 服务器列表将租约分配给客户端,从而防止 IPv6 DNS 欺骗。
- 组织应及时梳理掌握过时的 Windows 版本,采取针对性的防护,并在可能的情况下,尽快替换成有厂商支持的最新操作系统版本,减少老旧操作系统因安全漏洞被攻击者利用的风险。
- 对于 IPMI 旁路身份验证,目前还没有针对性的补丁,建议组织将 IPMI 访问限制于数量有限的系统上,即出于管理目的必需要访问的系统;如果业务不需要 IPMI 服务,应立即禁用该服务;将默认管理员密码改为复杂的强密码;服务只使用安全协议,比如 HTTPS 和 SSH,以限制攻击者在中间人攻击中成功获取访问密码的机会。
- 对于已发现的安全漏洞,如 Windows RCE(BlueKeep),应立即修复。在受影响的系统上部署安全更新,有效防范该漏洞。同时,组织应该评估现有的补丁管理流程,找到为何会遗漏相关安全更新的原因。
- 为了帮助阻止恶意人员使用你的 DNS 服务器作为一个实施这种 DNS 放大攻击的代理,你要保证你的可以从外部访问的 DNS 服务器仅为你自己的网络执行循环查询,不为任何互联网上的地址进行这种查询。大多数主要 DNS 服务器拥有限制循环查询的能力,因此,它们仅接受某些网络的查询,比如你自己的网络。
- 保证你拥有足够的带宽承受小规模的洪水般的攻击。如果你的连接不是执行重要任务的,一条 T1 线路就够了。否则,你就需要更多的带宽以便承受小规模的洪水般的攻击。不过,几乎任何人都无法承受每秒钟数 GB 的 DNS 放大攻击。因此,你要保证手边有能够与你的 ISP 随时取得联系的应急电话号码。这样,一旦发生这种攻击,你可以马上与 ISP 联系,让他们在上游过滤掉这种攻击。要识别这种攻击,你要查看包含 DNS 回复的大量通讯(源 UDP 端口 53),特别是要查看那些拥有大量 DNS 记录的端口。一些 ISP 已经在其整个
墨者安全 防护盾
墨者安全作为专业级别安全防护专家,在应对 Webshell 风险隐患方面展现出了卓越的能力。其拥有全面的检测机制,能够精准识别 Webshell 的各种类型和变体,无论是复杂的大马,还是隐蔽的内存马,都难逃其敏锐的监测。
墨者安全防护盾具备强大的实时监控功能,对服务器的各项活动进行 7*24 小时不间断的监视。一旦发现任何可疑的 Webshell 活动迹象,立即发出警报,并迅速采取隔离和清除措施,将风险扼杀在萌芽状态。
在防护策略上,墨者安全防护盾采用了多层次的防御体系。不仅能够在网络层面阻挡外部的恶意访问和攻击,还能深入系统内部,对服务器的文件系统、进程等进行深度检查和保护,确保 Webshell 无法植入和运行。
同时,墨者安全防护盾拥有快速的应急响应能力。当 Webshell 攻击事件发生时,专业的安全团队能够迅速介入,进行深入的分析和处理,最大程度减少攻击带来的损失,并帮助用户快速恢复服务器的正常运行。
墨者安全防护盾还注重用户教育和培训,为用户提供关于 Webshell 防范的专业知识和最佳实践,帮助用户提升自身的安全意识和防范能力,共同构建坚实的网络安全防线。