我正在 PfSense 2.0 上设置 OpenVPN,现在我想知道是否应该使用“auth-user-pass”选项,在 openssl 密钥上设置密码,或者两者兼而有之。
两者都需要除了有效证书之外的额外密码,但我不知道一种方法是否比另一种更安全。
PfSense 网络界面似乎仅直接支持“auth-user-pass”方法,因此使用密码意味着每个证书都需要额外的步骤(使用 openssl 命令添加密码)。
答案1
这两个不同的密码,虽然在用户看到的内容上相似,但它们保护的内容却完全不同。
私钥密码是用户私钥的解密密钥,为静态数据提供安全性。用户可以随意更改和删除它,只要她熟悉 x.509 证书和私钥处理。应该注意的是,在最好的情况下,作为 VPN 网关操作员的您不会知道用户的私钥及其密码,因为这些将由用户自己生成和维护。
auth-user-pass 指令用于查询 OpenVPN 访问的用户名/密码组合。它与 XAuth 对 IPSec 的作用类似 - 使用它,OpenVPN 可以与 RADIUS、LDAP 或 PAM 等外部身份验证服务集成。这能可以用来缓解“私钥被盗”事件,但更有可能的是,它最终成为大多数安装中唯一的身份验证方法,因此 OpenVPN 可以完全在没有客户端证书的情况下运行(使用客户端证书不需要选项),并为 VPN 拨号上网的用户提供一些单点登录功能。
其中一个选项是否比另一个“更好”,在很大程度上取决于您实际在做什么以及想要实现什么。