一、漏洞背景
Nacos是阿里巴巴开源的一个注册中心和配置中心项目,它为微服务架构提供了服务发现和管理、动态配置管理、服务及流量管理等功能。然而,2019年12月18日,Nacos官方发布了一篇博客,公布了Nacos存在一个严重的未授权访问漏洞(CVE-2019-19781),该漏洞允许攻击者通过HTTP协议,无需认证即可访问Nacos Server管理页面,导致Nacos Server管理权限被暴露,严重危害了Nacos系统的安全性。针对此漏洞,本文将从代码实现、漏洞影响、修复措施等方面进行详细介绍。
二、漏洞影响
该漏洞存在于Nacos Server的web管理端口,攻击者可以在不知道任何用户名和密码的情况下,通过以下URL直接访问Nacos Server的管理页面:
http://:8848/nacos
攻击者可以在不受限制的情况下访问所有API接口,包括管理配置、注册中心功能等。攻击者还可以通过此漏洞直接发现当前Nacos环境中的所有服务、配置信息等,造成严重安全威胁。
三、修复措施
针对此漏洞,Nacos官方已经紧急修复了该漏洞,并发布了补丁和新版本。如果您使用的是较早版本的Nacos,建议您立即升级到最新版本或应用相应的补丁。具体修复措施如下:
1、升级到最新版本
您可以通过Nacos官网下载最新版本的Nacos Server,并将其部署到您的环境中,从而避免该漏洞对您的系统造成安全威胁。具体步骤如下:
- 从 Nacos Releases 下载最新版本的 Nacos Server。
- 解压该包。
- 进入解压后的目录并执行 bin/startup.sh(bin\startup.cmd) 命令即可启动 Nacos Server。
启动成功后,通过如下URL即可访问Nacos Server的管理页面:
http://:8848/nacos
2、应用安全补丁
如果您无法立即升级到最新版本,那么您可以应用安全补丁。根据官方公告提供的修复方案,可通过以下步骤进行操作:
- 进入Nacos Server的lib目录,下载 jackson-databind-2.9.10.4.jar。
- 删除Nacos Server的lib目录中的 jackson-databind-2.9.6.jar。
- 将下载的 jackson-databind-2.9.10.4.jar 拷贝到Nacos Server的lib目录中。
- 重启Nacos Server即可应用补丁。
3、其他安全建议
为了保障Server的安全,建议您修改Nacos Server的默认端口、配置防火墙、设置强密码等措施,提升系统安全性。
四、总结
本文主要介绍了 Nacos 未授权访问漏洞的漏洞原理、影响和修复方法,鼓励大家使用Nacos时遵循最佳安全实践,并修复您的系统中存在的该漏洞。