在BIND(Berkeley Internet Name Domain)中,拒绝服务(Denial of service,DoS)意味着服务不可用,这一漏洞一直在BIND 9中都存在。但我个人认为BIND的这个问题并不算安全漏洞,因为攻击者并不能通过它来获得系统的访问权限。
当BIND 9收到一个特殊的DNS请求包后,它就会被关闭。如果得不到DNS服务,那么就会产生一场灾难:由于网址不能解析为IP地址,用户将无方访问Internet。这样,DNS产生的问题就好像是Internet所产生的问题,这将导致大量的混乱。
远端的DoS请求关闭BIND服务可不是一件好事情,它只比远程攻击勉强好那么一点点。尽管绝大多数的商业性的UNIX发布版使用较老的BIND,我还是推荐你对照检查一下
如果你使用BIND的其它版本或者BIND的替代产品,如微软的DNS server、DJBDNS或者TinyDNS,那么你可能就不会遇到上述问题。而且,ICANN(互联网地址和域名管理机构)——一个通过多种方式,如追踪根DSN服务,来监控Internet的国际机构——不止一次表示了对Internet过于依赖BIND的关注。对任何软件产品的过分依赖都是一种安全风险,无论是何种软件或者软件发售商究竟是谁。
任何广泛的软件使用都是潜在的安全威胁,BIND也不例外。由于微软公司是最大的靶子,它应该在其软件的安全性和可靠性上做出更多的努力。这是我长期所坚持的观点。(我要强调一点,我并不是讨厌微软,我只是认为由于微软在全球的软件市场上占据了非常大的份额,因此它应该更加注重产品的安全性。)
这并不意味着我忽略的BIND的问题。Internet过于依赖BIND来提供DNS服务,但在开发的过程中,你至少可以通过下面的途径来改变上述事实:1.保证你用的是较老的、安全的BIND版本;或者2.升级到BIND
坦白的说,我很喜欢BIND的替代产品——甚至微软的DNS server——如果它能功能出色并且安全性有保障。