解決'nacos默認secret.key配置不當(dāng)權(quán)限繞過漏洞'的問題
一、前言
nacos 2.2.0.1以下版本會有一個nacos默認secret.key配置不當(dāng)權(quán)限繞過漏洞
,等級為高危。形成原因是nacos的配置文件中存在這么一個secret.key
默認配置:
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
會被他人利用進行提權(quán)從而達到系統(tǒng)受控的目的。
二、解決
解決這個問題需要對這個key的默認值進行修改,建議不要使用明文,可以用base64
,key的長度要32位以上,下面介紹一下在兩種環(huán)境下的修改方法:
2.1 centos系統(tǒng)
找到nacos的安裝目錄,假設(shè)是在/usr/local/nacos
# 打開配置文件所在目錄 cd /usr/local/nacos/conf # 對文件進行編輯 vim application.properties
定位到secret.key
所在行,輸入斜杠/
,然后再輸入secret.key
,最后回車
,如:
/secret.key
然后使用鍵盤的方向鍵定位到要修改的值,輸入i
進入編輯模式,之后就可以進行修改了。
修改好之后保存,先按Esc
鍵退出編輯模式,最后輸入以下命令進行保存:
:wq
保存完之后重啟一下nacos即可。
首先打開bin
目錄,bin
目錄是conf
的同級目錄
cd ../bin
先關(guān)閉
sh shutdown.sh
再啟動,這里使用的是單機模式
sh startup.sh -m standalone
2.2 docker容器
1、在宿主機上修改
docker環(huán)境下如果映射了宿主機目錄的話,直接在宿主機上修改配置文件重啟容器即可。
2、在docker容器里面修改
如果沒有映射宿主機的目錄,則可以進入docker容器內(nèi)進行修改。
docker exec -it nacos bash
默認目錄是/home/nacos/conf
,然后安裝centos系統(tǒng)的修改方法進行修改。
3、直接修改啟動命令
如果使用默認配置呢,可以在啟動命令中增加NACOS_AUTH_TOKEN
參數(shù)來達到修改目的,這種方式更為簡單。
docker環(huán)境的nacos默認配置如下
nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey012345678901234567890123456789012345678901234567890123456789}
先rm
舊的容器
# 強制停止并刪除容器 docker rm -f containerId(容器id) # containerId(容器id) 可以使用下面的命令查看,第一列就是容器id docker ps # 或 docker rm -f nacos
或者使用下面的方式,先停止再移除
# 先停止nacos容器 docker stop nacos # 再刪除nacos容器 docker remove nacos
然后執(zhí)行下面命令啟動docker,本例nacos的版本是v2.1.1
docker run --restart=always -d -p 8849:8848 -p 9848:9848 --name nacos --network bridge --env MODE=standalone --env SPRING_DATASOURCE_PLATFORM=mysql --env MYSQL_SERVICE_HOST=192.168.10.1 --env MYSQL_SERVICE_PORT=3306 --env MYSQL_SERVICE_DB_NAME=nacos --env MYSQL_SERVICE_USER=root --env MYSQL_SERVICE_PASSWORD=root --env NACOS_AUTH_TOKEN=xxx nacos/nacos-server:v2.1.1
這樣就行了
三、總結(jié)
對于這個漏洞大家最好都去排查一下,在第一時間去解決。解決的途徑有兩種,一就是像上述方法一樣修改默認值,二是升級nacos的版本,在新版本中上面的配置被棄用,取而代之的是nacos.core.auth.plugin.nacos.token.secret.key
,沒有默認值,第一次啟動之前需要配置否則會報異常,在一定程度上杜絕了舊版本的默認值問題。
到此這篇關(guān)于解決“nacos默認secret.key配置不當(dāng)權(quán)限繞過漏洞“的文章就介紹到這了,更多相關(guān)nacos權(quán)限繞過漏洞“內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shell腳本構(gòu)建Docker 半自動化編譯打包發(fā)布應(yīng)用操作
這篇文章主要介紹了Shell腳本構(gòu)建Docker 半自動化編譯打包發(fā)布應(yīng)用操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Docker CentOS7的系統(tǒng)上安裝部署以及基礎(chǔ)教程
這篇文章主要介紹了Docker CentOS7的系統(tǒng)上安裝部署以及基礎(chǔ)教程的相關(guān)資料,需要的朋友可以參考下2016-10-10docker離線安裝社區(qū)版(docker-18.06.3-ce)
在一些特定的環(huán)境下,由于網(wǎng)絡(luò)限制或者其他原因,我們可能需要在Linux系統(tǒng)上進行離線安裝Docker,本文就來介紹一下docker離線安裝社區(qū)版,具有一定的參考價值,感興趣的可以了解一下2024-03-03使用Docker和Nginx部署Web服務(wù)的操作指南
本文給大家介紹了Docker和Nginx部署Web服務(wù)的完美指南,Docker是一種容器化技術(shù),它可以將應(yīng)用程序及其依賴項打包到一個獨立的、可移植的容器中,而Nginx則是一款高性能的Web服務(wù)器和反向代理服務(wù)器,感興趣的朋友可以參考下2024-01-01