解决'nacos默认secret.key配置不当权限绕过漏洞'的问题

 更新时间:2024年01月10日 11:17:23   作者:左边的天堂  
这篇文章主要介绍了解决“nacos默认secret.key配置不当权限绕过漏洞“的问题,解决这个问题需要对这个key的默认值进行修改,建议不要使用明文,可以用base64,key的长度要32位以上,下面介绍一下在两种环境下的修改方法,感兴趣的朋友一起看看吧

一、前言

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权限绕过漏洞“内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Dockerfile和docker-compose使用详解

    Dockerfile和docker-compose使用详解

    Dockerfile用于构建镜像,包含指令和说明,使用FROM开始构建,WORKDIR设置工作目录,RUN执行命令,COPY拷贝文件,EXPOSE暴露端口,CMD指定容器启动命令,docker-compose用于管理多容器,通过docker-compose.yml配置,支持多服务实例,可设定服务依赖和环境变量,支持挂载卷
    2024-11-11
  • docker如何查看容器/删除(所有)容器/删除镜像

    docker如何查看容器/删除(所有)容器/删除镜像

    这篇文章主要介绍了docker如何查看容器/删除(所有)容器/删除镜像问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Shell脚本构建Docker 半自动化编译打包发布应用操作

    Shell脚本构建Docker 半自动化编译打包发布应用操作

    这篇文章主要介绍了Shell脚本构建Docker 半自动化编译打包发布应用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker 常见问题解决

    Docker 常见问题解决

    这篇文章主要介绍了如何解决Docker 常见问题,帮助大家更好的理解和使用docker容器,感兴趣的朋友可以了解下
    2020-09-09
  • Docker CentOS7的系统上安装部署以及基础教程

    Docker CentOS7的系统上安装部署以及基础教程

    这篇文章主要介绍了Docker CentOS7的系统上安装部署以及基础教程的相关资料,需要的朋友可以参考下
    2016-10-10
  • docker离线安装社区版(docker-18.06.3-ce)

    docker离线安装社区版(docker-18.06.3-ce)

    在一些特定的环境下,由于网络限制或者其他原因,我们可能需要在Linux系统上进行离线安装Docker,本文就来介绍一下docker离线安装社区版,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • IDEA 配置Docker的过程

    IDEA 配置Docker的过程

    这篇文章主要介绍了IDEA 配置Docker的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 使用Docker和Nginx部署Web服务的操作指南

    使用Docker和Nginx部署Web服务的操作指南

    本文给大家介绍了Docker和Nginx部署Web服务的完美指南,Docker是一种容器化技术,它可以将应用程序及其依赖项打包到一个独立的、可移植的容器中,而Nginx则是一款高性能的Web服务器和反向代理服务器,感兴趣的朋友可以参考下
    2024-01-01
  • Docker 安装 Consul单机模式的操作方法

    Docker 安装 Consul单机模式的操作方法

    这篇文章主要介绍了Docker 安装 Consul单机模式,本文给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • docker如何在mac-m1芯片部署并启用tomcat

    docker如何在mac-m1芯片部署并启用tomcat

    这篇文章主要介绍了docker在mac-m1芯片部署并启用tomcat,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03

最新评论