Используйте физический криптографический токен с версией OpenVPN Community (бесплатно)

Используйте физический криптографический токен с версией OpenVPN Community (бесплатно)

В настоящее время я настраиваю OpenVPN для предоставления доступа компании нескольким клиентам. Нашим требованием является использование сертификатов, защита паролем клиентских ключей, а также использование двухфакторной аутентификации (MFA) для каждого клиента.

У меня есть куча токенов Fortinet FortiToken 200, которые я хотел бы использовать, но я не могу найти никакой информации, показывающей, как использовать эти токены с чем-то вроде OpenVPN. Посмотрев еще немного, я также не могу найти никакой информации, показывающей, как можно использовать физический токен с OpenVPN.

Итак, мой вопрос: как использовать физический токен с OpenVPN? Я не могу использовать что-то вроде Google Authenticator, так как мы планируем также использовать VPN для клиентов через их смартфоны. Документация OpenVPN PKCS#11 how-to написана очень плохо.

Я начинаю верить, что если MFA является обязательным условием, то OpenVPN на данный момент просто не является жизнеспособным вариантом.

Спасибо за вашу помощь.

решение1

По сути:

  1. Установите драйвер pkcs#11 для вашего токена (обратитесь к производителю токена, если он не поставляет его).
  2. Сообщите OpenVPN использовать этот драйвер и перечислите доступные ключи на токене:
    • openvpn --show-pkcs11-ids /path/to/pkcs11/driver.so
  3. В вашем конфигурационном файле укажите модуль и сериализованный идентификатор для вашего ключа из вывода --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.)

Связанный контент