堡垒主机说明

堡垒主机说明

我刚刚在 AWS 中设置了我的第一个堡垒主机,这让我开始思考访问问题。例如:

user --> bastion (public) --> database (will only allow access from bastion IP on port 22)

看来我可以通过两种方式来做到这一点:

第一的

用户将拥有两个私钥,分别是其个人密钥和数据库密钥。使用 添加ssh-add -K。因此,为了通过 ssh 进入数据库,用户将执行以下操作:ssh -A user@bastion然后,一旦登录到堡垒主机,他只需执行另一个 ssh 即可进入数据库。

第二

用户只有一个私钥,即他的个人密钥。他将使用该密钥通过 ssh 进入堡垒主机,然后从那里连接到数据库。这次没有密钥转发,因为数据库已授权堡垒的密钥。

两者的区别在于,对于第一种方法,用户只需要数据库的密钥,而对于第二种方法,用户不需要。

我的问题是,哪一种是实现这一目标的最佳方法?看起来这两种方式都可以被认为是安全的。但第二种方式可能更好,因为管理员不必将数据库密钥分发给用户。

答案1

如果您认为 ssh 私钥可以识别用户,那么第二种方法就相当于授权同一个用户访问堡垒和数据库主机。正如您所说,这可以稍微简化管理,但您必须评估风险以及是否值得。

然而第一种方法在实践中不太可能增加任何安全性。如果攻击者能够获得其中一个私钥,他们可能也能获得另一个私钥。

总而言之,除非您是高价值目标,否则第二种方法可能没问题。无论哪种方式,需要小心保护具有数据库 ssh 访问权限的用户帐户。

相关内容