DNS 安全选项

现在,您可以从 Citrix ADC GUI 中的“添加 DNS 安全配置文件”页面配置 DNS 安全选项。要配置 Citrix ADC CLI 或 NITRO API 中的 DNS 安全选项,请使用 AppExpert 组件。有关说明,请参阅 NITRO API 文档和 Citrix ADC 命令参考指南。

一个选项,即缓存中毒保护,默认情况下处于启用状态,无法禁用状态。您可以将其他选项应用于部署中的所有 DNS 端点或特定 DNS 虚拟服务器,如下表所示:

安全选项 是否可以应用于所有 DNS 端点? 是否可以应用于特定的 DNS 虚拟服务器?
DNS DDoS 保护
管理异常 — 白名单/黑名单服务器
防止随机子域攻击
绕过缓存
通过 TCP 强制执行 DNS 事务
在 DNS 响应中提供根详细信息

缓存中毒保护

缓存中毒攻击将用户从合法站点重定向到恶意网站。

例如,攻击者将 DNS 缓存中的真实 IP 地址替换为他们控制的假 IP 地址。当服务器响应来自这些地址的请求时,缓存中毒,后续对域地址的请求将重定向到攻击者的站点。

缓存中毒保护选项可防止将损坏的数据插入到缓存 DNS 服务器请求和响应的数据库中。这是 Citrix ADC 设备的内置功能,始终处于启用状态。

DNS DDoS 保护

您可以为您怀疑可能在 DDoS 攻击中使用的每种类型的请求配置 DNS DDoS 保护选项。对于每种类型,Citrix ADC 设备会删除超过指定时间段(时间片)内收到的请求数的阈值后收到的任何请求。您还可以配置此选项以将警告记录到 SYSLOG 服务器。例如:

  • 删除: -假设您已启用了阈值为 15 的记录保护,时间片为 1 秒,并选择了“删除”。当传入请求在 1 秒内超过 15 时,数据包开始丢弃。
  • 警告: -假定您已启用阈值为 15 的记录保护,时间片为 1 秒,并选择“警告”。当传入的请求在 1 秒内超过大约 15 个查询时,系统会记录一条警告消息,指示存在威胁,然后数据包开始丢弃。建议将 WARN 的阈值设置为小于某个记录类型的“删除”的阈值。这将帮助管理员通过在实际攻击发生和 Citrix ADC 开始删除传入请求之前记录警告消息来识别攻击。

使用 Citrix ADC GUI 设置传入流量的阈值

  1. 导航到配置 > 安全 > DNS 安全
  2. DNS 安全配置文件 **页上,单击添加**。
  3. 在“添加 DNS 安全配置文件”页上,执行以下操作:
  4. 扩展 DNS DDoS 保护
    1. 选择记录类型并输入阈值限制和时间片值。
    2. 选择删除警告
    3. 对要防护的每个其他记录类型重复步骤 a 和 b。
  5. 单击 Submit(提交)。

管理异常 — 白名单/黑名单服务器

管理例外使您能够将例外添加到黑名单或白名单域名和 IP 地址。例如:

  • 当识别发布攻击的特定 IP 地址时,此类 IP 地址可能会被列入黑名单。
  • 当管理员发现某个特定域名存在意外的高请求时,该域名可能会被列入黑名单。
  • NXDomains 和一些可以消耗服务器资源的现有域可以被列入黑名单。
  • 当管理员将域名或 IP 地址列入白名单时,只能回答来自这些域或 IP 地址的查询或请求,并删除所有其他域或 IP 地址。

使用 GUI 创建白名单或黑名单

  1. 导航到配置 > 安全 > DNS 安全
  2. 在“DNS 安全配置文件”页上,单击“添加”。
  3. 在“添加 DNS 安全配置文件”页上,执行以下操作:
    1. 展开管理例外 — 白名单/黑名单服务器
    2. 选择“阻止”以阻止来自黑名单域/地址的查询,或选择仅允许以允许来自白名单域/地址的查询。
    3. 在“域名/IP 地址”框中,输入域名、IP 地址或 IP 地址范围。使用逗号分隔条目。 注意:如果选择高级选项,则可以使用“开头为”、“包含”和“结尾为”选项来设置条件。 例如,您可以设置条件来阻止以“映像”开头或以“.co.ru”结尾或包含“移动网站的 DNS 查询。“
  4. 单击 Submit(提交)。

