【问题标题】:Impact of AWS Account IdentifiersAWS 账户标识符的影响
【发布时间】:2010-09-12 21:59:14
【问题描述】:

我正在使用亚马逊的工具来构建一个网络应用程序。我对他们很满意,但我有安全方面的顾虑。

现在,我正在使用多个 EC2 实例、S3、SimpleDB 和 SQS。为了验证对不同服务的请求,您包括您的Access Identifiers(需要登录)。

例如,要将文件从 EC2 实例上传到 S3,您的 EC2 实例需要有您的访问密钥 ID 和您的秘密访问密钥

这基本上意味着您的用户名和密码需要在您的实例中。

如果我的一个实例遭到入侵,我的所有 Amazon 资产都会遭到入侵。密钥可用于上传/替换 S3 和 SimpleDB 数据,启动和停止 EC2 实例等。

如何将单个受感染主机的损害降至最低?

我的第一个想法是为每个帐户获取多个标识符,以便我可以跟踪所做的更改并快速撤消“被黑”帐户。 Amazon 不支持每个帐户使用一组以上的凭据。

我的第二个想法是创建多个帐户并使用 ACL 来控制访问。不幸的是,并非所有服务都支持授予其他帐户访问您的数据的权限。此外,您使用的带宽越多越便宜,因此通过一个帐户进行所有操作是理想的。

有没有人处理过,或者至少考虑过这个问题?

【问题讨论】:

    标签: security amazon-web-services amazon-s3 amazon-ec2 amazon-simpledb


    【解决方案1】:

    您可以做的是拥有一个超级锁定的“身份验证服务器”。密钥只存在于这台服务器上,所有其他服务器都需要请求它的许可。您可以将自己的密钥分配给各个服务器,也可以通过 IP 地址将其锁定。这样,如果服务器受到威胁,您只需从“身份验证服务器”撤销其密钥。

    这是可能的,因为 AWS 身份验证的工作方式。假设您的网络服务器需要将文件上传到 S3。首先,它将生成 AWS 请求,并将该请求与您的自定义服务器密钥一起发送到“身份验证服务器”。身份验证服务器将对请求进行身份验证,执行加密魔法,并将经过身份验证的字符串返回给网络服务器。然后,网络服务器可以使用它来实际提交请求以及要上传到 S3 的文件。

    【讨论】:

    • 这种“滚动你自己的”身份验证服务器可能会导致意外且未被注意的安全漏洞。 AWS 现在(但在第一次被问到时没有回来)拥有管理问题风险的设施。特别是,IAM 角色(如@cudds 的回答所述)非常适合这个问题。
    【解决方案2】:

    AWS 允许您使用Identity and Access Management 创建多个用户。这将允许您实施任何一种方案。

    我建议为每个 EC2 实例定义一个 IAM 用户,这允许您在相应的 EC2 实例遭到破坏时撤销对特定用户(或只是他们的访问密钥)的访问权限,并且还可以使用细粒度权限来限制哪些 API用户可以调用以及他们可以访问哪些资源(例如只允许用户上传到特定的存储桶)。

    【讨论】:

    • 是的,IAM 是要走的路。 IAM 权限可以进一步细化为具体实例需要执行的操作(从非常特定的存储桶上传或读取数据等)
    • 感谢 cmets Daniel,我已更新答案以纳入您的建议。
    • 现在角色可用,对于这个问题,他们是比 IAM 用户更好的选择。
    【解决方案3】:

    此外,AWS IAM 角色允许您将权限分配给 EC2 实例,而不必在实例上放置密钥。 请参阅http://aws.typepad.com/aws/2012/06/iam-roles-for-ec2-instances-simplified-secure-access-to-aws-service-apis-from-ec2.html 的博客文章 大多数 SDK 使用角色创建的临时密钥。

    【讨论】:

      【解决方案4】:

      AWS 提供“整合账单”,可以解决您的疑虑。

      https://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&action=consolidated-billing

      “Consolidated Billing 使您能够通过指定一个支付账户来合并贵公司内多个 Amazon Web Services (AWS) 账户的付款。您可以查看所有账户产生的 AWS 成本的组合视图,并获得详细的与您的支付账户关联的每个 AWS 账户的成本报告。整合账单还可以降低您的总体成本,因为您所有账户的累计使用量可以帮助您更快地达到价格较低的批量等级。”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-19
        • 1970-01-01
        • 2020-07-10
        • 2014-04-13
        • 1970-01-01
        • 2018-06-08
        • 2016-03-14
        相关资源
        最近更新 更多