csatblogspotdotcom

Wednesday, February 24, 2016

利用DNSCrypt保护DNS traffic

简介: 什么是DNSCrypt? DNSCrypt是一个开源项目(也叫dnscrypt-proxy),官网https://dnscrypt.org/相关源码在github上,Windows版client的地址https://github.com/jedisct1/dnscrypt-proxy/blob/master/README-WINDOWS.markdown,纯命令行,也可以加上不同界面,用户侧client和server之间建立起安全通道,而server则有一个专门的列表(github和下载下来的文件里面均有,站点由多个组织提供,位于全球不同地点),命令里面加参数可以指定具体哪个server(参考https://github.com/jedisct1/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv); 另外OpenDNS(已被Cisco收购)也创建了这个开源项目的子项目(参考https://github.com/opendns?utf8=%E2%9C%93&query=DNSCrypt或者https://github.com/opendns/dnscrypt-win-client),提供Windows版客户端自带界面,所连接的server为OpenDNS自己的公共DNS; 参考(https://www.opendns.com/about/innovations/dnscrypt/ 和 https://github.com/opendns/dnscrypt-win-client) 开源DNSCrypt和OpenDNS所建的DNSCrypt子项目,二者均会在后台加装自动运行的服务,不同的是前者命令行里面手动安装,服务名为dnscrypt-proxy,后者安装软件时自动安装,服务名为OpenDNSCrypt(另外还有一个DNS Client) 为什么使用DNSCrypt? GFW等会对DNS查询进行干扰,而利用DNSCrypt能对DNS查询过程加密,就像利用SSL对http进行加密(https)一样(然而DNSCrypt加密并非SSL),对DNS查询起到保护的作用;另外一个是DNSSEC,对DNS查询进行一些认证等,也对DNS查询过程起到保护作用;DNSCrypt与DNSSEC相互补充相互配合;这里关注的是DNSCrypt; 操作过程: DNSCrypt(Windows版): 下载附件https://download.dnscrypt.org/dnscrypt-proxy/LATEST-win32-full.zip解压后管理员权限命令行进入目录执行./dnscrypt-proxy.exe -R cs-uswest2(站点名参考https://github.com/jedisct1/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv) --test=0,测试下如果OK,则安装服务./dnscrypt-proxy.exe -R cs-uswest2(站点名) --install,services.msc里面会多出一个自动启动的dnscrypt-proxy,服务开启后本地设置DNS为127.0.0.1即可使用; DNSCrypt(OpenDNS子项目的Windows版): 到https://github.com/opendns/dnscrypt-win-client点击download zip下载打包文件,安装dnscrypt-win-client-master\DNSCryptUpgrade中的最新版(如DNSCrypt-v0.0.6.msi),services.msc里面会多出一个自动启动的OpenDNSCrypt,(实际上服务启动后DNS设置为127.0.0.1即可使用),打开界面(服务没启动时打开界面后服务也会启动)后自动安全连接使用OpenDNS提供的DNS(显示所用server为OpenDNS的IP),仔细观察发现客户端启动的时候自动将DNS修改为127.0.0.1,退出时自动还原; DNSCrypt各种平台都有,包括Android,但是Android上需要修改文件系统包括创建init.d系统,比较麻烦,暂不尝试 实际使用过程中,使用OpenDNS的DNSCrypt客户端配合OpenDNS的DNS,效果比自己修改hosts文件使用静态DNS解析 会好,例如使用DNSCrypt后http://www.w3schools.com就可以打开了,之前使用修改后hosts文件也打不开

Labels: , , , ,

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home