以前我写过一篇如何伪装nginx的版本防止web服务器被入侵的博文,之后就有朋友问我,apache是否也有同样的方法,答案是肯定的。今天写这篇回答这个问题吧。
下载apache源码,我用的是2.2.25版本,解压文件tarxzvfhttpd-2.2.25.tar.gz
vim httpd-2.2.25/include/ap_release.h,修改成如下内容
这是一个带有apache版本号的headerfile。
剩下的就是编译安装了,最简单的参数
./configure--prefix=/usr/local/apache && make && make install
修改配置文件/usr/local/apache/conf/httpd.conf,增加如下内容
启动apache
/usr/local/apache/bin/apachectl start
访问任意一个不存在的页面
可以看到web服务器的banner版本号是微软的IIS7.0,而不是真正的apache2.2.25
还没完,因为有经验的黑客还是从404页面的风格看出来,这显然不是IIS的风格,当然你可以选择再次修改/usr/local/apache/conf/httpd.conf文件
以上是把banner的版本号彻底隐藏不显示
当然这些都会让有经验的黑客认出这是apache的默认404页面,那么就自己做个404吧,最好的办法是把IIS7.0的默认404的html代码拷贝过来作为apache服务器的404页面,呵呵
然后修改/usr/local/apache/conf/httpd.conf文件
最后看看效果,再访问一次
呵呵,完全伪装成MicrosoftIIS7.0了,别忘了把403等页面也一起修改了吧。