防止随机子域攻击

在随机子域攻击中,查询被发送到合法域中不存在的随机子域。这会增加 DNS 解析程序和服务器的负载。因此,它们可能会变得超载并减慢。

“防止随机子域攻击”选项指示 DNS 响应程序删除超过指定长度的 DNS 查询。

假设 example.com 是您拥有的域名,因此解析请求来到您的 DNS 服务器。攻击者可以将随机子域附加到 example.com 并发送请求。根据指定的查询长度和 FQDN,随机查询将被删除。

例如,如果查询是 www.image987trending.example.com,则如果查询长度设置为 20,它将被删除。

通过使用 GUI 指定 DNS 查询长度

  1. 导航到配置 > 安全 > DNS 安全
  2. 在“DNS 安全配置文件”页上,单击“添加”。
  3. 在“添加 DNS 安全配置文件”页上,执行以下操作:
    1. 展开防止随机子域攻击
    2. 输入查询长度的数值。
  4. 单击 Submit(提交)。

绕过缓存

在攻击期间,必须保护已缓存的数据。为了保护缓存,可以将针对某些域或记录类型或响应代码的新请求发送到源服务器,而不是缓存。

“绕过缓存”选项指示 Citrix ADC 设备在检测到攻击时绕过指定域、记录类型或响应代码的缓存。

使用 GUI 绕过指定域或记录类型或响应类型的缓存

  1. 导航到配置 > 安全 > DNS 安全
  2. 在“DNS 安全配置文件”页上,单击“添加”。
  3. 在“添加 DNS 安全配置文件”页上,展开“绕过缓存”并输入域名和/或选择必须绕过缓存的记录类型或响应类型。
    • 单击并输入域名。使用逗号分隔条目。
    • 单击“记录类型”并选择记录类型。
    • 单击“响应类型”并选择响应类型。
  4. 单击 Submit(提交)。

通过 TCP 强制执行 DNS 事务

如果事务被迫使用 TCP 而不是 UDP,则可以防止某些 DNS 攻击。例如,在机器人攻击期间,客户端会发送大量查询,但无法处理响应。如果对这些事务强制使用 TCP,则机器人无法理解响应,因此无法通过 TCP 发送请求。

通过使用 GUI 强制域或记录类型在 TCP 级别操作

  1. 导航到配置 > 安全 > DNS 安全
  2. 在“DNS 安全配置文件”页上,单击“添加”。
  3. 在“添加 DNS 安全配置文件”页上,展开通过 TCP 强制执行 DNS 事务并输入域名和/或选择必须通过 TCP 强制执行 DNS 事务的记录类型。
    • 单击并输入域名。使用逗号分隔条目。
    • 单击“记录类型”并选择记录类型。
  4. 单击 Submit(提交)。

在 DNS 响应中提供根详细信息

在某些攻击中,攻击者会针对未在 Citrix ADC 设备上配置或缓存的不相关域发送大量查询。如果 dnsRootReferral 参数已启用,则会公开所有根服务器。

“在 DNS 响应中提供根详细信息”选项指示 Citrix ADC 设备限制对未配置或缓存的查询的根引用的访问。设备发送空白响应。

“在 DNS 响应中提供根详细信息”选项还可以缓解或阻止放大攻击。当 dnsRootReferral 参数处于禁用状态时,Citrix ADC 响应中将不会有根引用,因此它们不会被放大。

使用 GUI 启用或禁用对根服务器的访问

  1. 导航到配置 > 安全 > DNS 安全
  2. 在“DNS 安全配置文件”页上,单击“添加”。
  3. 在“添加 DNS 安全配置文件”页上,执行以下操作:
    1. 展开在 DNS 响应中提供根详细信息
    2. 单击以允许或限制对根服务器的访问。
  4. 单击 Submit(提交)。