当前位置:首页 > 娱乐

nacos未授权访问漏洞

2021年爆出的授权Nacos未授权访问漏洞(CVE-2021-29441),本质上是访问个配置失误问题。Nacos默认的漏洞`nacos`用户密码是`nacos`,很多运维部署后懒得改。授权攻击者用默认口令登录控制台,访问就能看到所有服务的漏洞注册信息、配置内容,授权甚至直接修改配置——这等于把公司内网的访问服务地图和密钥库拱手送人。

有个真实案例特别典型。漏洞某电商公司把Nacos暴露在公网,授权端口8848没做任何访问限制。访问安全测试人员用默认密码登录后,漏洞发现里面存着MySQL数据库的授权连接串、Redis密码、访问甚至阿里云AccessKey。漏洞更麻烦的是,配置中心里有个开关叫“订单超时时间”,改小一点,整个系统的订单流程立刻异常。这不是理论风险,是真实发生过的攻击路径。

漏洞根因有两个层面。第一,Nacos本身在1.x版本里对认证机制的支持不完整,控制台和API接口的鉴权逻辑可以绕过——直接访问`/nacos/v1/auth/users`接口,用简单POST请求就能新增管理员账号。第二,很多部署者根本没意识到,Nacos默认配置里`nacos.core.auth.enabled`是false,意味着认证功能完全关闭。两个因素叠加,攻击门槛低到发指。

修复方式不复杂,但得按顺序做。先升级到2.2.0以上版本,这个版本强制要求开启认证。然后改掉默认密码,别用`nacos`当口令。再检查防火墙规则,8848端口只允许内网IP访问。如果业务必须公网访问,前面加一层VPN或者反向代理做额外鉴权。最后,去Nacos控制台检查一遍现有账号列表,把可疑账号全部删掉。

但这里有个容易被忽略的点:很多团队的Nacos是历史遗留系统,跑着老版本,没人愿意动它,怕出问题。这种“能跑就不碰”的心态,恰恰是漏洞持续存在的原因。我见过一个金融项目,Nacos从2019年部署后就没升过级,直到等保测评发现问题才紧急处理。中间隔了两年,谁也不知道有没有人已经摸进去过。

还有个细节值得留意。Nacos的配置内容里经常藏着代码逻辑依赖的开关和参数。攻击者不一定需要拿到服务器权限,只要改一个配置项,就能让业务系统加载恶意类或者连到钓鱼数据库。这种攻击方式隐蔽性强,常规的WAF和IDS基本不会报警,因为流量看起来都是正常的HTTP请求。

所以别把Nacos当成普通中间件看待。它管着配置和注册信息,是微服务架构的命脉。给它的安全级别应该等同于数据库和密钥管理系统。日常巡检时,除了检查漏洞补丁,还要定期翻审计日志——看看有没有异常IP访问过控制台,有没有非工作时间段的登录记录。日志这玩意儿,平时没人看,出事的时候就是唯一的线索。

最后说句实在话,这漏洞不算高级,但杀伤力极大。它考验的不是攻击者的技术,而是运维人员的基本功——改密码、关端口、升级版本,这三件事做到位,漏洞就废了。可现实是,大多数漏洞被利用,不是因为攻击者多聪明,而是因为防守方连最基础的活儿都没干。

分享到: