域名服务器 (DNS) 劫持,也称为 DNS 重定向,是一种 DNS 攻击,其中 DNS 查询被错误解析,以便将用户意外重定向到恶意站点。为了执行攻击,犯罪者要么在用户计算机上安装恶意软件、接管路由器,要么拦截或破解 DNS 通信。

DNS 劫持可用于 欺骗 (在这种情况下,攻击者通常会显示不需要的广告以产生收入)或用于 网络钓鱼 (显示用户访问的站点的虚假版本并窃取数据或凭据)。

许多 Internet 服务提供商 (ISP) 还使用一种 DNS 劫持,以在用户访问未知域时接管用户的 DNS 请求、收集统计信息并返回广告。一些政府使用 DNS 劫持进行审查,将用户重定向到政府授权的站点。

  DNS劫持攻击类型

DNS 重定向有四种基本类型:

本地 DNS 劫持 — 攻击者在用户的计算机上安装木马恶意软件,并更改本地 DNS 设置以将用户重定向到恶意站点。推荐阅读:《什么是 DNS?》

路由器 DNS 劫持 — 许多路由器都有默认密码或固件漏洞。攻击者可以接管路由器并覆盖 DNS 设置,从而影响连接到该路由器的所有用户。

中间人 DNS 攻击 ——攻击者拦截用户和 DNS 服务器之间的通信,并提供指向恶意站点的不同目标 IP 地址。

流氓 DNS 服务器 ——攻击者可以入侵 DNS 服务器,并更改 DNS 记录以将 DNS 请求重定向到恶意站点。

  重定向与 DNS 欺骗攻击

DNS 欺骗 是一种将流量从合法网站(例如 www.google.com)重定向到恶意网站(例如 google.attacker.com)的攻击。 DNS 欺骗 可以通过 DNS 重定向来实现。例如,攻击者可以破坏 DNS 服务器,并通过这种方式“欺骗”合法网站并将用户重定向到恶意网站。

缓存中毒 是实现 DNS 欺骗的另一种方法,不依赖于 DNS 劫持(物理上接管 DNS 设置)。DNS 服务器、路由器和计算机缓存 DNS 记录。攻击者可以通过插入伪造的 DNS 条目来“毒化”DNS 缓存,其中包含相同域名的替代 IP 目标。DNS 服务器将域解析为欺骗网站,直到刷新缓存。

  缓解方法

名称服务器和解析器的缓解措施

DNS 名称服务器是高度敏感的基础设施,需要强大的安全措施,因为它可以被黑客劫持并用于 对他人进行 DDoS 攻击:

注意网络上的解析器 ——不需要的 DNS 解析器应该关闭。合法的解析器应放置在防火墙后面,组织外部无法访问。推荐阅读:《DNS解析中常用记录的区别》

严格限制对名称服务器的访问 ——应该使用物理安全、多因素访问、防火墙和网络安全措施。

采取措施防止缓存中毒 – 使用随机源端口,随机查询 ID,并随机化域名中的大小写。

立即修补已知漏洞 ——黑客主动搜索易受攻击的 DNS 服务器。

将权威名称服务器与解析器分开 ——不要在同一台服务器上运行两者,因此对任一组件的 DDoS 攻击不会破坏另一个组件。

限制区域传输 ——从名称服务器可以请求区域传输,这是您的 DNS 记录的部分副本。区域记录包含对攻击者有价值的信息。

  最终用户的缓解措施

最终用户可以通过更改路由器密码、安装防病毒软件和使用加密的 VPN 通道来保护自己免受 DNS 劫持。如果用户的 ISP 劫持了他们的 DNS,他们可以使用免费的替代 DNS 服务,例如 Google Public DNS、Google DNS over HTTPS 和 Cisco OpenDNS。

  网站所有者的缓解措施

使用域名注册商的网站所有者可以采取措施避免 DNS 重定向其 DNS 记录:

安全访问 ——在访问 DNS 注册商时使用双因素身份验证,以避免妥协。如果可能,请定义一个允许访问 DNS 设置的 IP 地址白名单。

客户端锁定 — 检查您的 DNS 注册商是否支持客户端锁定(也称为更改锁定),以防止未经特定指定个人批准而更改您的 DNS 记录。

DNSSEC — 使用支持 DNSSEC 的 DNS 注册商,并启用它。DNSSEC 对 DNS 通信进行数字签名,使黑客更难(但并非不可能)拦截和欺骗。

以上就是什么是 DNS 劫持/重定向攻击的全部内容。推荐相关阅读:《在Linux中检查反向DNS查找(rDNS)》