可以使用命令“tail -f error_log” 对任何问题持续监视。要了解服务器上发生了什么,就必须检查日志文件。虽然日志文件只是记录已经发生的事件,但是它会让你知道服务器遭受的攻击,并帮助你判断是否提达到了必要的安全等级。一些例子:
上例会列出试图使用Apache Tomcat Source.JSP Malformed Request Information Disclosure Vulnerability的攻击次数。下例会列出最后十个被拒绝的客户端:grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log
grep "client denied" error_log | tail -n 10
可见,日志文件只是记录已经发生的事件,所以,如果客户端可以访问.htpasswd文件,而且在访问日志中发现类似如下的记录:[Thu Jul 11 17:18:39 2002] [error] [client foo.bar.com] client denied by server configuration: /usr/local/apache/htdocs/.htpasswd
这可能表示服务器配置文件中的下列指令已经被注解了:foo.bar.com - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1"
4 检查Apache服务器模块问题<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
如果Apache服务器可以启动,但是某些功能无法实现,比如前面介绍的Webdav 功能,通常是提供这个功能的模块没有加载,此时可以使用命令:“httpd -M”查看模块加载情况。
它会输出一个已经启用的模块列表,包括静态编译在服务器中的模块和作为DSO动态加载的模块。也可以使用浏览器访问http://192.168.1.12/server-info/?list 获取如图2 。

图2 模块加载情况