防止任何人在AWS上访问我的EC2实例内容

时间:2019-05-13 20:07:56

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

我正在使用共享的AWS帐户(该帐户中的每个人都具有root访问权限)在我创建的EC2实例上部署服务器。有什么方法可以阻止其他有权访问同一AWS账户的人访问我放置在EC2实例上的内容?

据我所知,创建单独的密钥对是行不通的,因为其他人可以快照该实例并使用他们拥有的另一个密钥对启动它。

2 个答案:

答案 0 :(得分:1)

  

我正在使用共享的AWS账户(账户中的每个人都有root   访问)以在我创建的EC2实例上部署服务器。在那儿   一种阻止其他有权访问同一AWS账户的人的方法   访问我放在EC2实例上的内容?

不,您无法实现目标。

当涉及访问安全性时,您要么具有100%的安全性,要么没有。如果其他用户具有root用户访问权限,则不能阻止他们对自己的实例执行所需的操作。他们可以删除,修改,克隆和访问。有一些方法可以使此操作变得更加困难,但是具有丰富经验的任何人都可以绕过这些方法。

我的建议是创建一个单独的帐户。这并非总是如您所愿,而是一种标准的最佳实践(访问/责任分离)。这样会将您的实例与其他实例隔离。

有些第三方工具支持数据加密。您将无法在实例上存储密钥/密码。每次加密/解密数据时,您都需要输入密钥/密码。

  

据我所知,创建单独的密钥对是行不通的,因为   其他人可以快照该实例并使用另一个密钥启动它   他们拥有的一对。

通过root用户访问,可以通过多种方式访问​​实例磁盘上存储的数据。克隆磁盘,然后将其挂载到另一个实例就是一个例子。

答案 1 :(得分:1)

默认情况下,IAM用户无权访问任何AWS服务。他们无法启动任何Amazon EC2实例,访问Amazon S3数据或为实例创建快照。

但是,要让他们执行其工作,必须为IAM用户分配权限。通常建议不向所有人授予管理员访问权限。相反,应该为人们分配足够的权限来完成分配的工作。

一些公司将开发/测试/产品资源分开,在开发环境中授予很多人权限,但锁定了对生产的访问权限。这样做是为了确保连续性,可恢复性和隐私性。

您的要求是防止人们访问特定Amazon EC2实例上的信息。这可以通过使用只有您知道的密钥对来完成。因此,没有人可以登录到实例。

但是,正如您所指出的那样,可以采取一些措施,例如复制磁盘(EBS快照)并将其安装在另一台计算机上,从而获得对数据的访问权限。 类似于传统数据中心中的安全性-如果某人可以物理访问计算机,则他们可以提取磁盘,将其连接到另一台计算机并访问数据。这就是为什么传统数据中心具有重要的物理安全性以防止未经授权的访问的原因。等同于此物理安全性的AWS是IAM权限,该权限授予特定用户执行某些操作(例如创建磁盘快照)的权限。

如果有人在AWS账户上拥有Admin / root访问权限,那么他们可以做任何想做的事情。这是设计使然。如果您不希望人们拥有这种访问权限,请不要为他们分配这些权限。

有时,公司会面临一个折衷:他们希望管理员能够做任何必要的事情来提供IT服务,但他们也希望保护敏感数据。人力资源系统就是一个例子,其中包含不希望普通员工访问的敏感信息。一种典型的处理方式是将HR系统放在单独的AWS账户中,该账户不向IT人员提供一般访问权限,并且可能具有其他保护措施,例如 MFA和其他审核日志记录< / strong>。

底线::如果人们拥有物理访问权限或类似Admin的权限,则他们可以做任何喜欢的事情。您应该限制权限的授予,或者使用单独的AWS账户。