V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
function2256
V2EX  ›  宽带症候群

域名被劫持,启用 SSL 和 DNSSEC 都不行,啥情况

  •  
  •   function2256 · 2023-05-09 14:34:05 +08:00 · 2632 次点击
    这是一个创建于 593 天前的主题,其中的信息可能已经有所发展或是发生改变。

    只有个别地区电信会劫持,跳转到另外一个完全不相关的网站。 换过不同 dns 服务器无效,开启 DNSSEC 也无效,始终被解析到另外一个不相关的 ip 里,换了个域名不超过一星期也一样立马被劫持。 这种情况是不是电信在搞鬼,只能打电信投诉没有其他办法了吧?

    18 条回复    2024-08-01 02:02:12 +08:00
    fvladlpa
        1
    fvladlpa  
       2023-05-09 14:37:10 +08:00
    域名被反诈了有可能。
    Kinnice
        2
    Kinnice  
       2023-05-09 14:42:04 +08:00
    只能打电信投诉没有其他办法了吧?
    1. 打电话投诉也无解
    3. 域名备案+服务器迁到国内可解
    yyzh
        3
    yyzh  
       2023-05-09 15:51:04 +08:00 via Android
    反诈+1 别想了
    function2256
        4
    function2256  
    OP
       2023-05-09 15:57:03 +08:00
    @Kinnice 不应该啊,我记得反诈是跳到一个反诈页面,这个是直接跳到别人网站去了。而且我换了域名也很快被劫持总不会是 ip 被污染了吧,如果是 ip 被污染指定 ip 的域名都被劫持那么是不是换个新 ip 和新地址就解决了呢
    function2256
        5
    function2256  
    OP
       2023-05-09 15:59:33 +08:00
    @fvladlpa 谢谢,但是是跳到另外另外一个别人的网站不是反诈网站。换了地址也很快被劫持这就不应该啊,而且我过一次解析到 cf 就不会了,会不会因为是 ip 被污染所以换域名没用
    yushiro
        6
    yushiro  
       2023-05-09 16:36:46 +08:00 via iPhone
    启用了 SSL 还被劫持??那还要造什么墙啊,全部给你中间人不就好了?
    你查查是不是你本机被装了什么不干净的软件
    function2256
        7
    function2256  
    OP
       2023-05-09 16:50:17 +08:00
    @yushiro 不会的,我用在线 ping 工具查询显示的也是被劫持,极少个别地区被劫持,不可能别人也装了不干净的软件吧,这个是在网络层出现的劫持
    Lentin
        8
    Lentin  
       2023-05-09 20:19:11 +08:00 via iPhone
    运营商的 dns 缓存? 净网云剑 微信小程序查查你的域名呢
    mytsing520
        9
    mytsing520  
       2023-05-09 22:53:17 +08:00
    所以你的域名是啥
    acbot
        10
    acbot  
       2023-05-10 09:06:17 +08:00
    到底是域名解析结果就有问题还是域名解析结果是对的只是最后跳转到了别人的网站? SSL 仅仅是验证和保证你和已经连接的服务器通讯是否正常,DNSSEC 需要客户端使用的 DNS 支持才行。你可以在现有域名上做一个其他的二级域名解析一个其他的 ip ,观察一下这个域名在你说的区域劫持是否正常。还有就是最好找一些你觉得有问题区域的宽带实际测测,像 ping 网站 这种检测不一定准确也就是仅仅就是他用的 DNS 可能有问题
    baobao1270
        11
    baobao1270  
       2023-05-10 11:05:35 +08:00
    SSL 对 DNSSEC 对运营商级别的域名劫持都无能为力

    DNSSEC 是在递归 DNS 上验证的,当然也可以选择传播到终端设备。如果递归 DNS 服务器开启了验证,那么 DNSSEC 校验不通过,会向终端设备返回 Server Fail 。如果终端设备开启了 DNSSEC 验证,那么会尝试获取递归 DNS 传播的 DNSSEC 记录,获取不到就无法上网。由于很多企业网络的 DNS 选择不传播,所以大多数系统的 DNS 都是默认关闭 DNSSEC 校验的。这样的话,如果运营商要搞你,在自己的递归 DNS 上设置不验证你的 DNSSEC 就可以劫持你的网站了。

    SSL 也没有用,因为你的 DNS 已经被劫持到其他服务器了。你的服务器根本没有 SSL 握手信息。而劫持服务器只要不开启 HTTPS 端口,只开 HTTP 端口,就可以让浏览器 fallback 到未加密的 HTTP 。即使有 HSTS ,如果没有加入浏览器的 HSTS Preload List ,那么因为缺少第一次请求传递 HSTS Header 的过程,也会被劫持。除非用户开启浏览器的 HTTPS Only 模式,才会显示 CONNECTION RESET 。
    function2256
        12
    function2256  
    OP
       2023-05-10 18:38:24 +08:00
    @acbot 非常感谢您的建议,我反复测试了确实有你说的检测不准的情况。但是有个疑问我测试多个 ping 网站这些网站返回的 ping 结果确实都有个别地区解析到其他 ip 的情况(而且都是同一个 ip),但是这些被劫持的地区节点我单独拧出来单独 ping 却有发现返回 ip 正常了。可是我之前明明没有测试过排除了是缓存的情况。我测试 ipip 和 17ce 和 boce 这三个网站都是一样。第二次单独拧出来 ping 就正常的,那么结论是不是运营商只劫持用户第一次请求呢?毕竟后面用户会缓存 dns 。而工具我猜第二次请求是强制无缓存的所有第二次 ping 就变成正常的呢
    function2256
        13
    function2256  
    OP
       2023-05-10 18:50:51 +08:00
    @baobao1270 对的,感谢您的科普,HSTS 相当于就是老用户(访问过一次)可以不被跳转。而新用户是无效的。我没有开启 hsts ,所以现在不管新老用户只要被劫持打开地址就会提示不是私密链接(谷歌和火狐浏览器是这样)但不会被跳转,刚开始我还以为是我证书被篡改了。而像 360 uc 这种浏览器器虽然也不会但是可以点击继续访问就可以跳转到劫持者的网站去了,所以我觉得谷歌火狐浏览器在安全性这一块才是最合理安全的
    acbot
        14
    acbot  
       2023-05-11 09:25:52 +08:00
    @function2256 因为 ping 网站实现方式不一定相同所以不准的原因很难说清楚!
    daisyfloor
        15
    daisyfloor  
       146 天前
    @baobao1270 你好,我最近在学习 DNSSEC 和 HSTS 相关知识,这里有有 2 个问题请教
    1 、如果递归 DNS 服务器(比如运营商的)都不开 DNSSEC 验证。那网站域名管理安全设置里开启 DNSSEC 还有什么意义呢?(我刚打开 CF 里的 DNSSEC 选项还在等待生效中。。看到你这里的解答,现在很困惑)

    2 、如果递归 DNS 服务器开启了验证,那么如果验证不通过,客户端的表现是什么呢?,比如浏览器里红字警告提醒?或者直接打不开?,不会是什么提醒也没有直接去了“被掉包”的 ip 了吧?

    额。。打完这些字,更困惑了。
    baobao1270
        16
    baobao1270  
       144 天前
    @daisyfloor
    1. 只要中间链路有一个 DNS 服务器开了 DNSSEC 就行,比如刷了 OpenWrt 可以在路由器上打开,还有 Linux 的 systemd-resolved 也支持验证(支持要求验证、仅报告验证错误、关闭三种模式)。可惜的是 macOS 和 Windos 都不支持强制验证。然后国外主流的 DoT 都上 DNSSEC 验证了。
    另外你的 DNSSEC 还在等待生效,建议看看 DS 记录添加没有(在域名注册商处添加)。
    2. 看服务器,有的服务器返回 NXDOMAIN ,有的返回 SERVFAIL ,有的返回空记录。总之就是无法正常打开,浏览器上看来和域名解析失败一样。Firefox 可以设置 flag 让浏览器自己做认证,不过的话会提示 DNSSEC 认证失败。
    daisyfloor
        17
    daisyfloor  
       143 天前
    @baobao1270 谢谢你的回复。我的 DNSSEC 配置方面已生效了。大概用了 24 个小时多。


    对于 1 我理解应该是得全链路打开,这里描述一种极端情况:比如是这种路径:我家电脑-市级运营商的 DNS-A-省级运营商的 DNS-B--》根 DNS 去查询...

    假设 DNS-B 这个开了 DNSSEC 校验,但是 DNS-A 没有开,然后进行说故意污染: 我的查询请求 都没到 B ,到 A 的时候就给我缓存里返回污染结果了。那么就没起到保护作者用。

    换句话说,就是我和我请求的带 DNSSEC 校验的解析器的链路得是安全的。(这种安全可以理解为比如物理上的直连,比如自己家里的路由器或者 DNS 解析服务器,或者通信上是加密的),像上面这个就不是,我和 B ,中间隔了一个 A 它做了手脚。

    请指教~
    daisyfloor
        18
    daisyfloor  
       143 天前
    @baobao1270 我又查了查资料,问了问 AI ,大概清楚了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2766 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 14:50 · PVG 22:50 · LAX 06:50 · JFK 09:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.