萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 隱藏Nginx版本號的安全性與方法

隱藏Nginx版本號的安全性與方法

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

copyright © 萬盛學電腦網 all rights reserved