我们有一个由 20 多名实习生组成的团队,他们每 3-6 个月就会加入和离开一次。他们每个人都在 10-15 个共享 AWS 实例上设置了单独的 SSH 登录,其中一些实例已经运行了数年,另一些实例只运行了几天或几周。每次,我们都需要管理员创建实例并授权用户及其密钥,以及设置他们的角色。当他们离开时,管理员会手动删除所有用户,或者在某些情况下仅阻止授权密钥以阻止 SSH。
能够自动化此用户和正在运行的实例的 SSH 管理的最佳实践是什么?我们如何审核我们的实例以确保用户不会绕过我们的 SSH 限制?
答案1
如果你总是有人离开和加入,并且你对安全性有点关心,那么你可能需要考虑多因素身份验证以及传送。
Teleport 中的“集群”概念应允许用户自动登录集群中的新主机,无需干预。您还可以指定 SSH 密钥的持续时间并轻松跨集群创建/删除用户。
设置 Teleport 可能与使用 Puppet/Chef 一样复杂,因此您可能需要在实施之前准备并确定您的需求和功能列表的优先顺序。
LDAP/AD 支持是 Teleport 的付费功能。
答案2
FreeIPA 很可能就是您正在寻找的。 http://freeipa.org/page/Main_Page
它允许从 Web 界面管理主机和用户、设置到期日期等。