FreeRadius-GoogleAuthenticator-Kerberos Изменение пароля

Мы используем FreeRadius, Kerberos и Google Authenticator для реализации двухфакторной аутентификации. Двухфакторная аутентификация работает отлично, как из radtest, так и из брандмауэра Watchguard. Для входа в систему пользователь вводит свой пароль Kerberos и объединяет ПИН-код, предоставленный Google Authenticator. Радиус использует pam для общения с GAuth, а затем с Kerberos. Стек пам

/etc/pam.d/radiusd
    auth requisite pam_google_authenticator.so forward_pass
    auth required pam_krb5.so use_first_pass

Директива forward_pass указывает pam_google_authenticator.so убрать последние шесть символов, проверить их, а затем передать оставшуюся строку на следующем шаге в качестве пароля.

Проблема возникает, когда политика Kerberos устаревает пароль, требующий сброса (или на сервере-участниках установлен + needchange). Когда это происходит, пользователь не уведомляется. Они вводят свой пароль и пин-код как обычно, и им разрешено входить. Что-то в фоновом режиме затем обновляет пароль Kerberos, чтобы он стал старым паролем плюс добавленный пин-код (например, mypasswrd123456). Я проверил, что этот новый пароль действительно существует в базе данных Kerberos и может использоваться для дальнейших аутентификаций, но, конечно, вам нужно понять, что изменение произошло, и сохранить объединенную строку. Маловероятно, что произойдет в производстве.

Я не смог определить, что делает изменение. Единственное сообщение журнала - подтверждение того, что пароль был обновлен. Кажется, что Kerberos должен предупреждать Radius о необходимости изменения, Radius видит, что у него новый пароль, и передает его обратно.

Я пытался добавить

   password required deny.so 

в /etc/pam.d/radiusd, но это не помогло.

ОС - Ubuntu, и пакеты были установлены с помощью apt-get.

Любые мысли приветствуются.

0 ответов

Другие вопросы по тегам