Двухфакторная аутентификация Google не работает с командой «su»

Я установил двухфакторную аутентификацию Google на свой сервер Linux.
(спасибо: https://github.com/google/google-authenticator-libpam)

Когда я пытаюсь получить доступ к учетной записи root через ssh, аутентификатор работает нормально.

Verification code: .....  
Password: ....   
[root@hostname] works fine :)

Но!! получить доступ к другой учетной записи пользователя и попытаться получить доступ к root учетной записи, используя su, для проверки подлинности требуется только пароль.

[user@hostname] whoami   
user  
[user@hostname] su  
password: .....  
[root@hostname] What?!!!

Я установил все настройки на значение по умолчанию.

Как я могу это исправить??


person Shaffron    schedule 13.02.2018    source источник


Ответы (2)


Это работает по умолчанию. Поскольку вы используете модуль google-authenticator-libpam, вы добавляете двухфакторную аутентификацию только к фактическому входу в систему через внешний интерфейс посредством добавления auth required pam_google_authenticator.so в файл конфигурации sshd.

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

Для этого вы должны добавить следующее в свой sshd config :

AllowUsers admin bob
person Dieskim    schedule 17.02.2018

Чтобы включить двухфакторную аутентификацию Google для su -, вы должны добавить следующий параметр в конец файла /etc/pam.d/su:

auth required pam_google_authenticator.so

Сохраните его и попробуйте войти под обычным пользователем, а затем su -, он запросит код подтверждения. т. е. нет необходимости перезапускать службу sshd.

person Ashwani Vishnoi    schedule 12.07.2019