OpenVPN-仅密码验证


11

当使用Windows的OpenVPN客户端时,我只能使用用户名和密码登录OpenVPN服务器。我不知道如何使相同的事情发生在Ubuntu中。似乎需要某种证书。

知道如何使用仅用户名和密码的OpenVPN服务器进行身份验证吗?

Answers:


5

您可以使用没有服务器/ CA证书的用户名/密码进行身份验证。但是,我强烈建议将其配置为使用您的CA证书进行验证,以防止中间人攻击。

无需任何服务器验证,任何人都可以模拟您的OpenVPN服务器并仅接受您的用户名/密码。结果:

  • 攻击者可以拦截所有流量。由于您不验证所连接的服务器,因此任何人都可以声称自己是公用网络(或由攻击者控制的专用网络)中的服务器。
  • 攻击者知道您的用户名/密码组合。万一您将相同的密码用于其他用途,也非常糟糕。

在Network Manager中,无需CA Cert,它可以正常工作,如下所示,但是请不要那样使用!如果您在Windows上不使用任何服务器/ CA证书,则确实容易受到上述攻击。

在此处输入图片说明


它在Ubuntu 16.04上不起作用。在您选择证书之前,“保存”按钮将被禁用
leo 18'Jul

1
@leo哦,这是个好消息。这样可以防止出现另一种不安全配置的情况!:-)
gertvdijk

3

我在这里找到了答案:http : //openvpn.net/index.php/open-source/documentation/howto.html#auth

记住,您仍然需要服务器证书

使用用户名/密码身份验证作为客户端身份验证的唯一形式

默认情况下,在服务器上使用auth-user-pass-verify或用户名/密码检查插件将启用双重身份验证,要求客户端证书和用户名/密码身份验证都必须成功才能对客户端进行身份验证。

从安全角度考虑,虽然不建议这样做,但也可以禁用客户端证书,并仅强制执行用户名/密码身份验证。在服务器上:

不需要客户端证书此类配置通常还应设置:

username-as-common-name,它将告诉服务器使用用户名进行索引,因为它将使用通过客户端证书进行身份验证的客户端的公用名。

请注意,不需要客户端证书不会消除对服务器证书的需要,因此,连接到使用不需要客户端证书的服务器的客户端可以从客户端配置文件中删除cert和key伪指令,但不能ca指令,因为客户端必须验证服务器证书。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.