携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第24天,点击查看活动详情
1.写在前面
目前nacos越来越广泛,大多数的企业在使用微服务架构的时候,基本上都会选择nacos作为注册中心和配置中心。
那nacos其实也是阿里开源的一个项目,存在漏洞,至少难免的。
那我们今天就来分享一下nacos存在的漏洞问题,主要是一些安全漏洞的问题。
毕竟现在很多政务的项目,都会做等保测试这块。等保做得多了,漏洞也就多了。
这不,今天就又有一个漏洞了。那就开始修复喽!!!
后端服务
1.nacos权限绕过漏洞
详情可查看nacos官网:链接
这个漏洞是在nacos已经开启账号密码访问的时候,当header添加了user-agent:Nacos-Server时,就会绕过权限访问,直接获取到nacos配置等信息。
nacos版本:1.4.2
详情如下:
- 不加账号密码访问(403)
- 添加账号密码访问(正常)
- 不加账号密码访问,但添加header(正常)
由此可见,header加上
user-agent:Nacos-Server
,确实能绕过nacos认证。
2.漏洞修复
升级到nacos目前最新版:2.1.1
(目前时间:2022-08-19)
下载地址:nacos官网
下载地址:官方地址
从1.4.2
升级到2.1.1
,nacos官网有详细的文档说明:详情
对于我们现在的环境升级,这里记录下注意的事项:
2.1 nacos配置文件的修改
vi nacos/conf/application.properties
#122行
server.tomcat.basedir=file:.
#148行
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
这里要修改成这个,否则启动报错。
2.2 nacos数据库修改
/*config_info表增加字段*/
ALTER TABLE jxbp_nacos.config_info ADD COLUMN encrypted_data_key text NULL COMMENT '秘钥';
/*his_config_info表增加字段*/
ALTER TABLE jxbp_nacos.his_config_info ADD COLUMN encrypted_data_key text NULL COMMENT '秘钥';
2.3 nacos启动后测试
- 不加账号密码访问,但添加header(403)
由此可见,该漏洞已被修复
- 加账号密码访问,不添加header(正常)
经测试,正常了。
注意:
当然不想升级的话,也是可以的,直接在1.4.2
的基础上对配置文件进行修改:
vi nacos/conf/application.properties
#148行
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
看到这里,是不是觉得自己折腾了大半天,最终解决的方式,还有更简单的方法。
哈哈,真的是醉了!!!
看到这,希望大家轻点喷,毕竟没有第一时间把最简便的方式放出来。
好了,以上就是nacos权限绕过漏洞的分享了。
可能内容有点短,但都是干货喔!!!
个人理解,可能也不够全面,班门弄斧了。
如果觉得有收获的,帮忙点赞、评论、收藏
一下呗!!!