我应该在哪里以及如何定义 OpenVPN 用户密码?

我应该在哪里以及如何定义 OpenVPN 用户密码?

由于此关联为了进行用户/密码验证,应该将下面的行添加到服务器配置文件中。

plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login

但是链接没有提到如何login填充文件。
我在Ubuntu 18.04上。

答案1

PAM 代表可插入身份验证模块是一个系统身份验证和授权框架。它可以使用文件、数据库或任何您配置为密码存储的东西。它甚至可以使用除密码之外的其他东西进行身份验证(例如 OTP 等);它可以进行双因素身份验证,链接到外部受信任的第三方(如 Kerberos)等等。在最简单的情况下,它使用阴影用于存储系统用户的加密密码的文件。

openvpn-auth-pam模块允许您使用此系统身份验证框架对 OpenVPN 对等方进行身份验证。login这里表示您的 OpenVPN 将使用的 PAM 服务。您可能已经拥有一些服务,例如system-auth用于本地用户的服务。查看/etc/pam.d/文件以了解 PAM 的配置方式,并请阅读其手册。

您会发现,login默认情况下,该服务仅引用system-auth。要按原样使用它,您首先要创建本地系统用户并设置他们的密码。然后,--auth-user-pass向客户端配置添加一个选项,要么使用凭证文件名,要么使用 naked(然后它将以交互方式请求凭证)。man openvpn有关详细信息,请参阅。

最后,请记住始终首先采用基于证书的身份验证。每个 VPN 对等体必须拥有自己独特的证书/密钥对。用户名/密码身份验证必须仅被视为补充安全措施。最好不要使用“duplicate-cn”功能。

相关内容