前言:
前段时间,自己在玩docker,就在自己的docker中run了一个nacos,以给自己后续做demo项目使用。放置了很长时间也没再打开看看啥的。近期在做demo,用到了nacos,就突然发现nacos中的用户列表中多了几个用户,第一反应就是,被人搞了。然后,把用户删了,没再搭理。第二天,打开nacos又看了一下,发现多了一个myworld
的用户,这一下子,就让我好好看看nacos了~~~
一、不登录状态下的操作
1.1 查询用户列表
http://localhost:8848/nacos/v1/auth/users?pageNo=1&pageSize=100
1.2 随意添加一个用户
http://localhost:8848/nacos/v1/auth/users?username=test&password=test
User-Agent:Nacos-Server 该参数为nacos 白名单数据。
1.3 原因
出现上面的问题,是因为没有开启nacos权限认证nacos.core.auth.enabled=false
二、问题解决
2.1 漏洞概述
2.2 Nacos给出的修复建议
2.3 服务开启鉴权
关于安全问题
Nacos是一个内部微服务组件,需要在可信的内网中运行,不可暴露在公网环境,防止带来安全风险。
结合Nacos官网中的服务端如何开启鉴权去解决
# 主要是将这个参数开启nacos.core.auth.enabled=true # 关闭使用User-Agent判断服务端请求并放行鉴权的功能nacos.core.auth.enable.userAgentAuthWhite=false # 配置自定义身份识别的key和valuenacos.core.auth.server.identity.key=example nacos.core.auth.server.identity.value=example # 同时,建议自定义用于生成JWT令牌的密钥nacos.core.auth.default.token.secret.key
我主要是开启了这个参数nacos.core.auth.enabled=true
其实,Nacos的文档(服务端如可开启鉴权
)中给出了关于非Docker环境和Docker环境的开启建议