管理EC2上的实例访问

ana*_*and 7 security amazon-ec2

我们正在Amazon EC2上设置我们的IT基础架构.假设设置如下:X生产服务器Y登台服务器日志整理和监控服务器构建服务器显然,我们需要让各种服务器相互通信.需要将新构建scp到staging服务器.Log collat​​or需要从生产服务器提取日志.我们很快意识到我们在管理访问密钥时遇到了麻烦.每个服务器都有自己的密钥对,可能还有自己的安全组.我们最终将*.pem文件从服务器复制到服务器类型,这是对安全性的嘲弄.构建服务器具有登台服务器的访问密钥,以便通过ssh连接并推送新的构建.登台服务器同样具有生产实例的访问密钥(gulp!)我在网上做了一些广泛的搜索,但实际上找不到任何人谈论管理这个问题的合理方法.设置与我们相似的人如何处理此问题?我们知道我们目前的工作方式是错误的.问题是 - 什么是正确的方法?感谢您的帮助!谢谢

[更新]我们的情况很复杂,因为至少需要从外部服务器(特别是github)访问构建服务器.我们使用Jenkins,post commit hook需要一个可公开访问的URL.@rook建议的堡垒方法在这种情况下失败了.

roo*_*ook 5

处理对EC2实例集合的访问的一种非常好的方法是使用堡垒主机.

您在EC2上使用的所有计算机都应禁止SSH访问开放式Internet,但Bastion Host除外.创建一个名为"Bastion Host"的新安全策略,并且只允许从堡垒传入的端口22到所有其他EC2实例.EC2集合使用的所有密钥都位于堡垒主机上.每个用户都有自己的帐户到堡垒主机.这些用户应使用受密码保护的密钥文件对堡垒进行身份验证.一旦他们登录,他们应该可以访问他们完成工作所需的任何密钥.当某人被解雇时,您将其用户帐户移至堡垒.如果用户从堡垒复制密钥,则无关紧要,因为除非他们首次登录堡垒,否则他们无法登录.