在服务器上屏蔽Apache、Nginx、PHP版本号

导语:我们可以屏蔽Apache、Nginx、PHP版本号来防止黑客对服务器进行特定版本的扫描攻击,Apache响应消息header中的Server带有Apache的版本信息,这在生产环境中是有潜在危险的,可以被扫描出所使用的版本,如果这个版本具有已知的漏洞,别人很容易进行攻击,因此要隐藏Apache的相关信息。

查看HTTP服务的相关信息

登录服务器,输入以下命令可以看到HTTP服务器的相关信息:

curl --head http://localhost

HTTP/1.1 301 Moved Permanently
Date: Tue, 28 May 2019 00:58:44 GMT
Server: Apache
X-Content-Type-Options: nosniff
Vary: Accept-Encoding,Cookie
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: private, must-revalidate, max-age=0
Last-Modified: Tue, 28 May 2019 00:58:44 GMT
Location: 
Content-Type: text/html; charset=utf-8

注意这个显示信息是叶子设置后的结果。

隐藏apache版本信息

使用vi打开httpd.conf,在末尾加上以下两行:

ServerTokens ProductOnly
ServerSignature Off

隐藏Nginx版本信息

使用vi打开nginx.conf,在http { }里加上:

server_tokens off;

隐藏php-fpm版本信息

使用vi打开php-fpm配置文件,找到:

fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

改为:

fastcgi_param SERVER_SOFTWARE nginx0.0.0;

(这个nginx0.0.0就是显示的内容)

隐藏PHP版本信息

使用vi打开php.ini,在文件末尾加上:

expose_php =Off

完成以上设定后,重新启动 Apache/Nginx 即可。

结束

你学会了吗?

发表评论

电子邮件地址不会被公开。 必填项已用*标注