Ich richte derzeit OpenVPN ein, um mehreren Clients Zugriff auf das Unternehmen zu gewähren. Unsere Anforderung besteht darin, Zertifikate zu verwenden, die Clientschlüssel mit einem Passwort zu schützen und pro Client eine Zwei-Faktor-Authentifizierung (MFA) zu verwenden.
Ich habe ein paar Fortinet FortiToken 200-Token herumliegen, die ich gerne verwenden würde, aber ich kann keine Informationen finden, die zeigen, wie man diese Token mit etwas wie OpenVPN verwendet. Nachdem ich mich noch etwas umgesehen habe, kann ich auch keine Informationen finden, die zeigen, wie man ein physisches Token mit OpenVPN verwenden kann.
Meine Frage ist also, wie ich ein physisches Token mit OpenVPN verwenden kann. Ich kann nichts wie Google Authenticator verwenden, da wir planen, dass sich unsere Kunden auch über ihre Smartphones per VPN anmelden. Die Anleitung zu OpenVPN PKCS#11 ist sehr schlecht geschrieben.
Ich bin allmählich davon überzeugt, dass OpenVPN derzeit einfach keine praktikable Option ist, wenn MFA erforderlich ist.
Vielen Dank für Ihre Hilfe.
Antwort1
Grundsätzlich:
- Installieren Sie einen pkcs#11-Treiber für Ihr Token (fragen Sie Ihren Token-Hersteller, wenn er keinen bereitstellt).
- Weisen Sie openvpn an, diesen Treiber zu verwenden, und listen Sie die verfügbaren Schlüssel auf dem Token auf:
openvpn --show-pkcs11-ids /path/to/pkcs11/driver.so
Geben Sie in Ihrer Konfigurationsdatei das Modul und die serialisierte ID für Ihren Schlüssel aus der
--show-pkcs11-ids
Ausgabe an, z. B.:pkcs11-Anbieter /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so
pkcs11-id Gnome\x20Keyring/1\x2E0/1\x3AUSER\x3ADEFAULT/Gnome2\x20Key\x20Storage/417AEDAAB81FEF6AEBD1EC43D76A630CAAA4722A
(Achten Sie darauf, alle Backslashs in der PKCS-ID zu vermeiden, sie Gnome\x20Keyring
wird zB zu Gnome\\x20Keyring
.)