渗透测试步骤

(1)使用以下方式向根目录提交GET请求:

img002 正确的Host消息头;

img002 随意Host消息头;

img002 Host消息头中的服务器IP地址;

img002 无Host消息头。

(2)对这些请求的响应进行比较。常见的结果是,在Host消息头中使用一个IP地址可获得目录列表。还可以获得各种默认内容。

(3)如果观察到不同的行为,使用生成不同结果的Host消息头重复应用程序解析过程。一定要使用-vhost选项进行一次Nikto扫描,确定在最初的应用程序解析过程中忽略的任何默认内容。

18.1.7 保障Web服务器配置的安全

从本质上讲,保障Web服务器配置的安全并不困难;通常,疏忽大意与缺乏安全意识是造成问题的主要原因。最重要的是必须充分了解所使用的软件的文档资料及有关的强化指南。

就需要解决的常见配置问题而言,确保包括以下所有领域。

img002 如有可能,修改所有默认证书,包括用户名和密码。删除任何不必要的账户。

img002 在Web根目录的相关路径上应用访问控制列表(Access Control List,ACL),或者对非标准端口设置防火墙,阻止公众访问管理接口。

img002 删除所有实现商业目的并不完全需要的默认内容与功能。浏览Web目录中的内容,确定任何遗留的项目,使用Nikto工具进行重复检查。

img002 如果需要保留任何默认功能,尽量对其进行强化,禁用不必要的选项与行为。

img002 在所有Web目录中查找目录列表。如有可能,在一个控制整个服务器的配置中禁用目录列表。还可以确保每个目录包含服务器默认提供的index.html文件。

img002 除应用程序常用的方法外(通常为GET与POST方法),禁用其他所有方法。

img002 确保没有将Web服务器配置为代理服务器。如果确实需要这项功能,应尽量强化其配置,只允许它连接可合法访问的特定主机与端口。还可以执行网络层过滤,以此作为另一层防御,控制Web服务器向外发出的请求。

img002 如果Web服务器支持虚拟主机,确保在默认主机上实施服务器采用的所有安全强化措施。执行前面描述的测试,证明确实实施了安全强化。