我的公司有几十台服务器托管在云提供商上。除一个(OpenVPN 主机)外,其他所有主机都对互联网关闭。我们正在使用 OpenVPN AS,它使用证书 + Google Authenticator 进行登录。
我们对安全性非常感兴趣,我们希望最大限度地减少潜在的损害,以防我们员工的一台计算机被渗透。为此,我们要求员工通过 Yubico-PAM 锁定他们的个人机器。
我还想使用 Yubikeys 进行 SSH 访问。现在,Neo通过其 JavaCard 支持支持 SSH/GPG 密钥。我喜欢这个选项,因为它不需要对我们现有的任何服务器进行重大修改,只需修改它们的authorized_keys
文件。
我还看到了通过密码(输入密码,触摸 yubikey)集成 Yubico-PAM。这很好,但我们不使用密码,我们使用密钥文件,除非有令人信服的安全理由来切换,否则我宁愿保持这种方式。
我看到的第三个选项是AuthenticationMethods
在最新版本的 sshd 中(更多在这里)。这正确地允许您使用密钥对和 Yubikey。使用正确的密钥登录后,系统会提示用户按下其 yubikey 上的按钮。不幸的是,服务器似乎需要 ping Yubicloud。
在这两种情况下,我都可能会为 Yubikey auth 构建和查询 LDAP 服务器,这样我们就可以轻松地撤销/添加密钥,而无需 ssh 进入每台机器。
在我看来,第一个选项是最好的(在 Yubikey Neo 本身上生成密钥),因为它需要我们服务器的最少配置,不依赖 Yubicloud 服务来防止重播,并且不需要 LDAP 服务器.
你们中是否有人将 Yubikeys(或其他硬件令牌)集成到您的管理流程中?如果是这样,您选择了哪种方法,为什么选择它?