Citrix ADC

DNS 安全选项

现在,您可以在 Citrix ADC GUI 的“Add DNS Security Profile”(添加 DNS 安全配置文件)页面中配置 DNS 安全选项。要通过 Citrix ADC CLI 或 NITRO API 配置 DNS 安全选项,请使用 AppExpert 组件。有关说明,请参阅 NITRO API 文档和“Citrix ADC Command Reference Guide”(《Citrix ADC 命令参考指南》)。

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

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

缓存中毒防护

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

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

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

DNS DDoS 防护

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

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

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

  1. 导航到 Configuration(配置)> Security(安全)> DNS Security(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 地址的查询或请求,所有其他查询或请求都会被丢弃。

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

  1. 导航到 Configuration(配置)> Security(安全)> DNS Security(DNS 安全)
  2. DNS Security Profiles(DNS 安全配置文件)页面上,单击 Add(添加)。
  3. Add DNS Security Profile(添加 DNS 安全配置文件)页面上,执行以下操作:
    1. 展开 Manage exceptions – Whitelist/Blacklist Servers(管理例外项 - 白名单/黑名单服务器)。
    2. 选择 Block(阻止)以阻止来自列入黑名单的域/地址的查询,或者选择 Allow(允许)以仅允许来自列入白名单的域/地址的查询。
    3. Domain name / IP Address(域名/IP 地址)框中,输入域名、IP 地址或 IP 地址范围。请使用逗号分隔多个条目。 注意:如果选择 Advanced Option(高级选项),则可以使用“start with”(开头为)、“contains”(包含)和“ends with”(结尾为)选项来设置条件。 例如,您可以设置条件来阻止以“image”开头或以“.co.ru”结尾或包含“mobile sites”的 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 Security Profiles(DNS 安全配置文件)页面上,单击 Add(添加)。
  3. Add DNS Security Profile(添加 DNS 安全配置文件)页面上,执行以下操作:
    1. 展开 Prevent Random Subdomain Attacks(防止随机子域攻击)。
    2. 输入查询长度的数值。
  4. 单击 Submit(提交)。

绕过缓存

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

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

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

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

通过 TCP 强制执行 DNS 事务

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

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

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

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

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

“Provide Root Details in the DNS Response”(在 DNS 响应中提供根服务器详细信息)选项指示 Citrix ADC 设备限制对未配置或缓存的查询的根服务器引用的访问。设备发送空白响应。

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

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

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