Linux运维笔记
我们一直在努力

彻底隐藏Nginx版本号的安全性与方法

Nginx默认是显示版本号的,如:

[root@toolserver ~]# curl -I www.nginx.org
HTTP/1.1 301 Moved Permanently
Server: nginx/1.13.11
Date: Wed, 31 Oct 2018 08:55:48 GMT
Content-Type: text/html
Content-Length: 186
Connection: keep-alive
Keep-Alive: timeout=15
Location: http://nginx.org/

这样就给人家看到你的服务器nginx版本是0.8.44,前些时间暴出了一些Nginx版本漏洞,就是说有些版本有漏洞,而有些版本没有。这样暴露出来的版本号就容易变成攻击者可利用的信息。所以,从安全的角度来说,隐藏版本号会相对安全些!

那nginx版本号可以隐藏不?其实可以的,看下面我的步骤:

1、进入nginx配置文件的目录(此目录根据安装时决定),用vim编辑打开

# vim nginx.conf

在http { } 里加上server_tokens off; 如:

server {
        listen 80;
        listen 443 ssl;
        server_name localhost;
        index index.php;
        server_tokens off;
        ......
}

2、编辑php-fpm配置文件,如fastcgi.conf或fcgi.conf(这个配置文件名也可以自定义的,根据具体文件名修改):

找到:
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
改为:
fastcgi_param SERVER_SOFTWARE nginx;

3、重新加载nginx配置:

# /etc/init.d/nginx reload

这样就完全对外隐藏了nginx版本号了,就是出现404、501等页面也不会显示nginx版本。

下面测试一下:

[root@toolserver ~]# curl -I www.redppx.cn
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Wed, 31 Oct 2018 08:58:00 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Location: https://www.redppx.cn/

Firefox里的服务器信息显示工具也不能显示出nginx版本号(其实这个工具也是利用curl 命令侦查的)如图:

 

其他:

[Httpd] 隐藏Apache版本号的必要性与方法

[PHP] 隐藏PHP版本与PHP基本安全设置

赞(0) 打赏

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址