5.11、对策
黑客所釆取的方法,以及Adrian所喜欢用的方法,是通过运行一个Whois查询程序,从而显示很多成串的有价值的信息,信息可从四个不同的网络中心获得,这四个中心覆盖于世界的不同地区。这些数据库的大多数信息是公开的,可供每个使用Whois或登录提供该服务的b站点的人使用,以及进入如nytimes.com这样的域名就可使用。
数据库提供的信息包括:名称、邮箱地址、实际地址、域内与管理和技术联系的电话号码。这些信息可被“社会工程”入侵利用(见第10章“社交工程师的攻击手段以及防御其攻击的措施”)。另外,还可能提供邮箱地址模式的线索,以及公司的登录名。例如:如果一个邮箱地址显示为hilda@nytimes.com,那么有可能第一个名字不仅仅是该雇员而是许多时报雇员共同使用,并且有可能该名字就是登录口令。
就像Adrian入侵《纽约时报》的故事中讲的那样,那个邮箱地址还让他获得了关于IP地址和分配给时报公司的网阻的重要信息,这是他日后能够成功闯入的基石。
为防止泄密,对于公司来讲,一个有效的办法就是只给公司接线总机处电话号码清单,任何个人都没有这个清单。电话接线员必须接受强化培训,从而能迅速辨认打听消息的电话。同样邮箱地址只能公布公司的地址,而不能泄漏某个部门的具体地址。
更好的办法是:现在允许公司保密域名交流信息——连接时不再需要列出域名,这样域名也就不会成为任何人都能获得的信息。需要的话,您公司的列表会变得晦涩难懂,这对入侵者来说就更为困难了。
这个故事中还提到了另一个很有用的小诀窍:设置分开的域名服务器。这包括在内部网建立一个内部DNS服务器来解析内部主机名,同时在外部网建立一个DNS服务器,其中包括用于公共主机的记录。
在另一种搜索方法里,黑客会询问授权的域名服务器,以了解公司计算机的类型和操作系统平台,以及能映射出整个目标域的信息。这一种信息对进一步入侵非常有效。域名服务器数据库可能包含了主机信息的记录(HINFO),从而有可能泄漏。网络管理员必须避免在任何公用可登录的DNS服务器上公布主机信息记录。
另一个黑客玩的把戏是利用一个叫“区域转移”(zone transformation)的程序。(虽然未成功,Adrian说他在入侵《纽约时报》和Excite@home时,试过这种办法。)为了保护数据,主DNS服务器通常设置成允许其他授权服务器为某个特别网域复制DNS记录。如果主服务器设置不妥,黑客则以启动“区域转移”转到他或她指定的任何计算机上,用这种方法,能轻易获得所有指定的主机和网域相关的IP地址的详细信息。
阻止这种攻击的常用方法是:在业务操作时,只允许可信任的系统间进行必要的区域转移。讲得更具体的一点就是:DNS主服务器必须设置成只允许转移到可信任的二级DNS服务器上。
另外,任何公司名字服务器(name server)内,必须使用一个默认的防火墙阻止TCP端口53的登录。另一个防火墙被设置成只允许可信任的二级名字服务器(name server)连接TCP端门53和启动区域转移。
公司必须釆取措施,使黑客使用的反向DNS查找技术变得困难。如果使用主机名非常方便,那么同时这个主机使用的是什么也就会变得透明——像数据库名。如Companyx.xom——这使入侵者发现有价值的目标系统信息非常容易。
其他DNS反向查找技术包括目录攻击(dictionary attack)和蛮力攻击。例如:如果目标域是kevinmitnick.com,目录攻击会将目录中的所有单词置于域名前(给所有域名加上目录词条前缀),以这种形式出现:dictionaryword.kevinmitnick.com,以确认该域内的其他主机。蛮力攻击与此相反。攻击DNS更为复杂:它的前缀是一连串的字母和数字字符,每循环一次,字符就增加一个。对付这种入侵,公司DNS服务器可设置成这样:可以消除任何内部主机名的DNS记录。除了内部服务器外,还可使用了一个外部DNS,这样内部主机名不会泄露给任何不信任的网络。另外,分离内外部名字服务器在解决有关主机名问题上也有很多好处:内部的DNS服务器,因受到防火墙的保护,可以使用确定的主机名,如数据库、搜索和备份等,而不用担心危险。
Adrian能够通过观察一封邮件的邮件头(header)而获得有关时报的有价值的信息,邮件头会显示内部IP地址。黑客蓄意发送邮件获得这类信息,或搜索公共新闻组来查找邮件消息,这同样能泄密。这些邮件头包含丰富的信息,有内部使用命名惯例、内部IP地址、邮件的使用路径等。为防止这些,公司必须设置简单邮件传输服务协议(SMTP)服务器,过滤对外邮件里的内部IP地址或主机信息,防止内部身份公诸于世。
Adrian的主要武器是他有寻找错误设置的代理服务器的天分。回想一下,代理服务器的一个作用是:让可信任的计算机网络用户使用不可信任的网络资源。内部用户为某个特定的网页提出请求,这个请示发送到代理服务器,代理服务器代表用户发送这个请求,并将给用户返回回复。
为了阻止黑客用Adrian的方式获取信息,代理服务器要设置成只在内部接口上侦听。或者,只接受来自外部IP地址的可信任的授权接口。那样的话,非授权外部用户根本无法连接。一个普遍的错误是将服务代理设置成接受所有的网络接口,包括外网的接口。相反,代理服务器必须设置一组的特殊的IP地址,这组IP地址是为保密网络而不被IANA(Intemet Assigned Number Authority)分配的,这里有三组私有IP地址:
10.0.0.0——(through)10.255.255.255,
172.16.0.0——172.31.255.255,
192.168.0.0——192.168.255.255。
利用端口控制来限定代理服务器的服务也是一个好办法,如限定向外连接到HTTP(Web访问)或HTTPS(安全Web访问)。为进一步控制,一些使用加密套接字协议层(SSL)的代理服务器可以设置成检查连接的起始状态,然后确认未授权的协议不能通过授权端口。采取这些步骤能缩小黑客从错误使用的代理服务器连接到未授权的服务器的范围。
安装和设置好代理服务器后,必须检测它的脆弱性。只有通过检测才能确认是否存在漏洞。免费的代理检测软件可从网上下载。另外要说明的是:因为用户在安装软件包时,有时也安装了代理服务器软件,而用户并不知道。公司安全措施要提供常规检查程序,以检查意外安装的未授权的代理服务器。你可以使用Adrian所钟爱的工具,Proxy Hunter来检测自己的网络。记住,那些错误设置的代理是黑客的好朋友。
其实大量的黑客侵袭都可以通过遵循好的安全措施和忠于职守来防范。但是很多公司总是因为忽视偶然安装的开放代理而使自己的系统存在大的缺陷。这个问题不知这样提醒够不够!