V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sue6080
V2EX  ›  DNS

请问我理解的 DNS 缓存污染定义,指教下是否正确?

  •  
  •   Sue6080 · 40 天前 · 1370 次点击
    这是一个创建于 40 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近一直研究 DNS 污染,透过网上各种管道,得知有一个专有名词叫「 DNS 缓存污染」,我理解的意思是运营商解析网站的 DNS 的 A 记录,被运营商本身或怪客篡改 IP,这理解是否正确?
    39 条回复    2021-07-08 15:04:46 +08:00
    learningman
        1
    learningman   40 天前 via Android
    我的理解是,如果某个 DNS 服务器的上游被污染了,然后这个 DNS 本身又拥有缓存机制。即使他自己没有去污染,他也会帮助被污染的记录进一步扩散。
    AoEiuV020
        2
    AoEiuV020   40 天前
    是的吧,比如运营商把一些墙外网站解析到奇怪的 ip 上,
    trepwq
        3
    trepwq   40 天前 via iPhone   ❤️ 1
    dns 解析结果有 ttl 时间,给你一个错误的且 ttl 时间很长的 dns 解析结果
    Sue6080
        4
    Sue6080   40 天前
    @trepwq 那你知道错误的 DNS 解析 IP 代表哪些意思吗?
    我被污染的域名,有些是解析到 0.0.0.0 、127.0.0.1 、美国的 IP 、FB 与 twitter 的 IP 都有
    Sue6080
        5
    Sue6080   40 天前
    @AoEiuV020 那你知道错误的 DNS 解析 IP 代表哪些意思吗?
    我被污染的域名,有些是解析到 0.0.0.0 、127.0.0.1 、美国的 IP 、FB 与 twitter 的 IP 都有
    Sue6080
        6
    Sue6080   40 天前
    @learningman 请问你说的[某个 DNS 服务器的上游]是指权威 DNS 还是中国的根 DNS 吗?
    [某个 DNS 服务器]是指运营商的 DNS?
    AoEiuV020
        7
    AoEiuV020   40 天前
    @Sue6080 没什么意思吧,只是让你上不去原来的网站,随便给个 ip 的吧,
    learningman
        8
    learningman   40 天前
    @Sue6080 #6 [某个 DNS 服务器] 取决于 DNS 的设置啊,递归 DNS 或者权威 DNS,看属性了。
    具体解析到哪个 IP,有人跟我讲是路由扩散,我不确定。
    willis
        9
    willis   40 天前
    我告诉你一个另类的检测 dns 污染的方法,帮助你理解一下。
    你随便找个一国外非 dns 服务器的 IP,在国内用 nslookup www.google.com 国外 IP,试一下结果
    国外的 IP 没有启用 dns 服务,没有污染的域名,什么都不会返回,有污染的域名嘛。。。。
    Sue6080
        10
    Sue6080   34 天前
    @willis 谢谢回复,请问你说的:
    随便找个一国外非 dns 服务器的 IP,代表任何一个美国网站的 IP 吗(如 Twitter)?
    国外的 IP 没有启用 dns 服务-->这句不懂
    Sue6080
        11
    Sue6080   34 天前
    @learningman 请问 DNS 的设置是运营商控制的吗?
    我只知道域名的 ns 记录设定某个 DNS 的话,那个 DNS 就会成为此域名的权威 DNS,
    路由扩散???又是新名词...
    Sue6080
        12
    Sue6080   34 天前
    @AoEiuV020 因为有保留 IP 跟国外 IP,所以才会觉得好奇
    learningman
        13
    learningman   34 天前 via Android
    @Sue6080 你自动拿到的 DNS 服务器,是你在连上互联网的时候,运营商会分发一个给你,各种协议都会支持,比如 DHCP 。这个一般是递归 DNS,也就是说他如果查询不到就会到对应域名的权威 DNS 去查询。但是有污染的话,很明显就会有另外的一些行为。
    路由扩散我其实也不是很明白。但是你会发现,大部分 DNS 污染都是被污染到了 Facebook 相关的域名。这个行为应该本身是为了方便路由扩散的执行的。
    Sue6080
        14
    Sue6080   33 天前
    @learningman 照你说的,我整理以下叙述,看是否正确?
    运营商自动配发的 DNS 就是递归 DNS
    运营商自动配发的 DNS 如果被污染,就不会去权威 DNS 查
    我这边污染的域名解析到的 IP 大部份是美国的 Twitter 、Facebook
    还有一歇香港的网站 IP
    learningman
        15
    learningman   33 天前 via Android
    @Sue6080
    不确定,因为你其实并不知道是在哪一步被污染的。有可能是这些 DNS 服务器内置了专门的碰到某些网站就返回错误结果的逻辑。也有可能是有一台专用的设备负责清洗所有的 DNS 流量。
    第 3 个这个说的应该就是路由扩散了,污染到某几个特定的 AS
    Sue6080
        16
    Sue6080   33 天前
    @learningman 我用国内阿里云随检测平台 https://zijian.aliyun.com/
    查我被污染的域名
    发现全是"递归解析污染"
    国内阿里云客服是说,递归解析污染是"上级网路"截断的,他门无法处理
    你觉得"上级网路"是防火长城(GFW)吗?
    你说的 AS 意思是:American Server 吗?
    learningman
        17
    learningman   33 天前
    @Sue6080 #16 很明显是的
    然后 AS 是 Autonomous system,自治系统
    Sue6080
        18
    Sue6080   31 天前
    @learningman 那有些公司网站是说可以修复 DNS 污染,你认为这是骗人的吗?
    自治系统...这个是 CCNA 网管范围了...我的知识盲区了
    所以 DNS 递归解析污染真的无法预防与阻止吗?
    learningman
        19
    learningman   31 天前
    @Sue6080 #18 DNS 污染,虽然没有官方文件,但是大家都知道是国家行为,我觉得不行。
    技术上来说,如果你们有客户端,httpdns 之类的能解决一点。
    Sue6080
        20
    Sue6080   30 天前
    @learningman 请问你觉得不行是标榜[修复 DNS 污染]的商家吗?
    HTTPDNS...我问过百度云、阿里云、腾讯云,他门都是说这是用在安卓与 IOS 的 APP 、电脑软件上的商品,不是用在网站上的
    三间云厂商说法不一
    DNS 劫持有的说可降低,有的说可预防与阻止
    DNS 递归解析污染、DNS 缓存污染有的说无法预防,有的说只能预防缓存污染,有的说可预防与阻止...
    learningman
        21
    learningman   30 天前
    @Sue6080 #20 我说的客户端不就是“安卓与 IOS 的 APP 、电脑软件”吗。。。
    至于后者,我是觉得不行,他们可能有负责搞 ZF 关系的业务?
    Sue6080
        22
    Sue6080   30 天前
    @learningman ZF 关系是什麽意思?
    那 HTTPDNS 用在客户端,三个大间的云厂商说法不一,是要怎麽买...
    那网站的话就没有技术可以预防与阻止 DNS 递归解析污染与 DNS 缓存污染吗?
    learningman
        23
    learningman   30 天前
    @Sue6080 #22 正文府,这打不出来没办法
    对,没办法,因为需要对抗污染的不是你,而是你的用户
    httpdns 免费的也一堆,自建都行,你问技术人员吧
    Sue6080
        24
    Sue6080   27 天前
    @learningman 你可以试试用空格或引号隔开自能否打的出来
    问过运维了,他说自建 DNS 也无法控制用户使用的 DNS,因此没有用,
    httpdns 免费的不知道资安是否安全,免费的最贵,你有推荐的吗?
    learningman
        25
    learningman   27 天前
    @Sue6080 #24 cloudflare,google 都行
    Sue6080
        26
    Sue6080   27 天前
    @learningman 这样感觉结论是,只能用 HTTPDNS 预防与阻止[APP 使用域名]的 DNS 污染吗?
    就算国内用户手机网路的 DNS 是运营商自动配发的也没关系?
    另外你或身边的人有实际使用过 cloudflare,google 的 httpdns 吗?
    Sue6080
        27
    Sue6080   27 天前
    @learningman 我用检测工具检测,发现 Cloudflare 官网 https://www.cloudflare.com/
    没被 DNS 污染也没被墙耶,是否代表国内"可能"有一部份用户自行使用 CloudFlare 的 DNS?
    ---------分隔线[]---------------
    还有如果要设定免费的 CloudFlare 的 HTTPDNS 的话,需要什麽权限?(如域名设定 ns 记录、ShardHost 的管理后台等)
    learningman
        28
    learningman   27 天前
    @Sue6080 #27 你理解 DNS 是一个什么东西吗? httpdns 只不过是把传输方式换成了 https,依赖 tls 来防止中间人劫持,所以说必须要一个客户端
    Sue6080
        29
    Sue6080   26 天前
    当然知道 DNS 原理,重点是如果 HTTPDNS 可以让用户使用我方 APP 时,连线我方指定的 DNS 的话,
    那就算 APP 域名被墙还是被污染,APP 能正常使用吧?
    v2tudnew
        30
    v2tudnew   23 天前
    @Sue6080 域名污染的话 99%国内 DNS 是没用的,哪怕是加密 DNS 。
    v2tudnew
        31
    v2tudnew   23 天前
    当然也可以使用国外加密 DNS,但很多都被墙了,你需要内置很多,IOS 都允许这么做了,不过建议查询间隔优化下,很多粗制程序查询不忍直视。
    Sue6080
        32
    Sue6080   20 天前
    请问你说的国外加密 DNS(有被墙的)有哪些?
    我看 Cloudflare 没被墙的样子
    内置很多事什麽意思?
    查询间隔优化?
    粗制程序查询?
    Sue6080
        33
    Sue6080   20 天前
    @v2tudnew 请问你说的国外加密 DNS(有被墙的)有哪些?
    我看 Cloudflare 没被墙的样子
    内置很多事什麽意思?
    查询间隔优化?
    粗制程序查询?
    fengxing
        34
    fengxing   20 天前
    DNS 污染采用的方式是抢答,在核心节点部署的。
    DNS 设计的就是只接受最先接收到的 ip,后面接收到的被直接遗弃。而 dns 缓存服务因为部署在核心节点,所以必然要比正常的递归服务器快,所以会根据关键词直接返回错误的 IP 地址。
    具体的你用 dig +trace 就可以看到域名的递归过程,然后用抓包软件可以看到错误 ip 的抢答包和后面正确的包。
    v2tudnew
        35
    v2tudnew   19 天前
    @Sue6080
    我这 Cloudflare 、谷歌、AdGuard 等常用加密 DNS 都被墙了,GFW 墙的分地区,所以让你内置大量 DNS 避免失效,当然你自己建立 DNS 服务器另说(感觉最后 DNS 服务器域名都会被污染。)
    什么叫粗制程序? 间隔 8 秒查询一下 DNS ?拿到 A 解析疯狂查询 AAAA 解析?
    Sue6080
        36
    Sue6080   19 天前
    @fengxing 恩恩,那为何能被抢答成功?
    是运营商自己在运营商 DNS 中,做了哪些设定吗?
    所以[DNS 缓存污染]问题是出在运营商的 DNS 吗?
    [DNS 递归解析污染]问题是出在国内防火墙吗?
    dig+trace 是每个版本的 linux 都能使用吗?(如 Ubuntu 、CentOS 等)
    fengxing
        37
    fengxing   18 天前
    @Sue6080 #36 根据关键词抢答。
    dns 污染就是防火墙的原因,和运营商没啥关系。
    dig 是一个查询 dns 的命令行软件,linux 一般都自带,+trace 是其中一项命令。当然也有 Windows 版本,这个请自行寻找安装。
    Sue6080
        38
    Sue6080   17 天前
    @v2tudnew 请问你是怎麽查到 Cloudflare 有被墙的?
    我用 blocky 查没被墙
    内置大量 DNS->你是指域名的 ns 记录设定多个 nameserver 吗?
    间隔 8 秒查询一下 DNS,拿到 A 解析疯狂查询 AAAA 解析-->这二个设定,如果是使用某云的 DNS,应该设定不了吧?
    Sue6080
        39
    Sue6080   17 天前
    @fengxing 关键词抢答 @@?
    但是我同一个网站服务器,有多个域名网站,关键字都差不多,
    只有其中一个域名有 DNS 污染???
    dig+trace 我成功在 Windows10 安装啰~谢谢告知
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2192 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 13:34 · PVG 21:34 · LAX 06:34 · JFK 09:34
    ♥ Do have faith in what you're doing.