【问题标题】:AWS EC2 instance replace key pairAWS EC2 实例替换密钥对
【发布时间】:2020-05-08 07:20:20
【问题描述】:

我正在尝试使用他自己的 aws 帐户为某人创建一个 ec2 实例。该人只能通过 Web 服务与机器进行交互。我不能让任何人通过 ssh 进入机器并掌握代码 IP。

如何禁止帐户所有者创建新的密钥对并替换我为机器设置的密钥对?

谢谢

【问题讨论】:

  • 他自己的aws账户是什么意思?他是root用户吗?如果是这样,他可能可以访问所有内容。
  • 该用户有一个大学预付账户,他需要使用这些资金。所以是的,那个人是该帐户的根

标签: amazon-ec2


【解决方案1】:

理想情况下,您应该在自己的帐户上拥有一个实例,您可以在其中控制并创建一个实例并安装您的 Web 服务并通过 Web 服务器托管它并向全世界公开 Web 端口(比如说端口 80) .

然后您编辑安全组以确保 Web 端口对全世界/对用户的 IP 开放(如果您使用静态 IP 范围)并且 SSH 端口 22 应该只对您的 IP 开放(如果您正在使用静态 IP 范围)。

如果您使用的是动态 IP,我的策略是使用步进服务器,即创建另一个服务器(具有弹性 IP),其密钥只有您知道和管理,并允许该服务器的 IP 地址通过修改您的 Web 服务器的安全组来获得对您的 Web 服务器的 SSH 权限。这样一来,只有您的帐户可以访问 Step 服务器,并且只有您可以从 Step 服务器登录到 Web 服务器,其他任何人都不能。

【讨论】:

  • 感谢您的回复 Rakesh。我将使用他的帐户的唯一原因是因为他已经有一个付费订阅和一些他需要花费的美元......否则你所说的完全有道理。
  • 恐怕你不能限制root帐户中的活动。因此,您的情况是您需要将代码托管在他是超级用户的用户机器上,而不让他看到代码,这似乎是不可能的。我唯一能想到的是将您的应用程序 docker 化,并在用户系统上运行 docker 容器,用户无法直接访问代码,但仍然能够查看容器内部,但它可以拥有不同的权限。不过,我确实必须检查一下。这简直是​​我的想法。
  • 他不是机器上的超级用户。他拥有 aws 帐户。他会给我他的登录凭据,我将创建一个新的密钥对并分配给机器,他将没有那个密钥对。从技术上讲,他根本无法通过 ssh 连接到机器。但是在aws中,您可以恢复密钥对并访问机器......我试图找出是否有办法禁止更改机器密钥对。就是这样
  • 如果此帐户是组织的一部分,您可以使用 SCP 来限制 root 用户的权限,否则 root 用户拥有所有权限,包括恢复密钥,一旦恢复以超级用户身份登录,要么删除他的 root 密钥,然后强制他以具有一些管理员权限或使用 SCP 的 IAM 用户身份登录,或者您根本不能:基本上您在他的帐户中所做的任何设置都可以稍后由他以 root 身份更改。
猜你喜欢
  • 2011-10-11
  • 1970-01-01
  • 1970-01-01
  • 2016-07-15
  • 2021-11-20
  • 1970-01-01
  • 2011-12-14
  • 2023-03-28
  • 2012-03-06
相关资源
最近更新 更多