HTTP Server 响应请求时会给出Server信息,例如:
Server: Apache-Coyote/1.1
这个Banner给入侵者提供了一定的指示作用。为了安全起见,要求更改这个信息,以起到一定的迷惑作用。
这篇文章给出了常用HTTP Server的 Banner修改方法:
http://blog.csdn.net/cnbird2008/archive/2009/02/04/3862876.aspx
对于很多种服务器,并没有提供配置的方式来修改Banner,所以可能需要修改原码以达到目的。
对于Tomcat而言,有一个取巧的方法。以Tomcat 5.5为例:
可以直接修改 <Tomcat_HOME>/server/lib 下的 tomcat-http.jar 中, org/apache/coyote/http11/Constant.class文件。
具体方法是:找到 tomcat-http.jar 文件,用winrar打开(不是解压缩),再找到其中的 Constant.class文件,将其解压到一个临时目录,使用二进制编辑器,如UltraEdit,打开,找到字符串 Apache-Coyote/1.1,直接修改成一个迷惑性的名字,例如:
Server: Unknown haha!Vx.x
保存,使用这个修改过的Constant.class替换 tomcat-http.jar 中原来的文件(在Windows下,把修改过的 Constant.class 直接拖动到winrar窗口中Constant.class的位置 即可).
完成后可以测试一下:
telnet <hostname> <port>
GET / HTTP/1.1
结果:
...
Server: Unknown haha!Vx.x
Transfer-Encoding: chunked
...
这样,攻击者便不容易得到HTTP Server的种类/版本信息了。