使用OpenVPN社区(免费)版本的物理密码令牌

我目前正在设置OpenVPN,以提供公司访问多个客户端。 我们的要求是使用证书,密码保护客户端密钥,以及使用双因素(MFA)validation每个客户端。

我使用了一堆Fortinet FortiToken 200令牌,但是我找不到任何显示如何使用OpenVPN这些令牌的信息。 看了更多,我找不到任何信息显示如何使用OpenVPN物理令牌。

所以我的问题是,我如何使用OpenVPN物理令牌? 我不能使用Google身份validation器之类的东西,因为我们计划通过他们的智能手机让客户端使用VPN。 OpenVPN PKCS#11的方法文档写得很差。

我开始相信,如果MFA是一个需求,OpenVPN在这个时候根本不是一个可行的select。

谢谢你的帮助。

基本上:

  1. 为您的令牌安装一个pkcs#11驱动程序(如果您的令牌制造商没有提供令牌制造商,请提问)。
  2. 告诉openvpn使用该驱动程序,并列出令牌上的可用密钥:
    • openvpn --show-pkcs11-ids /path/to/pkcs11/driver.so
  3. 在你的configuration文件中,从--show-pkcs11-ids输出中为你指定模块和序列号,例如:

    pkcs11-providers /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so
    pkcs11-id Gnome \ x20Keyring / 1 \ x2E0 / 1 \ x3AUSER \ x3ADEFAULT / Gnome2 \ x20Key \ x20Storage / 417AEDAAB81FEF6AEBD1EC43D76A630CAAA4722A

(请务必转义pkcs-id中的任何反斜杠,例如Gnome\x20Keyring变成Gnome\\x20Keyring 。)