我有一个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文件。