隐藏Apache、Nginx和PHP的版本号的配置方法

最近提示说有漏洞,暴露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  

相关推荐