apache、nginx、php 隐藏版本号

apache、nginx、php 隐藏版本号

针对的系统都是CentOS

1、没配置之前

1.1 Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.24 mod_wsgi/3.4 Python/2.7.5

1.2 Server: nginx/1.16.0

1.3 X-Powered-By:7.2.24

2、配置信息

不知道具体位置,可以搜索主配置httpd.conf whereis httpd.conf

1.1 主配置中启用httpd-default.conf

vim /etc/httpd/conf/httpd.conf
//找到httpd-default.conf,删除includes前面的“#”,改成如下(如果没有就新增)
Include conf/extra/httpd-default.conf

1.2 修改httpd-default.conf

文件:/etc/httpd/conf/extra/httpd-default.conf

找到
ServerTokens Full
ServerSignature On
改成
ServerTokens Prod
ServerSignature off

3、配置之后

3.1 Server: Apache 3.2 Sserver:nginx 3.3 对应的X-Powered-By 参数消失

说明:

  • 1、ServerSignature出现在Apache所产生的像404页面、目录列表等页面的底部。
  • 2、ServerTokens目录被用来判断Apache会在Server HTTP响应包的头部填充什么信息。 如果把ServerTokens设为Prod,那么HTTP响应包头就会被设置成:Server:Apache

4、扩展汇总

隐藏X-Powered-By 修改 php.ini 文件 设置 expose_php = Off(重启apache即可生效)

apache 隐藏 server 修改httpd.conf 设置 ServerSignature Off ServerTokens Prod

ServerTokens 的参数说明

Prod >>> Server: Apache
Major >>> Server: Apache/2
Minor >>> Server: Apache/2.0
Minimal >>> Server: Apache/2.4.6
OS >>> Server: Apache/2.4.6 (Debian)
Full (or not specified) default >>> Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.24 mod_wsgi/3.4 Python/2.7.5

nginx 隐藏 server 修改nginx.conf 在http里面设置 server_tokens off;

Ubuntu 14.04隐藏Apache-2.4的版本号与操作系统类型

一般情况下,软件的漏洞信息和特定版本,特定操作系统是相关的,因此,软件的版本号以及操作系统类型对攻击者来说是很有价值的。

在默认情况下,Apache会在返回信息中把自身的版本号,操作系统类型都显示出来,如下图:

这样做会造成潜在的安全风险,导致不必要的攻击行为。

在Ubuntu 14.04系统上隐藏Apache-2.4的版本号与操作系统类型的方法如下:

$ sudo vim /etc/apache2/conf-enabled/security.conf

$ sudo vim /etc/apache2/conf-enabled/security.conf
把文件中的的ServerTokens OS修改为ServerTokens Prod,ServerSignature On修改为ServerSignature Off,如下图所示:

修改完成后,重启Apache2的服务

$ sudo service apache2 restart

$ sudo service apache2 restart

修改后的结果如下图所示,已经没有系统类型信息了,仅仅返回了一个403错误。

胡梦旭博客
请先登录后发表评论
  • latest comments
  • 总共0条评论