如何安全地管理 EC2 管理的密钥对的私钥?

Jef*_*eff 8 security amazon-ec2

为了启动 EC2 实例,您需要一个密钥对。您如何处理有权访问该密钥对的私钥的工程师离开公司的情况?在实例启动后立即添加个人 ssh 访问权限并取消对初始密钥对的授权是否可行?

Eri*_*ond 10

当员工或承包商离开公司时,您需要禁用他们对公司资源的任何特权访问。这包括(但不限于)您的 ssh 关键问题:

  1. 从所有正在运行的实例上的所有 authorized_keys 文件中删除公共 ssh 密钥。将它们替换为新生成的公共 ssh 密钥,只有有权访问的人知道该密钥。

  2. 删除离开者已知的 EC2 中的所有密钥对条目,以便无法使用这些密钥对启动新实例。用新的密钥对条目替换它们,如果您使用相同的名称

您提出的另一种方法也很好,也是我使用的方法:禁用初始 ssh 密钥并为每个开发人员添加单独的公共 ssh 密钥,以便他们可以使用正常的私有 ssh 密钥登录。这可以通过登录共享帐户或每个开发人员获得自己的个人用户帐户(我的首选)来完成。

员工离职后,您不仅要清理正在运行的服务器,还要清理将 ssh 密钥添加到新服务器的过程。而且,当员工加入时,您需要执行相反的操作:将 ssh 密钥添加到正在运行的服务器并更新新的服务器进程。

在许多服务器上维护大量 ssh 密钥可能需要更多的工作,但这就是自动化的用武之地。


Jef*_*and 2

请参阅 Amazon 有关访问凭证轮换的文档。

如果您不想重新启动所有内容,或者只是重新启动所有内容,请使用木偶或可靠的 ssh 脚本之类的东西来运行并替换旧密钥的所有实例。

  • ssh 登录由 ~/.authorized_keys 条目控制。这些最初是由 EC2 启动过程播种的,因此需要使用木偶或脚本来替换它们或重新启动。 (2认同)