nacos2.0.2漏洞分析及解决方法

绕过鉴权情况

1.

userAgentAuthWhite 设置为true,官方没有还没有解析为啥可以通过设置userAgent可以绕过鉴权

实验一

只要把请求header:User-Agent设置为:Nacos-Server即可绕过鉴权

实验二

只要把请求header:User-Agent设置为空值,Client-Version设置为:Nacos-Server即可绕过鉴权

上述漏洞修复:

nacos.core.auth.enable.userAgentAuthWhite=false

2.

Jwt公钥泄露,可以利用此进行jwt生成

此情况也可以进行api访问

上述漏洞修复:

  1. 文档中提供的密钥为公开密钥,在实际部署时请更换为其他密钥内容,防止密钥泄漏导致安全风险。
  2. 在2.2.1版本后,社区发布版本将移除以文档如下值作为默认值,需要自行填充,否则无法启动节点。
  3. 密钥需要保持节点间一致,长时间不一致可能导致403 invalid token错误。

3.

Identity.key identity.value 被窃取情况下,可以通过设置header信息绕过鉴权

最后结论

解决nacos2.0.2版本漏洞

1.开启api访问鉴权,设置客户端连接key、value

nacos.core.auth.enabled=true

nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos

2.屏蔽通过User-Agent绕过鉴权方式

nacos.core.auth.enable.userAgentAuthWhite=false

3.不要使用默认jwt公钥

客户端添加配置

注:这里的username 和password 是nacos 登录的账号密码

附1.4.0以下版本无法解决鉴权问题代码

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值