再聊 DNS 加密以及广告去除以及黑名单

DNS 黑名单其实是一个很重要的话题,很多人往往忽略。曾经在北美某电子商务大厂(不是A)和内部信息安全部门有业务交往,我们被要求管理一个 DNS 黑名单,在公司内部遇到此类域名解析,一律定向到内部的一个域名,在上面有一个 Web 页面,当然是警告了。

如果企业内部的 DNS 都是自己解析,并且能维护一个黑名单的话,基本上 90% 的网络安全事件都是可控的。 甚至还可以做很多类似 GFW 在做的事情,把 Google.com 给你一个某度的地址。

所以说,你可以脑补一下,这个 DNS 是多么神奇的事情,可以把不想给你看的东西去掉,所以,广告以及有病毒的恶意网站域名都是第一批次就被过滤的。

说了那么多,技术上怎么实现呢? 企业内部有 IT 可以做自己的 DNS 服务器,个人家庭网络,要怎么做才能过滤广告,才能安心看片呢?

基本上,你需要一个能安装 Linux 的小盒子,放在光猫旁边,把光猫的 DHCP 功能去掉,把这个 Linux 小盒子通过无线或者有线连接到光猫上,然后 Linux 上启动 DHCP 和 DNS 服务功能。

那么这个 Linux 小盒子,有哪些不同的实现形式呢?最常见的就是能刷机的路由器,例如斐讯的K2 比较常见,华硕的很多也能刷机。这里列出一个能刷 OpenWrt Linux 操作系统的最新版本的一些无线路由器列表,最后两列为 Flash 和内存是购买时要主要考虑的。

我们知道,我们上网时,一般都是要走运营商的 DNS 来解析的,就算我们不使用运营商的,很多人会使用公共 DNS 服务器, 例如 114.114.114.114,但是他们并不能保证我们的 DNS 解析是安全的,而且类似 Google 的域名也是基本被“拐”的,就算有的人知道使用 Google 的 DNS 服务器 8.8.8.8/8.8.4.4 ,但是 DNS 解析本身是不安全的,也就是说,你看过的网站,运营商还是能知道你访问了哪些网站。

那怎么解呢?我们就需要在 Linux 小盒子上安装 Go 语言编写的 DNSCrypt-Proxy 这个免费软件。通过名称就可以知道,它是对 DNS 解析做加密的,能从网络上已知的 DNS 加密服务器上做解析,完全绕过了运营商,而且做了加密。

安装了这个软件,指定了黑名单以后,你就会感觉网页是清爽很多,没有什么狗皮膏药了。

譬如我们看 YouTube,按 F12, 就可以看到很多被屏蔽的域名。

譬如我们看新浪的一则新闻,屏蔽的内容就更多

指定黑名单其实不难, git clone 项目地址,里面有一个公共的黑名单清单, util 目录下还有一个 Python 脚本能自动生成这个黑名单。

企业和个人对这个方案有兴趣的可以关注我们公众号,并留言哦!

DNSCrypt 的黑名单机制,能有效的去除广告以及恶意网站。 不过,对于有些原生的广告图片嵌入, DSNcrypt 确实还是没有效果的,因为此类广告和页面内容的域名是同一个,你总不能因噎废食,把所有正常内容都过滤掉吧。 所以 DNSCrypt 是一个小盒子上的“硬件”解决方案,对于此类特殊的过滤,还是需要浏览器里的广告去除插件来进一步净化环境。

以 Sohu.com 首页下半部娱乐版块内嵌的广告为例,这是使用了 Adblock 以后什么广告都没有的情形:

这是没有使用 Adblock 插件时,小部分广告图片依然有展示。

作者: 甬洁网络

--移动互联网&物联网技术提供商