万圣节前夕思考对你的网络基础设施可能造成的威胁并且采取措施增强你的网络组件以防止攻击和事故的发生是很合适的时间。当你评估你的网络基础设施的时候,不要忘了域名系统(DNS)这个最神秘的网络技术。攻破你的域名服务器,你的互联网连接就会中断或者你的用户就会被引导到竞争对手那里。它甚至能够通过一个中继邮件服务器把敏感的电子邮件发往其它的地方,或者把你的用户引导到一个假冒的流行网站,让那个网站捕获你敲击键盘的动作并且偷窃你的用户名和密码。这可能就是令人恐惧的万圣节!
Infoblox最近赞助Measurement Factory公司进行了一项研究,以确定互联网上的域名服务器如何容易受到各种类型的攻击。这个研究结果令人震惊。在调查的130万台域名服务器中,75%以上的域名服务器允许任意的IP地址发出的循环查询。这种域名服务器比那些不允许循环查询的域名服务器或者仅允许对一套授权的查询设备提出循环查询的域名服务器更容易受到缓存投毒(cache poisoning)攻击。大约40%接受调查的域名服务器允许来自任意IP地址的区域传送。这种情况可能被利用对域名服务器实施拒绝服务攻击。所有的为一个特定区域服务的域名服务器都在一个相同的24小时工作的网络上,这样,很可能出现意外的或者故意的拒绝服务攻击。
下面提供一个安全措施列表,你可以采取这些措施确保你的DNS基础设施的安全:
1.循环查询仅限于授权的查询者或者完全关闭这个功能。你建立域名服务器是为了一个独特的目的:答复有关你的区域的查询,为你的内部解析器和域名服务器提出的有关互联网域名的查询提供服务,或者为这两项任务服务。如果你的域名服务器专门为回答互联网上的其它域名服务器的查询而设置的,没有其它的任务,你就关闭循环查询。如果你的域名服务器专门为内部用户解析互联网域名,你可以把查询仅限于内部的IP地址。如果你的域名服务器要完成上述两项任务,可以考虑把这两项功能分别安排在两套域名服务器中,并且确保每一套域名服务器的安全。如果你不能把这两个功能分开,至少要把循环查询限制在你的内部IP地址范围内。
2.把区域传送限制在授权的备用域名服务器中。大多数互联网用户不需要从你的域名服务器传送整个区域。(有一些例外:例如,有些DNS注册要求能够传送他们注册的域名服务器的区域。)如果可能的话,可以使用TSIG(传输签名)把区域传送限制在你的域名服务器的授权的备用域名服务器中。在没有区域传送任务的备用域名服务器中,你要完全关闭这个功能。
3.使用转发器限制暴露内部网络。你可以通过让你所有的内部域名服务器直接与互联网上域名服务器沟通的方式来提供互联网域名解析。但是,如果你的域名服务器存在一个能够让黑客使用恶意软件攻破的安全漏洞,你要做很多工作升级你暴露的全部域名服务器。你可以使用指定为转发器的一小套域名服务器传送互联网域名解析。这个传送过程可以在内部和外部防火墙之间进行。这样,任何的黑客突破都会被隔离,并且不会暴露你的内部网络。
4.运行最新的域名服务器软件。我们的研究还显示,在接受调查的域名服务器中,只有一半的域名服务器运行最新的域名服务器代码。旧的域名服务器有很多软件瑕疵和安全漏洞,因此升级当前版本的软件是明智的。对于BIND域名服务器软件来说,可以升级到9.2版或者甚至升级到9.3版。
5.确保平台安全。域名服务器软件本身并不总是黑客用来攻击域名服务器的目标。除了保证域名服务器的安全之外,你还需要确保重要的操作系统的安全。你必须要关闭不必要的网络服务,例如撤销不必要的账户。(当然,如果你购买一台设备,那台设备会为你完成这个任务。)
6.检查你的工作。BIND域名服务器软件对于句法是非常敏感的。在区域数据文件或者“named.conf”设置文件中的表面上没有恶意的错误能够产生惊人的后果,造成对查询的应答出现SERVFAIL(远程服务器错误),甚至会造成你的域名服务器无法重新启动。最新版本的BIND软件有两个非常宝贵的工具,名为“checkconf”和“named-checkzone”。你可以使用这些工具在重新装载程序之前检查“named.conf”设置文件的句法和区域数据文件。或者使用一个图形界面接口使你避开基本句法的复杂性。
7.限制管理性访问。在主机上运行域名服务器的时候,你要确保只有授权的用户才能够进行管理性的访问并且记录他们的活动。这在Unix和Linux主机上是很复杂的。在上述操作系统中,拥有根权限的用户能够做一切事情。但是,你的操作系统也许支持更多的局部管理性访问或者你可以使用“sudo”命令进行配置。有些商业性产品也提供这些功能。
(DVOL本文转自:中国DV传媒 http://www.dvol.cn)