我读过让EC2实例可访问的最佳安全实践是将它们放置在私有VPC子网中,在公共VPC子网中创建一个Bastion主机,并使用一个安全组只允许来自Bastion的连接,然后进行密钥转发以登录到私有实例。
然而,看起来AWS提供了各种配置,这些配置似乎提供了与实际Bastion主机类似的功能。例如,在公共子网上使用Security似乎相当不错,而且如果有人能够访问您的Bastion,那么他们很可能离您的私钥不远。在任何情况下,有没有任何地方可以找到更多关于这个主题的信息?
发布于 2018-08-02 07:32:50
您可以在这里找到使用Bastion的最佳实践:https://docs.aws.amazon.com/quickstart/latest/linux-bastion/architecture.html
对堡垒主机的访问被锁定到已知的CIDR作用域以供进入。这是通过将堡垒实例与安全组相关联来实现的。快速启动将为此目的创建一个BastionSecurityGroup资源。 端口受限于只允许对堡垒主机进行必要的访问。对于Linux堡垒主机,SSH连接的TCP端口22通常是唯一允许的端口。
请注意,创建SSH隧道以通过Bastion主机连接到给定资源是非常常见的:https://myopswork.com/transparent-ssh-tunnel-through-a-bastion-host-d1d864ddb9ae
希望能帮上忙!
发布于 2018-08-02 14:31:27
这是一个最小化攻击表面的问题。
有了堡垒主机,你唯一接触到的开放互联网(比如任何负载平衡器)都是端口22,它有一个相对可信软件支持。
它也是一个单一的管理点:定义一个安全组来标识允许与堡垒联系的IP地址,并创建一个authorized_keys文件,其中包含授权用户的公钥。当用户离开时,您将从每个行中删除一行。
相比之下,如果您仅依赖安全组来保护可公开访问的主机,则需要在每个组上复制相同的设置(并根据需要删除/更新它们)。如果允许SSH访问这些主机,则必须在每次更改后分发authorized_keys文件。
虽然我不能建议这样做,但至少在bastion主机上打开端口22进行世界访问是合理的。如果你有很多用户,或者那些用户通过系带手机连接,这甚至可能是合理的。这是你永远也不想用任意的服务做的事情。
发布于 2022-08-31 17:10:16
让我用更简单的方式回答这个问题。
首先,人们需要了解堡垒主机(有些人称它为跳跳盒)。
诀窍是,只有一台服务器,即堡垒主机,可以通过SSH从
THE INTERNET访问(应该限制在特定的源IP地址)。所有其他服务器只能通过SSH从堡垒主机到达。
这种方法有三个安全优点:

希望这能帮助理解他人!
https://stackoverflow.com/questions/51643029
复制相似问题