DNS系统的安全性简述
首先要界定这个DNS系统的范围,以用户的视角,完整的DNS系统应该是从域名所有者到域名使用者之间所有内容,从功能架构的角度看,这里DNS系统包括注册管理部分和递归查询。
其次这里的安全性指应用数据的安全,不包括应用服务的可用性。
安全隐患分析:
系统级的安全隐患总是有的,如果有授权服务器的权限,就可以直接篡改注册数据,如果有递归服务器的权限,也可以改变缓存域名的结果。这个不用讨论,不是应用级别的范畴。顺便提一句,国内运营商们对域名做手脚大部分都发生在递归服务器这个环节,它们是自己的大hacker。
应用级别的安全性问题其实发生在各个子系统的边界做数据交换的地方,包括
授权服务器(注册管理部分)
1. 上级节点开放给下级节点的注册数据写入接口。
2. 同级节点内不同服务器间做数据交换接口。
递归服务器(缓存部分)
3. 递归服务器访问授权服务器
4. 最终用户访问递归服务器(包括 缓存服务之间的请求)
隐患1其实不属于DNS协议范畴,上一级的注册商需要对下一级的注册商或者域名所有者进行身份认证,需要确保提交的数据真实可靠,需要的是一个独立于DNS的授权,认证,传输加密的管理系统。很多时候新闻里提到的DNS被黑了,域名被篡改了,其实是发生在这个阶段的事故,确切的说不是DNS被黑了,而是那个注册商的管理系统被黑了,或者是某个用户自己的认证出了问题。
隐患2其实就是数据更新的问题,一个分布式的数据库,一个存储节点上的数据动态更新,一个存储节点上出于可靠性&