犯罪现场
网页服务器
我们的测试环境采用两个最常见的网页服务器:Apache和微软的Internet Information Server (简称IIS)。根据Security
Space公司在今年九月所做的调查,有二百万个网域,也就是57.9%的主机采用Apache,28.1%采用微软的网页服务器。Netcraft所做的调查也差不多。一般都是用Apache
1.3.9在Red Hat Linux系统下执行,然后用IIS 4.0在Windows NT 4.0系统下执行。另外两种服务器都有一般版本和SSL认证版本,方便我们对加密和未加密的服务器进行攻击测试。
记录文件设定
本文只探讨预设的记录功能,因为这些功能最常见(系列报导的最后一篇文章会提供我们认为最好的记录文件设定)。
IIS的预设记录文件地址在 c:winntsystem32logfilesw3svc1的目录下,文件名是当天的日期,如yymmdd.log。系统会每天产生新的记录文件。预设的格式是W3C延伸记录文件格式(W3C Extended Log File Format),很多厂商开发的相关软件都可以解译、分析这种格式的档案。记录文件在预设的状况下会记录时间、客户端IP地址、method(GET、POST等)、URI stem(要求的资源)、和HTTP状态(数字状态代码)。这些字段大部分都一看就懂,可是HTTP状态就需要解读了。一般而言,如果代码是在200到299代表成功。常见的200状态码代表符合客户端的要求。300到399代表必须由客户端采取动作才能满足所提出的要求。400到499和500到599代表客户端和服务器有问题。最常见的状态代码有两个,一个是404,代表客户端要求的资源不在服务器上,403代表的是所要求的资源拒绝服务。W3C在HTTP状态代码这个网页上对状态代码有更完整的讨论。
Apache记录文件的预设储存位置在/usr/local/apache/logs。最有价值的记录文件是access_log,不过 ssl_request_log和ssl_engine_log也能提供有用的资料。 access_log记录文件有七个字段,包括客户端IP地址、特殊人物识别符(大多空白)、用户名称(如果需要鉴别用户身份)、日期、Method Resource Protocol(GET、POST等;要求哪些资源;然后是协议的版本)、HTTP状态、还有传输的字节。