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

2023-05-09 14:34:05 +08:00
 function2256

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

2648 次点击
所在节点    宽带症候群
18 条回复
fvladlpa
2023-05-09 14:37:10 +08:00
域名被反诈了有可能。
Kinnice
2023-05-09 14:42:04 +08:00
只能打电信投诉没有其他办法了吧?
1. 打电话投诉也无解
3. 域名备案+服务器迁到国内可解
yyzh
2023-05-09 15:51:04 +08:00
反诈+1 别想了
function2256
2023-05-09 15:57:03 +08:00
@Kinnice 不应该啊,我记得反诈是跳到一个反诈页面,这个是直接跳到别人网站去了。而且我换了域名也很快被劫持总不会是 ip 被污染了吧,如果是 ip 被污染指定 ip 的域名都被劫持那么是不是换个新 ip 和新地址就解决了呢
function2256
2023-05-09 15:59:33 +08:00
@fvladlpa 谢谢,但是是跳到另外另外一个别人的网站不是反诈网站。换了地址也很快被劫持这就不应该啊,而且我过一次解析到 cf 就不会了,会不会因为是 ip 被污染所以换域名没用
yushiro
2023-05-09 16:36:46 +08:00
启用了 SSL 还被劫持??那还要造什么墙啊,全部给你中间人不就好了?
你查查是不是你本机被装了什么不干净的软件
function2256
2023-05-09 16:50:17 +08:00
@yushiro 不会的,我用在线 ping 工具查询显示的也是被劫持,极少个别地区被劫持,不可能别人也装了不干净的软件吧,这个是在网络层出现的劫持
Lentin
2023-05-09 20:19:11 +08:00
运营商的 dns 缓存? 净网云剑 微信小程序查查你的域名呢
mytsing520
2023-05-09 22:53:17 +08:00
所以你的域名是啥
acbot
2023-05-10 09:06:17 +08:00
到底是域名解析结果就有问题还是域名解析结果是对的只是最后跳转到了别人的网站? SSL 仅仅是验证和保证你和已经连接的服务器通讯是否正常,DNSSEC 需要客户端使用的 DNS 支持才行。你可以在现有域名上做一个其他的二级域名解析一个其他的 ip ,观察一下这个域名在你说的区域劫持是否正常。还有就是最好找一些你觉得有问题区域的宽带实际测测,像 ping 网站 这种检测不一定准确也就是仅仅就是他用的 DNS 可能有问题
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
2023-05-10 18:38:24 +08:00
@acbot 非常感谢您的建议,我反复测试了确实有你说的检测不准的情况。但是有个疑问我测试多个 ping 网站这些网站返回的 ping 结果确实都有个别地区解析到其他 ip 的情况(而且都是同一个 ip),但是这些被劫持的地区节点我单独拧出来单独 ping 却有发现返回 ip 正常了。可是我之前明明没有测试过排除了是缓存的情况。我测试 ipip 和 17ce 和 boce 这三个网站都是一样。第二次单独拧出来 ping 就正常的,那么结论是不是运营商只劫持用户第一次请求呢?毕竟后面用户会缓存 dns 。而工具我猜第二次请求是强制无缓存的所有第二次 ping 就变成正常的呢
function2256
2023-05-10 18:50:51 +08:00
@baobao1270 对的,感谢您的科普,HSTS 相当于就是老用户(访问过一次)可以不被跳转。而新用户是无效的。我没有开启 hsts ,所以现在不管新老用户只要被劫持打开地址就会提示不是私密链接(谷歌和火狐浏览器是这样)但不会被跳转,刚开始我还以为是我证书被篡改了。而像 360 uc 这种浏览器器虽然也不会但是可以点击继续访问就可以跳转到劫持者的网站去了,所以我觉得谷歌火狐浏览器在安全性这一块才是最合理安全的
acbot
2023-05-11 09:25:52 +08:00
@function2256 因为 ping 网站实现方式不一定相同所以不准的原因很难说清楚!
daisyfloor
154 天前
@baobao1270 你好,我最近在学习 DNSSEC 和 HSTS 相关知识,这里有有 2 个问题请教
1 、如果递归 DNS 服务器(比如运营商的)都不开 DNSSEC 验证。那网站域名管理安全设置里开启 DNSSEC 还有什么意义呢?(我刚打开 CF 里的 DNSSEC 选项还在等待生效中。。看到你这里的解答,现在很困惑)

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

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


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

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

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

请指教~
daisyfloor
152 天前
@baobao1270 我又查了查资料,问了问 AI ,大概清楚了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/938598

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX