如何將我們的Nginx的版本號進行隱藏

roc_guo發表於2023-02-18

我們使用Nginx進行代理時,所有的網路請求都是透過Nginx進行分發。而只要是軟體那麼都會有漏洞。

Nginx也再所難免會有一些漏洞,而Nginx也在不斷進行版本迭代,那麼我們就需要在對外訪問的時候,避免外界獲取到我們的

如何將我們的Nginx的版本號進行隱藏如何將我們的Nginx的版本號進行隱藏

Nginx的版本。減少部分因為版本暴露而出現的攻擊風險。(及時升級最新版本,安全性會更高。)

本篇介紹如何將我們的Nginx的版本號進行隱藏,避免受到外界攻擊。

1、如何查詢自己的伺服器Nginx 版本是否隱藏

下面介紹不同環境下的查詢方法

(1)windows環境下

我們可以透過瀏覽器訪問網頁,按F12 進入檢查模式,透過Network 皮膚可以看到當前頁面的所有網路請求

隨意找一個介面點選,透過彈出的請求詳情中的Headers皮膚下的 Response Headers 可以看到下面的資料: 其中Server 後面就會顯示你的nginx 的版本號了:

Accept-Ranges: bytes
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type,ADMIN-Authorization,API-Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Max-Age: 3600
Cache-Control: public,max-age=60,s-maxage=60
Content-Encoding: gzip
Content-Length: 3348
Content-Type: application/javascript
Date: Fri, 23 Sep 2022 01:55:37 GMT
Last-Modified: Tue, 08 Mar 2022 07:14:08 GMT
Server: nginx/1.23.0
Vary: Origin

上面的例項是 nginx版本號被暴露的例項, 如果隱藏版本號後就會顯示成:Server: nginx/ 不會懈怠有版本號。

(2)  環境下

相較於windows的查詢方法,Linux 查詢可以直接透過 curl -I  進行查詢了。

例如查本站的效果:

[root@iZuf63tu3fn1swasqa62h8Z nginx]# curl -I zinyan.com
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 23 Sep 2022 02:09:49 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Location: 

如果沒有進行nginx 版本隱藏就會在nginx 後面加上版本號了。

2、隱藏Nginx 版本

隱藏方法比較簡單:需要開啟nginx.conf 配置檔案。(通常情況下該檔案目錄在 /etc/nginx/nginx.conf)

切換到nginx.conf 檔案所在目錄下,使用vim nginx.conf 開啟檔案。(按I進入到編輯模式)

然後在server級別下新增: server_tokens off; 如果原先有server_tokens 就將值改為on,如果沒有就新增整個。

實現效果如下:

http{
    ...
    server{
      listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
        server_tokens off;  #新增這一項就可以了
        location / {
        }
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }   
}

新增完畢後,按Esc 鍵退出編輯模式,然後輸入:wq 儲存退出即可。(如果不熟悉vim 指令可以透過?p=23 瞭解)

最後執行:

nginx -s reload

重啟nginx 就可以了。就能實現版本的隱藏了。

預設情況下,nginx 是不會隱藏版本號的。需要我們自己主動配置。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2935827/,如需轉載,請註明出處,否則將追究法律責任。

相關文章