DNS监控
未被您知晓下发生的DNS记录变更通常意味着配置错误或劫持。二者皆属不良。及时监控它们。
DNS 是基础——也是最容易出错的环节
DNS 是一切的底层:每个网页请求、每封电子邮件、每个 API 调用,都是从 DNS 查询开始的。这让 DNS 记录的静默变更成为最常用的攻击方式之一——也是团队中粗心成员最容易犯下的致命错误。DNS 的一次变更可能将你的域名指向钓鱼版网站,将邮件路由到攻击者的服务器,使你的网站从搜索结果中消失,或者只是因为一个拼写错误让整个技术栈崩溃。大多数时候,DNS 造成的损失甚至并非恶意行为;而是例行的运维更改,却没人通知,结果导致下游系统故障。
DNS 监控通过每次检测时快照你的记录,并与上一个快照做对比来捕捉这些变化。如果跟踪的任何记录有增删变动,你都会收到告警。无论是遗忘通告的计划变更、配置错误还是真实的劫持——你都能在几小时内获知。
监控哪些记录
对于每个 HTTP 类型的监控,深入的每日检测会收集以下记录类型:
- A 和 AAAA:主机名解析为的 IPv4 和 IPv6 地址。如果出现变动——流量将会被引导至其它地方,不管是有意还是有人接管了你的注册商。
- MX:邮件交换记录。新增 MX 记录(或更糟,缺失)意味着邮件开始有不同的路由方式。邮件悄然丢失对企业来说是最严重的灾难之一。
- NS:域名服务器。变动表示有人将你的 DNS 区转移到了另一家供应商——对域名来说最具影响力的变更。NS 记录变更几乎总是计划中的迁移,或者是注册商账户被攻破的结果。
- TXT:任意文本记录,常用于域名验证(如 Google、Microsoft、Stripe 等)和 SPF/DKIM/DMARC。
- SPF、DMARC、CAA:用于电子邮件安全及证书签发的专用记录。尤其是 CAA 记录的变更,可能使攻击者能够为你的域名申请 TLS 证书。
仪表盘会在监控器展开视图中显示所有最新记录,让你一眼看清当前已发布的内容。
变更检测
监控器会为 A、AAAA、MX 和 NS 记录维护快照。每次深入检测时,当前记录都会与快照比较。消失的记录会被标记为“已删除”,新出现的则为“已添加”。这两份清单会出现在变更报告中。
如果监控的任何一组记录发生了变化,系统会通过已开启的渠道发送告警。通知会指明变更的记录类型,并详细列出新增和删除的内容。不再是“example.com 的 DNS 已变更”,而是“example.com 的 MX:已删除 mail.oldhost.com,已添加 mail-1.attacker.com”——让你第一时间读懂状况。
DNS 变更告警可独立于其他告警开启/关闭,适用于计划内迁移会产生大量噪音的情况。关闭告警,完成迁移,稳定后再重新开启。
为什么这能发现其他工具漏掉的问题
大多数 uptime 工具把 DNS 当作一次性操作——解析一次 URL 就不再处理。但只要竞争对手(或攻击者,或者周五上线的“鬼怪”)更改了你的 DNS,解析结果就会指向别的 IP,而仅检测 HTTP 的监控会一直显示一切正常,因为新 IP 也返回 200。没有 DNS 层监控,这种变更就是隐形的,直到有人人工检测才会发现。那个时候,邮件可能已经丢了好几天,搜索排名也损失了数周。
DNS 监控还可抓住 DNS 服务商自身的问题。有的服务商偶尔会在区域更新时丢失或错乱记录;有的会出现地区性故障,不同地点的查询得到不同结果。快照对比如实展现这些不稳定性。
配置说明
每个 HTTP/关键字/API 监控器都自动开启 DNS 监控。首次深入检测(添加监控器后 24 小时内)保存初始快照——首次不会发送告警,只有后续检测结果不一致时才会告警。要开启/关闭 DNS 变更告警,在通知的偏好设置区域切换“DNS 变更通知”。任意监控器的展开视图总会显示完整的 DNS 最新状态,包括 SPF、DMARC 和 CAA(虽然这三项不监控变更,但有助于定期审查)。
常见问题
-
默认追踪 A、AAAA、MX、NS、TXT 和 CNAME。每次检测时监控器都会快照解析值,任何新增、删除或变动都会触发告警。
-
可靠性不是问题,变化才是。DNS 劫持、迁移时的意外更新、外部 CDN 变更 IP、注册商账号被黑——都会表现为记录变动。DNS 监控能在几分钟内发现,而不是几天后才察觉。
-
DNS 查询直接针对权威域名服务器(不是本地 resolver),所以 TTL 缓存不会掩盖变更。每次检测都是全新权威查询——只要源头记录变了,监控器下次检测就能发现。
-
可以。监控器会在每次检测中记录 DNSSEC 状态(已签名/未签名),并在状态变更时告警。如果昨天还是 DNSSEC-signed 今天却变成 unsigned,这是值得立刻调查的安全事件。
-
如果你的 A 记录返回多个轮换 IP,监控器每次检测都可能看到“变化”。为减少干扰,可将 expected-values 配置为包含全部可能 IP,或关闭该域名的 A 记录监控,只用 HTTP 检查确认可用性。
UptimeRobot · Pingdom · BetterStack · Oh Dear · Site24x7 · StatusCake · Sentry · Uptrends · Cronitor · New Relic