Существующие варианты реализации 2FA для OpenVPN основываются на модуле google-authenticator-libpam
для OTP-кодов и плагинов аутентификации OpenVPN libpam-radius-auth
, openvpn-plugin-auth-pam
, openvpn-auth-ldap
.
Все эти варианты имеют ряд недостатков:
-
передача пароля в открытом виде по сети.
-
невозможно ввести логин, пароль и одноразовый код в отдельных полях. Предлагается добавлять OTP-код после пароля, что ухудшает пользовательский опыт. Либо не использовать пароль, а использовать сертификат + OTP-код. Этот вариант усложняет администрирование.
-
невозможность использовать несколько серверов для аутентификации.