隱藏Nginx版本號的方法小結(jié)
引言
最近在折騰 Nginx 的時(shí)候,突然意識到一個(gè)問題:默認(rèn)情況下,Nginx 會在響應(yīng)頭里暴露版本號信息,這無疑給潛在的攻擊者提供了便利。畢竟,知道了版本號,就可以針對性地尋找漏洞進(jìn)行攻擊。為了讓自己的服務(wù)器更安全,我決定研究一下如何隱藏 Nginx 的版本號,順便還發(fā)現(xiàn)了可以自定義版本信息的方法,感覺挺有意思,就記錄下來分享給大家。
以下測試我基于源碼包安裝的nginx
1. 隱藏 Nginx 版本號
目的
隱藏 Nginx 的版本號,避免泄露版本信息,從而減少針對特定版本的攻擊風(fēng)險(xiǎn)。
操作步驟
方法一:通過配置文件隱藏版本號
- 編輯 Nginx 主配置文件:
cd /usr/local/nginx/conf/ vim nginx.conf
在 http
塊中添加以下內(nèi)容:
nginx http { ... server_tokens off; # 關(guān)閉版本號顯示 ... }
- 測試配置文件語法是否正確:
nginx -t
預(yù)期輸出:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
- 重啟 Nginx 服務(wù):
systemctl restart nginx
測試步驟
- 使用
curl
查看響應(yīng)頭:
curl -I http://<your-nginx-ip>/
預(yù)期輸出:
HTTP/1.1 200 OK Server: nginx
說明:Server
字段只顯示 nginx
,版本號已被隱藏。
沒有配置之前可以看到 版本好 瀏覽器后臺也是可以看到的
配置之后就隱藏了版本的信息
方法二:通過源碼修改版本號
使用源碼包安裝nginx時(shí)候開始
- 編輯 Nginx 源碼文件:
vim nginx-1.12.0/src/core/nginx.h
修改以下內(nèi)容:
#define NGINX_VERSION "1.1.1" # 修改版本號 #define NGINX_VER "CustomServer" NGINX_VERSION # 修改服務(wù)器類型
- 重新編譯并安裝 Nginx:
cd nginx-1.12.0/ ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module make && make install
測試步驟
- 使用
curl
查看響應(yīng)頭:
curl -I http://<your-nginx-ip>/
預(yù)期輸出:
HTTP/1.1 200 OK Server: CustomServer1.1.1
說明:Server
字段顯示自定義的服務(wù)器名稱和版本號。
沒有配置之前可以看到 版本好 瀏覽器后臺也是可以看到的
配置之后就隱藏了版本的信息
總結(jié)
折騰完之后,發(fā)現(xiàn)隱藏 Nginx 版本號其實(shí)并不復(fù)雜,尤其是通過配置文件的方法,簡單又高效。如果你想進(jìn)一步定制服務(wù)器的響應(yīng)頭信息,也可以試試源碼修改,稍微麻煩點(diǎn),但也能玩出不一樣的效果。安全這事兒吧,防不住 100% 的風(fēng)險(xiǎn),但能減少一點(diǎn)隱患也是好的。
以上就是隱藏Nginx版本號的方法小結(jié)的詳細(xì)內(nèi)容,更多關(guān)于隱藏Nginx版本號的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Nginx實(shí)現(xiàn)跨域使用字體文件的配置詳解
這篇文章主要給大家介紹了關(guān)于Nginx實(shí)現(xiàn)跨域使用字體文件的配置方法,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06淺談Nginx請求限制和訪問控制的實(shí)現(xiàn)
這篇文章主要介紹了淺談Nginx請求限制和訪問控制的實(shí)現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07Nginx配置文件中l(wèi)ocation配置的多種場景
location主要做定位功能,根據(jù)uri來進(jìn)行不同的定位,下面這篇文章主要給大家介紹了關(guān)于Nginx配置文件中l(wèi)ocation配置的多種場景,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09Nginx方向代理wss或ws的實(shí)現(xiàn)示例
本文主要介紹了Nginx方向代理wss或ws的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10Nginx配置負(fù)載均衡時(shí)訪問地址無法生效的解決方法
本文主要介紹了Nginx配置負(fù)載均衡時(shí)訪問地址無法生效的解決方法,例如負(fù)載均衡策略的設(shè)置是否正確、是否存在拼寫錯誤等,下面就來詳細(xì)的介紹一下,感興趣的可以了解一下2023-09-09