ADC

DNS 安全选项

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

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

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

缓存中毒防护

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

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

“Cache Poisoning Protection”(缓存中毒防护)选项可防止将损坏的数据插入缓存 DNS 服务器请求和响应的数据库中。此功能内置于 NetScaler 设备中,并且始终处于启用状态。

DNS DDoS 防护

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

  • DROP: -选择此选项可在不记录的情况下丢弃请求。假设您已启用阈值为 15 的 A 记录保护,时间片段为 1 秒,然后选择了 DROP。当传入的请求在 1 秒内超过 15 个查询时,数据包开始丢弃。
  • 警告: -选择此选项可记录和丢弃请求。假设您已启用阈值为 15、时间片段为 1 秒的 A 记录保护,然后选择了警告。当传入的请求在 1 秒内超过 15 个查询时,将记录一条警告消息,指示存在威胁,然后丢弃数据包。Citrix 建议您为“WARN”(警告)设置的阈值小于记录类型的“DROP”(丢弃)阈值。这样的设置通过在实际攻击发生和 NetScaler 开始丢弃传入请求之前记录警告消息来帮助管理员识别攻击。

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

  1. 导航到 配置 > 安全 > DNS 安全
  2. DNS Security Profile(DNS 安全配置文件)页面上,单击 Add(添加)。
  3. Add DNS Security Profile(添加 DNS 安全配置文件)页面上,执行以下操作:
  4. 展开 DNS DDoS Protection(DNS DDoS 防护)。
    1. 选择记录类型并输入阈值限制和时间片值。
    2. 选择 DROP(丢弃)或 WARN(警告)。
    3. 对要保护的其他每种记录类型重复执行步骤 a 和 b。
  5. 单击 Submit(提交)。

管理异常 — 允许列表/阻止列表服务器

管理例外使您能够将例外添加到阻止列表或允许列出域名和 IP 地址。例如:

  • 当识别发布攻击的特定 IP 地址时,可以将此类 IP 地址添加到阻止列表中。
  • 当管理员发现对特定域名的请求数量出乎意料的高时,那么可以将该域名添加到阻止列表中。
  • NXDomains 一些可以消耗服务器资源的现有域可以被列入黑名单。
  • 当管理员允许列出域名或 IP 地址时,仅应答来自这些域或 IP 地址的查询或请求,而其他所有其他域名或 IP 地址都将被删除。

使用 GUI 创建允许列表或阻止列表

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

防止随机子域名攻击

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

“Prevent Random Subdomain Attacks”(防止随机子域攻击)选项指示 DNS 响应程序丢弃超过指定长度的 DNS 查询。

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

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

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

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

绕过缓存

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

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

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

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

通过 TCP 强制执行 DNS 事务

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

使用 GUI 强制域或记录类型在 TCP 级别运行

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

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

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

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

“Provide Root Details in the DNS Response”(在 DNS 响应中提供根服务器详细信息)选项还可以缓解或阻止放大攻击。当 dnsrootReferral 参数被禁用时,NetScaler 响应中没有根引用,因此它们不会被放大。

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

  1. 导航到 Configuration(配置)> Security(安全)> DNS Security(DNS 安全)
  2. 在“DNS 安全配置文件”页上,单击“添加”。
  3. Add DNS Security Profile(添加 DNS 安全配置文件)页面上,执行以下操作:
    1. 展开 Provide Root Details in the DNS Response(在 DNS 响应中提供根服务器详细信息)。
    2. 单击 ON(开)或 OFF(关)以允许或限制对根服务器的访问。
  4. 单击 Submit(提交)。
DNS 安全选项