关于 dns 污染对 https 影响疑惑

2016-05-11 18:13:04 +08:00
 SlipStupig
假设用户 X 的本地 dns 被污染了,请求任何都会返回 A 网站的地址,假设我用 https 访问 B 网站, dns 响应 A 网站的 IP ,在这个情况下面是不是会被重定向到 A 网站上面去呢?, X 请求的数据是不是全部都可以被截取到?
8647 次点击
所在节点    DNS
18 条回复
honeycomb
2016-05-11 18:28:57 +08:00
在 PKI 可信的情况下, tls 可以让这种攻击无法获得被加密的信息
iniyk
2016-05-11 18:29:16 +08:00
A 收到的是加密的请求,因为他没有 B 的私钥,所以看不到内容
initialdp
2016-05-11 18:30:17 +08:00
DNS 污染和 HTTPS 是两个完全无关的概念。对于您的顾虑,没错, X 请求的网站会变成 A 网站。不过由于 HTTPS 会鉴权证书,此时浏览器(比如 Chrome )会告警提示证书有问题,并阻止进一步浏览,除非您傻乎乎地信赖这个由问题的证书。

基本上不太可能通过 DNS 污染来截取 HTTPS 的内容, TLS/SSL 加密不是那么容易破解的。当然,不排除某些强力机构有这种能力。
honeycomb
2016-05-11 18:30:35 +08:00
说的不对, tls 在这种情况下无法建立,因为 tls 验证服务器方的身份,伪造的服务器无法提供真实的数字证书,所以无法建立 tls 连接
linkupmylife
2016-05-11 20:11:28 +08:00
iptables -t mangle -A FORWARD ! -s 192.168.0.0/16 -p udp --sport 53 -m u32 --u32 "0x00000016&0x0000ffff@0x00000010=0x253d369e,0xcb620741,0x3b1803ad,0x0807c62d,0xf3b9bb27,0x5d2e0859,0x9f6a794b,0x2e52ae44,0x4e10310f,0x00000000" -j DROP
iptables -t mangle -A FORWARD ! -s 192.168.0.0/16 -p udp --sport 53 -m u32 --u32 "0x00000016&0x0000ffff@0x00000010=0x1759053c,0xbda31105,0x4d04075c,0xbc050460,0x364c8701,0x31027b38,0xc504040c,0xfd9d0ea5,0xf9812e30,0x76053106" -j DROP
只需两条命令, DNS 污染就没了, GFW 废了,呵呵。
nyanyh
2016-05-11 20:19:47 +08:00
@linkupmylife 这都是 4 年前的了,能不能用还不知道,何况现在运营商 dns 污染才是最大问题
SlipStupig
2016-05-11 20:34:25 +08:00
@honeycomb 就是证书不正确会被警告嘛,如果信任该证书或者在本地安装了可信证书的话是不是就能过掉呢?
jasontse
2016-05-11 20:56:03 +08:00
你这个问题和中间人攻击没有两样
qgy18
2016-05-11 20:58:10 +08:00
whoops
2016-05-11 21:05:09 +08:00
@linkupmylife
按你的方法,依然被污染啊
> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> www.github.com
Server: 8.8.8.8
Address: 8.8.8.8#53

Name: www.github.com
Address: 66.249.89.104
> www.github.com
Server: 8.8.8.8
Address: 8.8.8.8#53

Name: www.github.com
Address: 203.208.39.99
>
redsonic
2016-05-11 21:22:28 +08:00
@whoops 那个只对旁路劫持有效,现在都是串接设备甚至运营商 DNS 直接应答假数据。另外除 TCP 之外的虚假 DNS 应答都和 GFW 没关系,各地方的 DNS 已经替 GFW 先污染一次了。现在唯一有效的防污染可能就只有 dnscrypt 了,缺点是偶尔会被干扰。
micyng
2016-05-11 21:23:11 +08:00
tls 通过证书链这种方式确认对方的有效性
即只要根证书的公钥能正确签名终端证书即可,当然咯,还会验证时间有效性等

那么题主说的这种请情况,只要中间人拥有合法有效的证书, tls 会话从原理是可以建立的
whoops
2016-05-11 21:39:33 +08:00
@redsonic
就是,但纯 dnscrypt 国内网站 cdn 就废了,目前也就 dnscrypt+dnsmasq 国内域名交给国内 dns 解析,剩余的交给 dnscrypt
lslqtz
2016-05-12 03:40:06 +08:00
除了签发假的 ssl 否则 dns 污染没用。不排除某些“强力”机构有这种能力。
lixingcong
2016-05-12 09:22:43 +08:00
@whoops 我在路由器也用这个方案 dnscrypt+dnsmasq ,比 chinadns 不知道强到哪里去了!!
wizardoz
2016-05-12 13:06:01 +08:00
如果证书是正规机构颁发的,那么中间人攻击是可以避免的,因为中间人提供不正确的证书给客户端时浏览器会报错的。
KCheshireCat
2016-05-15 12:02:44 +08:00
@linkupmylife

这两条就是内置了几个污染结果,匹配到了就 DROP.

先别说前段时间污染结果改为全随机 IP 了

GFW 返回个空包,你这个也没法 DROP 掉.

已经是过时的规则了
ddup
2018-04-16 15:31:20 +08:00
真是太脆了 中间人随便都能插一刀

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

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

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

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

© 2021 V2EX