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

安全 网站安全
根据以往关于Nginx的报道,有些Nginx版本有漏洞,而有些版本没有。这样暴露出来的版本号就容易变成攻击者可利用的信息。所以,从安全的角度来说,隐藏版本号会相对安全些!

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

[root@bkjz ~]# curl -I www.nginx.org
HTTP/1.1 200 OK
Server: nginx/0.8.44
Date: Tue, 13 Jul 2010 14:05:11 GMT
Content-Type: text/html
Content-Length: 8284
Last-Modified: Tue, 13 Jul 2010 12:00:13 GMT
Connection: keep-alive
Keep-Alive: timeout=15
Accept-Ranges: bytes

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

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

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

# vim nginx.conf

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

http {
……省略
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
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@bkjz ~]# curl -I www.ha97.com
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 13 Jul 2010 14:26:56 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
……

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

OK,完毕。

责任编辑:蓝雨泪 来源: 博客
相关推荐

2023-01-03 08:26:56

2017-02-08 14:29:04

2017-02-22 09:30:41

2014-12-15 14:02:48

iOS版本号苹果

2010-11-08 10:07:45

Chrome

2015-10-08 15:49:00

版本号方法Windows 10

2010-05-17 16:26:36

IIS安全

2023-01-09 17:46:07

项目版本号字段

2010-02-06 13:49:08

Linux samba

2010-05-26 16:44:19

SVN版本号

2023-02-27 14:51:40

MySQL数据库

2017-03-30 16:56:43

Windows 10Windows版本号

2015-07-22 10:09:59

Android M版本号

2009-02-12 16:31:39

Windows7贝塔版本号

2010-06-30 16:41:02

识别SQL Serve

2009-08-04 08:36:54

Windows 7查看系统版本号

2009-11-30 09:41:38

2009-10-26 08:44:48

Windows 7查看版本号

2019-10-28 13:44:10

安全边缘计算数据

2019-09-19 15:15:20

LinuxMint版本号
点赞
收藏

51CTO技术栈公众号