欢迎来到山村网

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

2019-03-09 08:44:33浏览:366 来源:山村网   
核心摘要:  Nginx默认是显示版本号的,如:  [root@bkjz ~]# curl -I www.45it.com  HTTP/1.1 200 OK  Server: nginx/0.8.44  D

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

  [root@bkjz ~]# curl -I www.45it.com

  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;

  …….省略

  }

隐藏Nginx版本号的安全性与方法 山村

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

(责任编辑:豆豆)
下一篇:

Linux内核驱动fsync机制实现图解

上一篇:

数据是如何在路由器中通过的

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com