正在加载...

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版本号可以隐藏不?其实可以的,看下面我的步骤:

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,完毕。

另:隐藏PHP版本与PHP基本安全设置

(总结)隐藏Apache版本号的必要性与方法

: http://www.ha97.com/1095.html

本文相关评论 - 才 5 条评论
忍不住说一句
2010-08-05 15:02:16
Google Chrome 5.0.375.125 Google Chrome 5.0.375.125 Windows Server 2003 Windows Server 2003

忍不住说一句,博主考虑的不够全面

2010-08-05 16:36:37
Firefox 3.6.7 Firefox 3.6.7 CentOS 5 CentOS 5

这位同学有何高见?可以说说啊。

smarthand
2010-11-11 16:17:40
Firefox 3.6.9 Firefox 3.6.9 CentOS 5 x64 CentOS 5 x64

这样实际上不错呢,但是似乎在互联网上搜索来搜索去,都没有找到可以像apache那样修改得更全面的方法呢,不过这个差不多也够用了。

2010-11-16 11:13:57
Firefox 3.6.9 Firefox 3.6.9 Red Hat Enterprise Linux 6 Red Hat Enterprise Linux 6

呵,都是个人经验的一些总结~~

2013-05-20 13:26:09
Google Chrome 26.0.1410.64 Google Chrome 26.0.1410.64 Windows 7 Windows 7

有没有办法可以直接把Server这个头去掉?