Ansible 服务器的安全性

Ansible 服务器的安全性

因此,Ansible 目前非常流行,其他配置管理解决方案(如 Puppet、SaltStack 等)也同样如此。我所在的公司管理着 500 多台服务器,有些人正在实施 Ansible 解决方案,以尽量减少配置管理开销。

尽管我很偏执,但我还是开始思考如果有人精神不正常的话,实际上可以从 Ansible 服务器做些什么。

我在网上搜索了最佳实践,以加强 Ansible 服务器的安全,我找到的大多是有关如何使用 Ansible 加强其他服务器的文章(显然如此),而且我还找到了有关如何加强 Linux 服务器的一般建议,因为 Ansible 运行在 Linux 上。因此,这让我想到,拥有集中配置管理服务器的总体想法会带来一些风险;作为黑客或心怀不满的员工,我是否能够rm -rf /使用 Ansible 服务器在所有服务器或类似服务器上运行命令?

根据经验,我认为如果拥有一个分段网络,其中测试、开发、预生产和生产彼此都不可用,则意味着您至少会为每个环境安装一个 Ansible 服务器,因此您没有防火墙允许访问所有系统的服务器。我想这至少是常识。

然而,如果您想到某些不应该访问 Ansible 服务器的人,那么可以配置整个服务器网络的服务器的想法是疯狂的。

是否会创建某种在运行命令之前启动的 MFA,或者 Ansible 服务器是否无法创建自己的剧本,然后剧本从其他地方的只读服务器安装,因此后期利用的可能性至少要求你控制的不仅仅是 Ansible 服务器?

我们是否将 Ansible 服务器放在一个锁定的管理网络上,即使是员工也难以通过 MFA 访问,有特殊访问要求,没有 VPN,只能进行现场访问等等?

或者我们是否接受风险并保留良好的备份并妥善保护网络,并接受如果 Ansible 服务器受到攻击,破坏可能迫在眉睫?

或者我对 Ansible 的破坏能力的认识是完全错误的?

答案1

网络安全是您的选择。分段和身份验证非常有意义。如果发生任何不良情况,您有业务连续性计划来恢复服务,对吗?

从根本上讲,这关乎人们的信任。必须有人推动变革。如果该人是管理员,他们可能会因意外或恶意而造成很多损害。

Ansible 不一定是集中式的。一种常见的模式是从源代码控制中检出剧本并从任何主机运行它。如果您愿意,它可以集中化:从管理主机运行剧本。而且,Ansible Tower 提供了一个运行事物的中央界面。

考虑如何部署到主机。Ansible 能够以个人用户身份连接,并根据需要使用 become 切换用户。这仅在您的 become 方法允许该主机时才有效。可能是 sudo,但也可能是其他方法。据推测,如果您愿意,您可以审核身份验证并锁定未经授权的用户。就像您在没有自动化的情况下所做的那样。

相关内容