隐藏Nginx或Apache以及PHP的版本号的方法
当黑客入侵一台服务器时,首先会”踩点”, 这里的”踩点”,指的是了解服务器中运行的一些服务的详细情况,比如说:版本号,当黑客知道相应服务的版本号后,就可以寻找该服务相应版本的一些漏洞来入侵,攻击,所以我们需要隐藏这些版本号来避免一些不必要的问题
我们来测试一下
insoz:~ insoz$ curl -I http://127.0.0.1/phpinfo.php 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配置文件httpd.conf中,加入以下代码
ServerTokens Prod ServerSignature Off
再来看php中隐藏版本号的方法:
在php配置文件php.ini中,加入以下代码
expose_php = Off
好了,修改完毕重启服务,我们再来测试一下:
Request URL:http://127.0.0.26/prize.php Request Method:GET Status Code:200 OK Remote Address:127.0.0.26:80 Referrer Policy:no-referrer-when-downgrade Response Headers view source Cache-Control:no-store, no-cache, must-revalidate Connection:keep-alive Content-Type:text/html; charset=UTF-8 Date:Tue, 12 Sep 2017 08:23:53 GMT Expires:Thu, 19 Nov 1981 08:52:00 GMT Pragma:no-cache Server:nginx Transfer-Encoding:chunked Vary:Accept-Encoding
有可能在linux 中php版本隐藏会不生效,需要重启下php-fmp,这里就不叙述了。
(转载请注明花儿为何那样红博客)