我曾经工作过的地方,那里的人们通常使用 SSH 在所有服务器之间移动,无需密码。通常有几台服务器,从本质上讲,它们被认为更安全(不会暴露在网络上等),您可以从这些服务器无需密码登录到其他服务器。相反的情况也曾发生过 - 您需要密码/其他访问控制机制来控制一切。
从安全角度来看,我强烈反对第一种方案。虽然这组服务器可以被认为更安全,但这显然值得商榷。但我有几个同事提倡这样做,而且我不得不承认它非常方便。无论如何,如果攻击者可以在一台机器上获得 root 权限,那么它基本上就“拥有”了整个系统。
我对于安全的要求是否太严格了?
答案1
这在某种程度上取决于环境。没有直接互联网访问的防火墙和 ACL 环境(例如 HPC 计算场)当然可以使用这种做法,以方便使用。我见过这种方法在具有大量节点和相当少的管理人员的芯片设计环境中发挥了巨大作用。当需要解决整个计算集群的问题时,它可以提供卓越的灵活性和快速响应。
我见过的另一种使用环境是允许从一组受到严格保护和监控的指定主机(堡垒主机)进行基于密钥的 root SSH。允许使用密钥的机制是让这些堡垒主机上的 root 用户运行 ssh-key 密码和 ssh-agent。目标主机配置为仅允许从具有该特定密钥的主机进行 root ssh。进行超级用户级别的身份验证并输入密钥的密码以将其加载到代理中。然后你就可以开始比赛了。
所以这是可以安全地完成的。你只需选择允许曝光的内容和位置即可。