隱藏Nginx版本號


  一般來說,黑客攻擊服務器的首要步驟就是收集信息,比如說你的軟件版本,這些將成為下一步有針對性攻擊的依據。所以說一定程度的隱藏這些信息就顯得非常有必要了,本文將簡單介紹如何在網絡上隱藏Nginx版本號以及PHP的版本號。

  1.隱藏Nginx版本號,Nginx的版本號主要在兩個地方會有,

  第一個是HTTP header,有個Server:nginx/1.x.x類似會暴露Web服務器所用軟件名稱以及版本號,這個也是大多數Web服務器最容易暴露版本號的地方,如下:

[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出錯頁面,比如404頁面沒有找到等,這是如果用戶沒有指定頁面的話,那么Nginx自己的頁面會有版本戳記。

  不過幸運的是對於這兩個地方的版本號隱藏,Nginx都提供了簡單的辦法一步到位,參考server_tokens。通過在配置文件的http節配置server_tokens off來達到我們目的。

1、打開Nginx主配置文件:nginx.conf,取消注釋或添加配置語句。

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 或
# servic nginx reload

也可以考慮直接重啟。

這樣就完全對外隱藏了nginx版本號了,就是出現404、501等頁面也不會顯示nginx版本。

下面測試一下:

# curl -I www.abc.net
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

 

轉載自:http://www.ttlsa.com/nginx/hidden-nginx-version/;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM