“隐藏”的安全
进一步的安全
好了,这样一来你就需要设置一台主机掌管公共访问的Web站点而且你确定要使用IIS这种Web服务器。假使你已经安装了所有的可用的补丁,改变了管理员的登录名(不再是administrator,而是一个不容易猜测的名称),而且你还为其创建了一个不是过于简单的口令,卸载了你绝对不需要的任何程序或服务,并且将你的Web服务器放在一个DMZ的合理位置。这是一个很好的开始,不过还远远不够。
默认情况下,IIS 6.0是被锁定的。虽然默认安装只能将静态的页面内容提供给访问者(ASP.NET 和 FrontPage Server Extensions 需要手动设置启用),Windows系列产品简单易用的另外一面是容易受到利用,不管是出于什么目的。要解决这个问题,可以下载并运行Microsoft Baseline Security Analyzer (MBCA)。MBCA会查看你的系统并比较彻底地发现一些错误的安全设置,希望在别有用心的人发现之前你能解决这些问题。
还有一点,IIS不仅仅是一个Web服务器,而是一个互联网服务的整套组件。FTP、SMTP,NNTP和其它的服务也都包含在这个组件中。
默认地,匿名用户能够以一个名为IUSR_yourcomputername的用户名访问你的系统。要确保你正使用NTFS(这要远比FAT32安全),而且要保证NTFS对这种用户的访问权限可能的严格。只有在不得不为匿名用户放开写权限时,你才能这样做。
所有这些都假定我们正在谈论的是一个可被公众访问的web服务器。如果你的机器只能被已知的用户访问,你就应该完全禁用匿名用户的访问,并且考虑只允许特定的IP地址的连接。如果你对此不太了解,可到微软的网点找到相关的链接,根据其易于操作的文档进行。
“隐藏信息”成就的安全
首先,需要强调,我并不是提倡通过隐藏某些信息作为防御的唯一手段。只通过隐藏这种手段,与没有采用什么安全措施没有什么两样。然而,如果将其与本文介绍的其它的方法结合起来,它就会很有用处。如果用这种手段能够阻止25%的可能的黑客,这不是很有意义的事情吗?
记住,黑客用以攻击的手段与其所检测到的Web服务器的版本是息息相关的。如果你能隐藏正在使用IIS的这个事实,那么,你就会挫败一些攻击者的险恶居心,这要比在发现攻击之后再进行阻止要强多了。
真得感谢微软,其IIS 6.0并没有允许远程用户通过一个简单的与80端口的telnet请求而使其得到IIS的版本。不过,还是有些细节会透露出使用的是IIS软件。例如,默认的“under construction”(正在建设中……)页面(只要安装了IIS就会创建)就会提及“IIS”这个名称,正如默认的错误页面(404,etc)所显示的那样。因此,立即修改这些文件并隐藏这种信息!
此外,如果这不是一个可被公共访问的服务器,可以考虑将IIS与一个非标准的端口绑定。一种简单的攻击方法会首先确定80端口是否可用。不过,如果某个家伙如果扫描你计算机的所有端口试图找到IIS,你可能会花费额外一些时间来检测和阻碍这种攻击。
网友评论