Nacos 的风险点
Nacos 同时承担配置中心与服务注册,控制台默认端口 8848,gRPC 端口 9848 与 9849。历史版本存在鉴权未开启或认证绕过类问题:要么默认不带鉴权开关,要么存在绕过 token 校验的访问路径。配置中心通常保存数据库口令、中间件凭据与应用参数,一旦被读取,影响会向下游多个系统扩散,属于典型高价值目标。
基本信息
| 组件 | Nacos 配置中心与服务注册中心 |
|---|---|
| 默认端口 | 8848 控制台与 OpenAPI,9848 与 9849 为 gRPC 端口 |
| 主要风险 | 鉴权未开启、默认口令 nacos/nacos、历史认证绕过问题 |
| 影响 | 读取或篡改配置,凭据泄露后横向影响下游系统 |
| 加固要点 | 开启鉴权并配置自定义 token 密钥、改默认口令、升级修复版本、限制来源 |
| 检查时机 | 新部署上线前、版本升级后、季度暴露面巡检 |
风险点与处置
| 风险点 | 典型表现 | 处置 |
|---|---|---|
| 鉴权未开启 | 可直接访问控制台与 OpenAPI | 开启鉴权开关并配置自定义密钥 |
| 默认口令 | nacos/nacos 可登录 | 立即修改并建立独立业务账号 |
| 认证绕过问题 | 特定版本的 token 校验缺陷 | 升级到官方修复版本并复核 |
| 公网暴露 | 8848 可从互联网访问 | 限制到内网管理网段 |
| 配置含明文凭据 | 数据库口令写入配置文件 | 结合配置加密与最小权限账号 |
| 变更无审计 | 无法追溯谁改了配置 | 开启配置变更记录并定期抽查 |
加固要点
加固要点
1. 开启鉴权:nacos.core.auth.enabled=true,并配置自定义 token 密钥
2. 修改默认 nacos/nacos 口令,创建独立业务账号并按需授权
3. 升级到官方修复版本,关注认证绕过类 CVE 公告与版本说明
4. 8848 与 9848 不暴露公网,仅内网管理网段可访问
5. 配置中的数据库口令做加密或改用凭据托管,并审计配置变更记录核查命令
核查命令
# 控制台可达性自检(授权范围内执行)
curl -s --max-time 3 http://<目标IP>:8848/nacos/ | head -c 200
# 返回控制台页面说明可达,结合鉴权配置判断风险等级
# 确认监听地址与暴露范围
ss -ltnp | grep -E '8848|9848'
# 确认服务端鉴权开关状态
grep -n 'auth.enabled' ./conf/application.properties典型使用场景
- 新部署 Nacos 的上线前安全检查
- 版本升级后复核鉴权开关是否仍然生效
- 季度巡检中的配置中心暴露面核查
- 应急时确认配置是否被异常读取或篡改
- 迁移到托管配置服务前的对照排查
- 审计举证:说明配置变更的记录与责任人
配置中心常保存数据库与中间件口令,属于高价值目标。收敛优先级按「可达性 × 数据敏感度」评估,而不是按端口号统一处理。
只升级版本不开鉴权解决不了问题:部分修复只覆盖特定绕过路径,鉴权开关仍是基础防线,两者要同时到位。