NJet 密码重置工具
nginx 向云原生演进,All in OpenNJet!
1. 开发背景
NJet 的 API 网关(API Gateway)提供了 OpenAPI3.0 格式文档的导入,提供了用户角色及 API 授权关系的维护 API,以及基于角色的 API 访问控制。用户通过 API 网关提供的 Restful 接口,可以在 NJet 实例上注册后端服务,并开启授权校验功能。后端服务不需要提供额外的登录及授权功能,由 API 网关提供统一安全管控。
API 网关系统中的 agw_admin 用户具有系统最高权限,掌控着其管理的所有数据的生杀大权。其密码一旦泄露,攻击者可肆意篡改、删除或窃取核心数据,甚至植入恶意代码导致服务瘫痪。agw_admin 的密码如同保险柜的终极密码,建议采用高强度组合(如 12 位以上大小写字母+数字+符号),定期更换,并严格限制访问范围。任何疏忽都可能引发数据泄露、业务停摆等灾难性后果,是企业信息安全防线的最后堡垒。 NJet 密码重置工具实现了对 API 网关中 agw_admin 用户密码的重置与更新。
2. 使用场景
在安装 NJet 时, NJet 会为 API 网关的 agw_admin 用户随机生成一个密码。这保证了在不同的系统上,为 agw_admin 用户生成的初始密码各不相同。这个密码 agw_admin 用户最初是不知道的,在开始使用 API 网关之前,系统管理员必须对 API 网关的 agw_admin 密码进行重新设置。这样就避免了由于采用统一的初始密码带来的隐患。
NJet 为更新 API 网关的 agw_admin 密码提供了一个工具 agw_passwd,在编译安装 njet 时会同时安装。这个工具只能在数据库所在的机器上本地执行。其基本功能是重置数据库密码,可以由用户提供新密码,如果没有提供,则由系统随机产生新的密码串。以后,系统管理员也可以通过这个工具定期更新密码。
3. 具体使用
这个程序需要两个参数,一个是数据库的路径,另一个是新的密码,如果没有提供新的密码,则会由系统随机生成一个。
如果指定了新密码,则会将密码更新为新密码。
后续根据需要,NJet 还会开发出具有各种功能的工具,方便 NJet 的使用与维护。
4. 备注
该工具将在 NJet 发布的正式版本(NJet4.0)中发布,目前在 njet 的 dynconf 分支上可以试用。
工具的安装位置与 njet 相同,默认为/usr/local/njet/sbin 目录下。
数据库的默认位置为 /usr/local/njet/apigw_data/api_gateway.db
NJet 应用引擎通过内核重构实现了独特的运行时 动态配置加载 能力,是 新一代高性能 Web 应用引擎 。NJet 拥有高性能数据面处理能力,将集群、高可用、主动健康检查、声明式 API 等多种辅助功能,通过 NJet 独特的副驾驶 CoPilot 服务框架调度,从而方便功能扩展,隔离管理 / 控制功能对数据面的影响,NJet 应用引擎性能超过 CNCF 推荐 Envoy 应用引擎的三倍。
版权声明: 本文为 InfoQ 作者【通明湖】的原创文章。
原文链接:【http://xie.infoq.cn/article/274aacdbba1bd3bfcd24d4902】。文章转载请联系作者。
评论