我们在本章中已经多次看到,目录是对抗窥探性的剖析的第一条防线。有多种技巧能够对目录保密。
Location首部
你可以在重定向中限制Location首部的内容,这样它就不会显示Web服务器的IP地址,这个地址可能指引攻击者找到错误配置或者有漏洞的单独服务器。
默认情况下,IIS返回其IP地址。为了返回完全限定域名,你必须修改IIS元数据库。Adsutil.vbs脚本默认安装在Windows系统上的Inetpub\adminscripts目录:
D:\Inetpub\adminscripts\adsutil.vbs set w3svc/UseHostName True D:\Inetpub\adminscripts\net start w3svc
Apache能够阻止目录枚举。在编译期间删除mod_dir模块,这种修改很简单:
[root@meddle apache_1.3.23]# ./configure --disable-module =dirConfiguring for Apache, Version 1.3.23
目录结构和安排
下面是关于Web目录安全的其他一些技巧:
·不同的user/administrator根目录:为用户和管理员界面使用不同的Web文档根目录,如下一页所示。这能够减轻针对应用功能的源代码泄露攻击和目录遍历攻击:
/main/ maps to D:\IPub\pubroot\ /admin/ maps to E:\IPub\admroot\
·IIS:将InetPub目录放置在与系统根目录不同的卷上,例如在C:\WINNT系统上的D:\InetPub。这避免目录遍历攻击延伸到\WINNT\repair\sam和\WINNT\System32\cmd.exe这些敏感文件。
·UNIX Web服务器:在chroot环境中放置目录。这能减缓目录遍历攻击的影响。