Please enable Javascript to view the contents

上网行为被偷窥,可能吗 ??又该如何避免 ...

 ·  🕒 3 分钟  ·  ✍️ 加文 · 👀... 阅读

现如今,Internet 中几乎 95% 以上的流量,首先都是通过 DNS 查询的方式获取目标服务器 Ip 信息,而传统的 DNS 查询及应答采用 UDP 或 TCP 的明文传输,因此存在如下风险与挑战:

1> 网络监听: 尽管用户采用 HTTPs 加密的方式访问站点,而 DNS 查询应答并没有采用加密传输
2> DNS 劫持:DNS 应答数据会被篡改,用户的访问会被路由到钓鱼网站和恶意站点
3> 中间设备干扰: 源和目标间的网络设备可能会基于域名过滤数据包

为了应对以上挑战,IETF 于 2018 年 10 月,提出 DOH(DNS over HTTPs) 方案, 其实现规范为 RFC 8484,该规范通过加密传输的方式发送 DNS 查询,避免原始 DNS 协议中用户 DNS 解析请求信息被窃听或被修改的问题,以此来达到保护用户隐私的目的

传统 dns 流量的明文查询抓包截图

DOH 加密查询

公共 doh 服务器

1、阿里云

# DoH 地址
https://dns.alidns.com/dns-query

# DoT 地址
dns.alidns.com

nslookup dns.alidns.com
> 223.6.6.6
> 223.5.5.5
> 2400:3200::1
> 2400:3200:baba::1

2、腾讯云

# DoH 地址
https://doh.pub/dns-query

# DoT 地址
dot.pub

nslookup doh.pub
> 120.53.53.53
> 1.12.12.12

竟然腾讯云 doh 服务暂未提供 ipv6 网络支持,单从这点可见阿里云发展的全面性,腾讯你可得挣点气啊 !!哈哈… ( ^_^ )

3、安全公司 360 提供

# DoH 地址
https://doh.360.cn
# DoT 地址
dot.360.cn

windows 端配置 doh 的两种方式

方式一:PowerShell 命令行,且以管理员身份运行

# 查看可用 dns 安全服务器
Get-DnsClientDohServerAddress
#> ServerAddress        AllowFallbackToUdp AutoUpgrade DohTemplate
#> -------------        ------------------ ----------- -----------
#> 149.112.112.112      False              False       https://dns.quad9.net/dns-query
#> 9.9.9.9              False              False       https://dns.quad9.net/dns-query
#> 8.8.8.8              False              False       https://dns.google/dns-query
#> 8.8.4.4              False              False       https://dns.google/dns-query
#> 1.1.1.1              False              False       https://cloudflare-dns.com/dns-query
#> 1.0.0.1              False              False       https://cloudflare-dns.com/dns-query
#> 2001:4860:4860::8844 False              False       https://dns.google/dns-query
#> 2001:4860:4860::8888 False              False       https://dns.google/dns-query
#> 2606:4700:4700::1001 False              False       https://cloudflare-dns.com/dns-query
#> 2606:4700:4700::1111 False              False       https://cloudflare-dns.com/dns-query
#> 2620:fe::fe          False              False       https://dns.quad9.net/dns-query
#> 2620:fe::fe:9        False              False       https://dns.quad9.net/dns-query
备注: 以上默认提供的 doh 服务,都是由国外互联网大厂免费提供,在国内目前无法使用,除非” 使用特殊的上网方式 “,这里不便细说,懂得自然都懂 ( ^_^ )

# 添加 DOH Server 配置
Add-DnsClientDohServerAddress -ServerAddress '223.5.5.5' -DohTemplate 'https://dns.alidns.com/dns-query' -AllowFallbackToUdp $True -AutoUpgrade $True
Add-DnsClientDohServerAddress -ServerAddress '2400:3200::1' -DohTemplate 'https://dns.alidns.com/dns-query' -AllowFallbackToUdp $True -AutoUpgrade $True

# 移除 DOH Server 配置
Remove-DnsClientDohServerAddress -ServerAddress 223.5.5.5,2400:3200::1

配置项-AllowFallbackToUdp $True -AutoUpgrade $True表明,当配置该 dns server 时自动启用 dns 的加密查询,若失败可自动回退到 dns 的明文查询

方式二:windows cmd 命令行下执行,且以管理员身份运行

# 全局启用 doh,运行 dns 客户端使用 doh
netsh dns set global yes

# 查看 doh 是否启用
netsh dns show global
> DoH 设置                : enabled

# 查看可用 dns 安全服务器
netsh dns show encryption

# 添加加密 DNS 服务器模板
netsh dns add encryption server=223.5.5.5 dohtemplate=https://dns.alidns.com/dns-query autoupgrade=yes udpfallback=yes
netsh dns add encryption server=2400:3200::1 dohtemplate=https://dns.alidns.com/dns-query autoupgrade=yes udpfallback=yes

# 删除加密 DNS 服务器模板
netsh dns delete encryption server=223.5.5.5
netsh dns delete encryption server=2400:3200::1

DOH 配置后,按win + i 键打开 Windows 设置 –> 网络 & Internet --> DNS 服务器分配 --> 编辑 --> 首选的 DNS 加密 --> 选择 “已加密的首选,未加密的允许”

Chrome 浏览器设置安全 dns

windows 启用 dns 加密查询后,Chrome 端并未生效,需在 Chrome 设置 --> 隐私设置和安全性 --> 使用安全 dns 处设置 doh 服务器信息,具体设置如下图

安全 dns 设置

验证 dns 流量是否被加密

使用 wireshark 抓包,验证 dns 流量通过 DOH 方式加密 dns 查询

DOH 加密查询

1、查看本机与 dns 服务器 223.5.5.5 的网络连接

# 利用 ping 或浏览器端访问该域名,即可测试 dns 流量是否加密
ping ywjsbang.com

netstat -no |findstr  223.5.5.5
#> TCP    192.168.31.218:62137   223.5.5.5:443          ESTABLISHED     30784

# 强制终止进程 id 为 30784 的网络连接
taskkill /pid 30784 /f

备注: wireshark 抓包时,可通过 tcp.len > 1 过滤掉 payload 小等于 1 的数据包,如 tcp 握手包(0)、tcp keepalived(1)

设置手机端 dns 流量加密

1、Android 手机设置流程

打开设置 –> 搜索框输入 dns –> 私人 DNS –> 私人 DNS 提供商主机名 –> 填入 dns.alidns.com 即可

2、IPhone 手机设置类似

WARP 加密

手机端安装一个名为1.1.1.1 + WARP: Safer Internet 的 App,即可在手机上体验到更快,更安全,更私密的互联网。且该应用由 Cloudflare 提供,全球安装数 1亿+;该应用同样提供桌面版本,包括 window、macos、linux 平台

参考

window dns client 配置


加文
作者: 加文
运维工程师
版权声明:自由转载-非商用-非衍生-转载请注明出处!


目录