绕过鉴权情况

userAgentAuthWhite 设置为true,官方没有还没有解析为啥可以通过设置userAgent可以绕过鉴权
实验一
只要把请求header:User-Agent设置为:Nacos-Server,即可绕过鉴权

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

上述漏洞修复:
nacos.core.auth.enable.userAgentAuthWhite=false

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


此情况也可以进行api访问
上述漏洞修复:
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以下版本无法解决鉴权问题代码
