Utilice un token criptográfico físico con la versión comunitaria OpenVPN (gratuita)

Utilice un token criptográfico físico con la versión comunitaria OpenVPN (gratuita)

Actualmente estoy configurando OpenVPN para brindar acceso empresarial a múltiples clientes. Nuestro requisito es utilizar certificados, proteger con contraseña las claves del cliente y utilizar autenticación de doble factor (MFA) por cliente.

Tengo un montón de tokens Fortinet FortiToken 200 que me gustaría usar, pero no puedo encontrar ninguna información que muestre cómo usar estos tokens con algo como OpenVPN. Después de mirar un poco más, tampoco puedo encontrar ninguna información que muestre cómo se puede usar un token físico con OpenVPN.

Entonces mi pregunta es, ¿cómo puedo usar un token físico con OpenVPN? No puedo usar algo como Google Authenticator ya que también planeamos tener clientes VPN a través de sus teléfonos inteligentes. La documentación práctica de OpenVPN PKCS#11 está muy mal escrita.

Estoy empezando a creer que si MFA es un requisito, OpenVPN simplemente no es una opción viable en este momento.

Gracias por tu ayuda.

Respuesta1

Básicamente:

  1. Instale un controlador pkcs#11 para su token (pregunte al fabricante de su token si no proporciona uno).
  2. Dígale a openvpn que use ese controlador y enumere las claves disponibles en el token:
    • openvpn --show-pkcs11-ids /path/to/pkcs11/driver.so
  3. En su archivo de configuración, especifique el módulo y la identificación serializada para su clave de la --show-pkcs11-idssalida, por ejemplo:

    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/417AEDAAB81FEF6AEBD1EC4 3D76A630CAAA4722A

(Asegúrese de evitar cualquier barra invertida en pkcs-id, por ejemplo, Gnome\x20Keyringse convierte en Gnome\\x20Keyring.)

información relacionada