通过HTTP探测监控运营商DNS劫持

运营商DNS劫持就是通过某种技术手段,在运营商的DNS设备上篡改域名或IP地址的正确映射关系,使域名解析到错误的IP地址上。您可以通过站点监控中的HTTP探测有效监控运营商DNS劫持,当运营商发生DNS劫持时,您会收到报警通知。

前提条件

背景信息

运营商本地的LocalDNS(简称运营商LDNS)是服务终端设备的第一道DNS接入服务。运营商LDNS收到来自终端设备发起的域名解析查询请求,通过迭代查询请求多级的权威DNS服务器,并将最终查询结果返回给终端设备。正常的DNS解析流程如下图所示。

image..png

说明

www.example.com A表示查询www.example.com的A记录。

当在运营商LDNS上出现针对特定域名(例如:www.example.com)的劫持配置时,运营商LDNS收到来自终端设备发起的针对该域名的解析查询请求后,不再使用权威DNS服务器的应答结果,而是使用劫持配置里面的结果(一般是127.0.0.10.0.0.0)返回给终端设备。劫持后的DNS解析流程如下图所示。

image..png

操作步骤

  1. 登录云监控控制台

  2. 在左侧导航栏,选择网络分析与监控 > 站点监控

  3. 监控任务页签,单击创建任务

  4. 创建任务页面,设置DNS探测任务的相关信息。

    • 基本信息任务类型选择HTTP(S)任务名称输入http_dns_task监控地址输入www.example.com

      高级设置DNS服务器页签,DNS服务器选择探测点对应的运营商DNS1

      说明

      如果监控的域名地址解析的IP,没有匹配到DNS劫持白名单的IP中,表示该域名被劫持了,如果域名的A记录没有通过www.taobao.com.danuoyi.XXXXX.com解析则被认为是劫持。

      高级设置DNS劫持检查页签,设置运营商DNS服务器的劫持检测规则,其他参数均使用默认值。

      2

      说明

      您最多可为运营商DNS服务器设置两条劫持检测规则,可对您的域名和跳转域名做对应设置。如果您域名配置的DNS解析规则为CNAME,可直接设置域名到对应CNAME的匹配规则,例如:www.example.com:www.example.cname.com。 如果您域名配置的DNS解析规则为A记录,可设置域名到IP地址的匹配规则,例如:www.example.com:172.16.XX.XX|172.17.XX.XX|172.18.XX.XX。具体劫持检测规则,请根据您的DNS域名解析配置进行设置。

    • 选择探测点:选择对应运营商的探测点,其他参数均使用默认值。

    • 设置告警:云监控默认提供一条可用率的告警规则。由于网络抖动和运营商DNS可用性低的问题会导致可用率毛刺可能较多,为避免告警风暴,您可以将可用率设置为一个合适的数值。您还需要新建一条运营商DNS劫持告警规则,当触发告警时,提醒您及时进行处理。具体操作如下:

      1. 设置告警规则区域,单击添加规则

      2. 在添加规则描述面板,规则名称输入运营商DNS劫持指标名称选择DNS劫持探测点数量,报警级别选择Critical,阈值输入1

      image..png

    • 配置报警联系组:选择报警联系组。

  5. 单击创建