解决'nacos默认secret.key配置不当权限绕过漏洞'的问题
作者:左边的天堂
一、前言
nacos 2.2.0.1以下版本会有一个nacos默认secret.key配置不当权限绕过漏洞
,等级为高危。形成原因是nacos的配置文件中存在这么一个secret.key
默认配置:
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
会被他人利用进行提权从而达到系统受控的目的。
二、解决
解决这个问题需要对这个key的默认值进行修改,建议不要使用明文,可以用base64
,key的长度要32位以上,下面介绍一下在两种环境下的修改方法:
2.1 centos系统
找到nacos的安装目录,假设是在/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
先关闭
sh shutdown.sh
再启动,这里使用的是单机模式
sh startup.sh -m standalone
2.2 docker容器
1、在宿主机上修改
docker环境下如果映射了宿主机目录的话,直接在宿主机上修改配置文件重启容器即可。
2、在docker容器里面修改
如果没有映射宿主机的目录,则可以进入docker容器内进行修改。
docker exec -it nacos bash
默认目录是/home/nacos/conf
,然后安装centos系统的修改方法进行修改。
3、直接修改启动命令
如果使用默认配置呢,可以在启动命令中增加NACOS_AUTH_TOKEN
参数来达到修改目的,这种方式更为简单。
docker环境的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
然后执行下面命令启动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
这样就行了
三、总结
对于这个漏洞大家最好都去排查一下,在第一时间去解决。解决的途径有两种,一就是像上述方法一样修改默认值,二是升级nacos的版本,在新版本中上面的配置被弃用,取而代之的是nacos.core.auth.plugin.nacos.token.secret.key
,没有默认值,第一次启动之前需要配置否则会报异常,在一定程度上杜绝了旧版本的默认值问题。
到此这篇关于解决“nacos默认secret.key配置不当权限绕过漏洞“的文章就介绍到这了,更多相关nacos权限绕过漏洞“内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!