我们正在考虑改变的安全流程之一是我们允许用户访问我们服务器的方式。我们有大约 20 台 Web 服务器,其中唯一的访问权限是 SSH,目前我们使用密码身份验证。随着基于密钥的身份验证更加安全,我必须考虑如何最好地管理这个过程。
如果我们有 8 个远程用户都使用不同的机器,我们如何控制密钥身份验证,因为这些机器中的每一个都需要服务器的密钥。管理是在客户端级别还是服务器级别完成的?当用户更换笔记本电脑或尝试从不同的机器/位置远程访问时会发生什么?
除此之外,我们正在研究:
更改 SSH 端口 我们已经禁用了 root 查看使用 PAM 白名单 IP 进行服务器访问的 google-authenticator?用于服务器跳跃的安全 SSH 服务器?
还有什么遗漏的吗?
每个用户都应该生成自己的密钥对并为您提供一份公钥副本,您将把它放入适当的 AuthorizedKeysFile(通常是 ~/.ssh/authorized_keys),或者他们可以将其放入自己的 ~/.ssh/authorized_keys 文件.
应该要求他们在私钥上设置密码。当他们更换笔记本电脑时,他们只需随身携带一份私钥副本(这是一个简单的文本文件)。
如果您的用户有智能手机,那么您可以使用像Duo这样的服务(这很容易安装和设置)或因为您不是 google auth来添加两步身份验证(无论如何都是一件好事) 。