为了保证大脑活性,多写日记。
两个个目的:
- 最重要的是过滤18禁内容
- 给他灌输点上网的安全/隐私意识
之前版上推荐了pi-hole,我还没有设置,但是测试了几个DNS filter,都有局限。
- Orbi 路由自带的app,相当于路由端的DNS filter过滤。主要问题是对搜索引擎预览没有屏蔽,成人网站会有一些简短文字出现在结果页面,图片搜索更是完全自由。
- controlD,这个DNS服务可以设在路由端,OS层面,或者浏览器DoH,问题跟上面一样。
一番折腾发现两个方案:
- 有浏览器插件,可以识别屏蔽搜索结果里面的图片。但是这取决于它的支持范围,我试了主流搜索引擎还好,但是search.brave.com就裸奔了。
- Brave浏览器内置了一个CleanBrowsing DNS filter,效果非常好!它在有的引擎强制安全搜索,成人图片和文字一点都不会显示,在brave.com则是禁止页面图片显示。这个服务单独使用好像没有免费的,这个可能是跟Brave的商业合作。
但是这个CleanBrowsing DNS有个问题,对成人网站的过滤不全。我尝试了某中文成人网站,毫无问题。controlD可以屏蔽这些中文网站,但是又不能处理搜索结果。这就是DNS filter的一个弱点,没办法多个服务叠加(也可能有比较麻烦的解决方案),蹭强覆盖。
所以需要充分屏蔽的话,要么网站屏蔽全面的DNS filter + 浏览器插件block搜索结果,要么综合效果不错的DNS filter+ 浏览器插件做进一步过滤。考虑简单靠谱,我想干脆用个白名单插件,慢慢加网站名单就好,这样配合CleanBrowsing DNS基本完美了。
现在还有最后一步,锁定用户更改浏览器设置。没想到这看似简单的一步,花了我一大半时间。简单总结:
- 用修改配置文件权限的方法对brave浏览器不work。即使把配置文件所有权设置给root,其他用户无任何权限都不能,总是会重置为普通用户的rw权限。
- brave没有任何配置锁定的支持。有个supervision password的feature request,还不知道哪年实现。
- 配置文件权限修改大法可以锁定firefox的配置,但是firefox没有内置CleanBrowsing DNS那样可以完美处理搜索引擎结果的DoH服务,而这个服务自己配置的话还要收费。
- 可能有更复杂的方案,类似SElinux的一些feature可以达到这个效果,暂时没工夫折腾了。
做到这里发现DoH是个重大问题:本来这是方便用户在浏览器层面设置DNS filter,但是如果是想用DNS限制用户的访问,这反而成了一个漏洞:用户只需要用个公众DNS地址做DoH,就可以bypass 其他的安全设置,pi-hole啥的都吃鳖了
最后觉得就这样了,用CleanBrowsing DoH完成主要功能,同时在OS 配置层面配置了controlD的DNS,万一有啥应用也集成web程序也能有些保护。如果小朋友学会改DoH设置的时候,估计也能从其他渠道,比如朋友的电子设备访问那些网站了。