工作中一般将应用的版本信息进行隐藏,这样的好处是防止不法分子通过固定的版本信息查阅历史漏铜库,进行针对性的渗透和入侵,以下将简单介绍如何隐藏 nginx 、 Apache 和PHP的版本信息,
Nginx:
我们来测试一下
curl -I
HTTP/1.1 200 OK
Server: nginx/1.5.0
Date: Thu, 18 Jun 2015 02:39:32 GMT
Content-Type: text/html
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.1
可以看到我们的服务器nginx和php版本都暴露了. 下面我们来看隐藏的方法
首先来看nginx中隐藏版本号的方法:
在nginx配置文件nginx.conf中,加入以下代码
server_tokens off;
Apache:
apache中隐藏版本号的方法:
在apache配置文件 httpd .conf中,加入以下代码
ServerTokens Prod
ServerSignature Off
或者直接修改http-default.conf配置文件,然后在httpd.conf开启 include 。
PHP:
再来看php中隐藏版本号的方法:
在php配置文件php. ini 中,加入以下代码
expose_php = Off
好了,修改完毕重启服务,我们再来测试一下:
insoz:~ insoz$ curl -I
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 18 Jun 2015 02:41:47 GMT
Content-Type: text/html
Connection: keep-alive
Vary: Accept-Encoding