如何为所有使用OpenVPN的用户使用共享密钥和证书?

我有一个OpenVPN服务器,authentication到一个Active Directory,并要求每个用户的用户名和密码。

最重要的是,它还要求每个用户有一个客户端证书和客户端密钥(+服务器ca.crt)。

我希望每个用户都必须使用他们的AD用户名和密码login,并且所有客户端共享相同的客户端证书和客户端密钥。

我想要一个共享客户端证书和密钥的原因是为了便于pipe理,它保护networking免受强制密码的蛮横。

一种方法就是像这样创build一个客户端

cd /etc/openvpn/easy-rsa/2.0/ . /etc/openvpn/easy-rsa/2.0/build-key client1 

并把这个给每个用户。

这是在这种情况下的正确方法吗? 还是应该以特殊的方式创build客户端证书和密钥?

你不应该这样做,因为一旦你的单键因任何原因被盗用(被盗的笔记本电脑,木马,离开公司的员工等),你将需要给每个用户一个新的,最有可能导致更多的时间花费比你最初创build的只有一个。

如果你想避免创build一个CA和签署(和撤销)客户端证书的复杂性(尽pipe使用easy-rsa脚本实际上并不那么困难),OpenVPN也支持静态密钥(由openvpn --genkey生成),是非常简单的处理(虽然他们也将用于encryption,而不是TLS)。

首先,我同意Ingmar Hupp的观点,你不想为一群用户传递一个单一的密钥。 这不是一个好的安全策略的一部分。 另外,正如他所提到的,使用easy-rsa设置CA和签署/撤销密钥是相当容易的,IMO值得额外的“人力”(如果您愿意)正确设置/维护密钥,而不是绕过一个密钥。

但无论如何,“技术”的答案是补充

重复-CN

到你的server.conf文件。