最近提示说有漏洞,暴露Apache、Nginx和PHP的版本号。现在整理下,方法如下:
首先说apache
在http.conf文件里添加下面两行,默认是没有的
ServerSignature Off ServerTokens Prod
ServerSignature出现在Apache所产生的像404页面、目录列表等页面的底部。ServerTokens目录被用来判断Apache会在Server HTTP响应包的头部填充什么信息。如果把ServerTokens设为Prod,那么HTTP响应包头就会被设置成:Server:Apache
Nginx的版本号隐藏有两地方需要修改
1、nginx.conf 文件里的http内部,主要是加上 server_tokens off;
http { # ...省略一些配置 server_tokens off; }
2、修改php-fpm的配置文件,需要查看下包含的文件名,默认是fastcgi.conf 文件。
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
修改为
fastcgi_param SERVER_SOFTWARE nginx;
3、重启服务器就可以了
nginx -s reload
最后说下php的版本隐藏
http的版本信息一般是暴露在http头部,一般以类似X-Powered-By: PHP/5.2.11这种形式出现。只需修改php.ini文件的 expose_php = On 为 expose_php = Off;就可以了。
然后重新加载php