-
-
-
-
-
-
-
-
缓解DNS DDoS攻击
-
-
-
-
-
此内容已被机器动态翻译。
diesel Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde。(Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique。(非条款responsabilité)
Este artículo lo ha traducido una máquina形式上dinámica。(通报法律)
此内容已动态机器翻译。放弃
このコンテンは動的に機械翻訳されています。免責事項
이콘텐츠는동적으로기계번역되었습니다。책임부iot
此内容已被机器动态翻译。
此内容已被机器动态翻译。
这篇文章是机器翻译的。
柴油Artikel wurde maschinell übersetzt。(Haftungsausschluss)
Ce article a été traduit automatiquement。(非条款responsabilité)
Este artículo ha sido traducido automáticamente。(通报法律)
この記事は機械翻訳されています。免責事項
이기사는기계번역되었습니다。책임부iot
Este artigo foi traduzido automaticamente。
这篇文章已经过机器翻译.放弃
翻译失败!
缓解DNS DDoS攻击
DNS服务器是网络中最重要的组件之一,必须对其进行防御。最基本的DNS攻击类型之一是DDoS攻击。这种类型的攻击呈上升趋势,可能具有破坏性。针对DDoS攻击,可以采取以下措施:
- 清除负面记录。
- 限制负记录的生存时间(TTL)。
- 通过限制DNS缓存消耗的内存来保留Citrix ADC内存。
- 在缓存中保留DNS记录。
- 开启DNS缓存旁路。
清除负面记录
DNS攻击用负记录(NXDOMAIN和NODATA)填充缓存。因此,对合法请求的响应不会被缓存,因此新请求将被发送到后端服务器进行DNS解析。因此,响应被延迟。
现在可以从Citrix ADC设备的DNS缓存中刷新负DNS记录。
该任务指导软件调测工程师通过CLI刷新缓存负记录
在命令提示符下,输入:
flush dns proxyrecords type (dnsRecordType | negRecType) NXDOMAIN | NODATA
例子:
flush dns proxyrecords -negRecType NODATA
使用GUI刷新负缓存记录
- 导航到配置>交通管理>DNS>记录.
- 在详细信息窗格中,单击刷新代理记录.
- 在嵌入式框中,选择负面的记录.
- 在负面记录类型框,选择其中之一NXDOMAIN或NODATA后.
防止随机子域和NXDOMAIN攻击
为了防止随机子域攻击和NXDOMAIN攻击,可以限制DNS缓存内存,对于负的记录可以调整TTL值。
若要限制DNS缓存消耗的内存量,请指定最大缓存大小(以MB为单位),以及用于存储否定响应的缓存大小(以MB为单位)。当达到任何一个限制时,不再向缓存中添加更多的条目。此外,还会记录syslog消息,如果配置了SNMP trap,则会生成SNMP trap。如果没有设置这些限制,缓存将继续进行,直到耗尽系统内存为止。
负记录的TTL值越高,可能会导致长时间存储没有价值的记录。较低的TTL值会导致向后端服务器发送更多请求。
负记录的TTL被设置为一个值,该值可以是该SOA记录的TTL值或“过期”值中较小者。
请注意:
- 这个限制是为每个包引擎添加的。例如,如果maxCacheSize设置为5 MB,而设备有3个包引擎,则总缓存大小为15 MB。
- 负记录的缓存大小必须小于或等于最大缓存大小。
- 如果将DNS缓存内存限制降低到低于已经缓存的数据量的值,缓存大小将保持在限制之上,直到数据老化。即,超过TTL0或被刷新(
刷新DNS代理记录
命令,或在Citrix ADC GUI中刷新代理记录)。 - 配置SNMP trap,请参见配置NetScaler生成SNMP trap.
该任务指导系统管理员通过CLI限制DNS Cache占用的内存
在命令提示符下,输入:
设置dns参数-maxCacheSize
例子:
设置dns参数- maxnegativecachesize 100 - maxnegativecachesize 25
通过图形化界面限制DNS Cache占用的内存
导航到配置>交通管理>DNS,点击修改DNS设置,并设置以下参数:
- 最大缓存大小(MB)
- 最大负缓存大小(MB)
该任务指导管理员通过命令行限制反向记录的生存时间
在命令提示符下,输入:
设置dns参数-maxnegcacheTTL
例子:
设置dns参数-maxnegcacheTTL 360
使用GUI限制负记录的生存时间
- 导航到配置>交通管理>DNS.
- 点击修改DNS设置并设置最大负缓存生存时间(秒)参数。
在缓存中保留DNS记录
攻击可以用不重要的条目淹没DNS缓存,但可以导致刷新已经缓存的合法记录,为新条目腾出空间。为了防止攻击用无效数据填充缓存,您可以保留合法记录,即使它们超过了它们的TTL值。
如果启用cacheNoExpire参数,缓存中当前的记录将被保留,直到禁用该参数。
请注意:
- 该选项仅在指定最大缓存大小(maxCacheSize参数)时使用。
- 如果配置了maxnegcacheTTL,并且启用了cacheNoExpire,则cacheNoExpire优先。
通过命令行保留缓存中的DNS记录
在命令提示符下,输入:
设置dns参数-cacheNoExpire (ENABLED | DISABLED)
例子:
设置dns参数-cacheNoExpire ENABLED
使用GUI在缓存中保留DNS记录
- 导航到配置>交通管理>DNS并点击修改DNS设置.
- 选择缓存不过期.
开启DNS缓存旁路
为了更好地查看和控制DNS请求,可以设置cacheHitBypass参数,将所有请求转发到后端服务器,并允许构建缓存,但不使用缓存。在构建缓存之后,您可以禁用该参数,以便从缓存提供请求。
该任务指导管理员通过CLI开启DNS缓存绕过功能
在命令提示符下,输入:
设置dns参数cachehitbypass (ENABLED | DISABLED)
例子:
设置dns参数-cacheHitBypass ENABLED
通过图形化方式开启DNS缓存旁路
- 导航到配置>交通管理>DNS并点击修改DNS设置.
- 选择缓存命中旁路.
防止Slowloris
攻击
一个DNS查询跨越多个数据包,提出了一个潜在的威胁Slowloris
攻击。Citrix ADC设备可以无声地丢弃被分割成多个数据包的DNS查询。
您可以设置splitPktQueryProcessing
参数允许或丢弃一个DNS查询,如果查询被分割成多个数据包。
请注意:仅对DNS TCP生效。
通过CLI将DNS查询限制为单个报文
在命令提示符下,输入:
设置dns参数splitpktqueryprocessing(允许| DROP)
例子:
设置dns参数-splitPktQueryProcessing DROP
使用GUI将DNS查询限制为单个数据包
- 导航到配置>交通管理>DNS并点击修改DNS设置.
- 在拆分报文查询处理框中,选择允许或下降.
收集从缓存中服务的DNS响应的统计信息
您可以从缓存中收集DNS响应的统计信息。然后使用这些统计数据创建一个阈值,超过该阈值将丢弃更多DNS流量,并使用基于带宽的策略强制执行该阈值。以前,DNS负载均衡虚拟服务器的带宽计算是不准确的,因为从缓存服务的请求数量没有报告。
在代理模式下,“请求字节数”、“响应字节数”、“接收总包数”和“发送总包数”的统计信息会不断更新。以前,这些统计信息并不总是更新,特别是对于DNS负载平衡虚拟服务器。
代理模式现在还允许您确定从缓存服务的DNS响应的数量。属性中添加了以下选项以收集这些统计信息stat lb vserver
命令:
- 请求—DNS或DNS_TCP虚拟服务器接收到的请求总数。包括转发到后端的请求和从缓存应答的请求。
- Vserver支安打-转发到后端的请求总数。缓存处理的请求数是请求总数与虚拟服务器处理的请求数之差。
- 反应-该虚拟服务器发送的响应总数。例如,如果一个DNS LB虚拟服务器接收了5个DNS请求,其中3个转发到后端,2个从缓存中处理,这些统计数据对应的值如下:
- Vserver支安打: 3
- 请求: 5
- 反应: 5
分享
分享
此预览版产品文档是Citrix机密文档。
您同意按照您的Citrix Beta/技术预览协议的条款对本文档进行保密。
预览文档中描述的任何特性或功能的开发、发布和时间仍由我们自行决定,如有更改,恕不另行通知或咨询。
本文档仅供参考之用,不构成提供任何材料、代码或功能的承诺、承诺或法律义务,不应作为思杰产品购买决策的依据。
如果不同意,选择“不同意退出”。