Dubbo Admin 安全

更安全地使用 Dubbo Admin

为了方便使用 Dubbo,Dubbo 官方提供了 Dubbo Admin 控制台,方便管理 Dubbo 应用。

风险

Dubbo Admin 默认情况下对整个集群拥有查询和调用权限,因此在线环境下需要更加谨慎使用。此外,为了降低任意访问 Dubbo Admin 的风险,Dubbo Admin 也提供了一个简单的身份验证机制。为了使 Dubbo Admin 更安全,请参考以下文档。

身份验证方案

Dubbo Admin 默认提供基于用户名和密码的登录机制,并在请求过程中基于 JWT Token 进行身份验证。从方便初学者的角度出发,Dubbo Admin 包含默认的用户名、密码和 JWT Secret Token。

由于 Dubbo Admin 是公开发布的,默认的用户名、密码和 JWT Secret Token 都是公开的。在您的生产环境中,请务必更改默认的用户名、密码和 JWT Secret Token。

如何更改默认的用户名、密码和 JWT Secret Token

对于直接基于 Java 代码打包部署的用户,可以直接修改 dubbo-admin-server/src/main/resources/application.properties 中的以下配置

admin.root.user.name=root
admin.root.user.password=root
admin.check.signSecret=86295dd0c4ef69a1036b0b0c15158d77

对于通过 Docker 部署的用户,您可以在 /dubbo/dubbo-admin/properties 中修改以下配置

admin.root.user.name=root
admin.root.user.password=root
admin.check.signSecret=86295dd0c4ef69a1036b0b0c15158d77

对于通过 Kubernetes 部署的用户,可以在 ConfigMap 中修改以下配置

admin.root.user.name=root
admin.root.user.password=root
admin.check.signSecret=86295dd0c4ef69a1036b0b0c15158d77

对于通过 Helm 部署的用户,您可以指定以下配置

properties:
  admin.root.user.name: root
  admin.root.user.password: root
  admin.check.signSecret: 86295dd0c4ef69a1036b0b0c15158d77

最佳实践

  1. 请在私有化部署时更新默认的用户名、密码和 JWT Secret Token。建议修改 Dubbo Admin 的身份验证逻辑,并与您组织的人员管理系统进行对接。
  2. 不要将 Dubbo Admin 端口直接暴露到互联网。

上次修改时间:2024 年 1 月 30 日:添加 Dubbo Admin 公告 (54091f306c6)