При входе в систему необходимо ввести пароль, пин-код или ключ. Этот метод может обеспечить только базовый уровень защиты Linux. Более безопасный способ авторизации в Linux — использовать двухэтапную авторизацию (MFA). В статье покажу, как настроить двухфакторную аутентификацию в Linux для авторизации по SSH, использования консоли и выполнения команд Sudo.
Еще по теме: Получение сообщения на почту о входе по SSH
Двухфакторная аутентификация в Linux
Двухэтапную авторизацию в Linux для авторизации по SSH, использования консоли и выполнения команд Sudo, можно настроить без всяких аппаратных токенов, GSM-модемов для отправки SMS и других устройств. Настроить двухэтапную аутентификация в Linux можно с использованием Google Authenticator.
В моем случае, для примера будет использоваться Ubuntu 18.02 установленный в VirtualBox.
Настройка Google Authenticator в Linux
Установите приложение Google Authenticator на свой смартфон.
Установите модуль PAM Google Authenticator на компьютер в Linux:
1 |
sudo apt install libpam-google-authenticator |
Запустите команду и введите y:
1 |
google-authenticator |
Добавьте аккаунт в свой гугл-аутентификатор (в свой смартфон):
Сохраните созданные коды. Это поможет восстановить доступ, в случае потери телефона.
Вход по SSH с помощью двухфакторной аутентификации
В конец файла /etc/pam.d/sshd добавьте строку:
1 |
auth required pam_google_authenticator.so nullok |
Если хотите заставить каждого пользователя использовать двухэтапную авторизацию в этой системе, тогда удалите nullok.
Настройте /etc/ssh/sshd_config и убедитесь, что эта строка имеет значение yes:
1 |
ChallengeResponseAuthentication yes |
Перезапустите службы sshd:
1 |
sudo service sshd restart |
Если все сделали правильно, тогда будет предложено ввести пароль и код подтверждения.
Использование терминала после двухфакторной аутентификации
Добавьте строку /etc/pam.d/common-session в конец файла с помощью скрипта:
1 |
auth required pam_google_authenticator.so nullok |
Как я уже говорил ранее, если вы хотите заставить каждого пользователя использовать двухэтапную авторизацию в этой системе, тогда удалите nullok.
Сохраните файл конфигурации.
Попробуйте выйти из консоли и снова войти в систему. Если все сделали правильно, появится запрос ввести пароль и код подтверждения Google Authenticator.
Выполнение команд Sudo после двухфакторной аутентификации
Добавьте строку /etc/pam.d/common-auth в конец файла:
1 |
auth required pam_google_authenticator.so nullok |
Теперь при попытке выполнить команду sudo, будет предложено ввести пароль и проверочный код.
Защитите файл .google_authenticator. Файл содержит ваш основной код подтверждения, который позволит обойти аутентификатор Google.
Заключение
Двухфакторная аутентификация Linux — это то, что позволяет улучшить безопасность системы. Это не позволит злоумышленнику получить доступ к вашей системе с помощью пароля.
Еще по теме: