多系统集中管理服务器

Posted

技术标签:

【中文标题】多系统集中管理服务器【英文标题】:Centralized management server for many systems 【发布时间】:2021-12-11 13:32:33 【问题描述】:

我们打算创建一个 REST API,该 API 将在 100 多台服务器上实施,以供集中管理门户 (CMP) 使用。此 CMP 本身将拥有对 API 的完全访问权限(用于计划任务等),并且授权在 CMP 本身上完成。

作为一项附加的安全措施,所有 100 多台服务器的 API 都只能从 CMP 的 IP 地址访问。

在这种情况下,如果有的话,使用 OAuth2 而不是作为环境变量存储在 CMP 上的一组 API 密钥(每个服务器唯一)的安全优势是什么?看了this,我们的用例似乎有些不同。

最终,我们认为我们可以只将 CMP 开放给需要访问它的 IP 地址的子集,但是,这在以后可能无法实现。

【问题讨论】:

【参考方案1】:

我会从客户的角度来考虑 API:

Web 或移动客户端如何安全地调用 API? 最终用户身份将如何流向 API?

如果您不需要处理这些问题中的任何一个,那么 OAuth 除了为您提供一些改进的授权机制之外,不会提供令人信服的好处:

Scopes Claims Zero Trust

用户诉基础设施安全

当涉及到用户级别的安全性时,我会使用 OAuth,而不是在您的场景中,这更像是基础设施安全性。

某些系统(例如 AWS 或 Kubernetes)为您提供内置的基础设施策略,其中 API 主机可以配置为仅允许来自具有 CMP 角色的主机的调用。

如果可能的话,我更喜欢这种类型的基础设施安全选项,而不是编写代码来管理 API 密钥。

【讨论】:

好吧,在 100 多台服务器中,每个都托管自己的 API 的唯一有效客户端是 CMP,因此我认为 OAuth 不会真正提供上述任何令人信服的好处。

以上是关于多系统集中管理服务器的主要内容,如果未能解决你的问题,请参考以下文章

Puppet集中配置管理系统安装部署教程

Linux用户权限集中管理方案

集中管理交换机,路由器的系统日志syslog

Puppet集中配置管理系统

Puppet 集中配置管理系统

多个服务器集中管理