我正在使用亚马逊的工具来构建一个网络应用程序。我对他们很满意,但我有安全方面的顾虑。
现在,我正在使用多个 EC2 实例、S3、SimpleDB 和 SQS。为了验证对不同服务的请求,您包括访问标识符(需要登录)。
例如,要将文件从 EC2 实例上传到 S3,您的 EC2 实例需要具有您的Access Key ID和Secret Access Key。
这基本上意味着您的用户名和密码需要在您的实例中。
如果我的其中一个实例遭到入侵,我的所有亚马逊资产都会遭到入侵。密钥可用于上传/替换 S3 和 SimpleDB 数据,启动和停止 EC2 实例等。
如何将单个受感染主机的损害降至最低?
我的第一个想法是为每个帐户获取多个标识符,以便我可以跟踪所做的更改并快速撤消“被黑”帐户。亚马逊不支持每个账户多于一组凭证。
我的第二个想法是创建多个帐户并使用 ACL 来控制访问。不幸的是,并非所有服务都支持授予其他帐户访问您的数据的权限。此外,您使用的带宽越多,带宽就越便宜,因此所有这些都通过一个帐户进行是理想的。
有没有人处理过,或者至少考虑过这个问题?