Поиск по сайту:

Как использовать двухфакторную аутентификацию в Ubuntu


Со временем традиционная аутентификация по имени пользователя и паролю оказалась неадекватной для обеспечения надежной безопасности приложений и систем. Имена пользователей и пароли можно легко взломать с помощью множества хакерских инструментов, что делает вашу систему уязвимой для взлома. По этой причине любая компания или организация, серьезно относящаяся к безопасности, должна внедрить двухфакторную аутентификацию.

Двухфакторная аутентификация, известная как MFA (Многофакторная аутентификация), обеспечивает дополнительный уровень безопасности, требующий от пользователей предоставления определенных данных, таких как коды . или OTP (Одноразовый пароль) до или после аутентификации с использованием обычного имени пользователя и пароля.

В настоящее время множество компаний, таких как Google, Facebook, Twitter и AWS, и это лишь некоторые из них, предоставляют пользователям выбор. настройки MFA для дальнейшей защиты своих учетных записей.

В этом руководстве мы покажем, как использовать Двухфакторную аутентификацию в Ubuntu.

Шаг 1. Установите пакет Google PAM.

Прежде всего установите пакет Google PAM. PAM, сокращение от Подключаемый модуль аутентификации, представляет собой механизм, обеспечивающий дополнительный уровень аутентификации на платформе Linux.

Пакет размещен в репозитории Ubuntu, поэтому продолжайте и используйте команду apt для его установки следующим образом:

sudo apt install libpam-google-authenticator

При появлении запроса нажмите 'Y' и нажмите ENTER, чтобы продолжить установку.

Шаг 2. Установите приложение Google Authenticator на свой смартфон.

Кроме того, вам необходимо установить приложение Google Authenticator на свой планшет или смартфон. Приложение предоставит вам 6-значный OTP-код, который автоматически обновляется каждые 30 секунд.

Шаг 3. Настройте Google PAM в Ubuntu

Установив приложение Google Authenticator, мы продолжим и настроим пакет Google PAM в Ubuntu, изменив файл /etc/pam.d/common-auth< файл, как показано.

sudo vim /etc/pam.d/common-auth

Добавьте строку ниже в файл, как указано.

auth required pam_google_authenticator.so

Сохраните файл и выйдите.

Теперь выполните приведенную ниже команду, чтобы инициализировать PAM.

google-authenticator

Это вызовет пару вопросов на экране вашего терминала. Сначала вас спросят, хотите ли вы, чтобы токены аутентификации были основаны на времени.

Срок действия токенов Аутентификации по времени истекает через определенное время. По умолчанию это происходит через 30 секунд, после чего создается новый набор токенов. Эти токены считаются более безопасными, чем токены, не зависящие от времени, поэтому введите 'y' для ответа «да» и нажмите ENTER.

Затем на терминале отобразится QR-код, как показано ниже, а прямо под ним будет отображена некоторая информация. Отображаемая информация включает в себя:

  • Секретный ключ
  • Проверочный код
  • Аварийные скретч-коды

Вам необходимо сохранить эту информацию в хранилище для дальнейшего использования. Экстренные скретч-коды чрезвычайно полезны в случае потери устройства аутентификации. Если что-нибудь случится с вашим устройством аутентификации, используйте коды.

Запустите приложение Google Authenticator на своем смарт-устройстве и выберите «Сканировать QR-код», чтобы отсканировать представленный QR-код.

ПРИМЕЧАНИЕ. Вам необходимо развернуть окно терминала, чтобы отсканировать весь QR-код. После сканирования QR-кода в приложении будет отображаться шестизначный OTP, который меняется каждые 30 секунд.

После этого выберите 'y', чтобы обновить файл аутентификатора Google в вашей домашней папке.

В следующем приглашении ограничьте вход в систему только одним входом каждые 30 секунд, чтобы предотвратить атаки, которые могут возникнуть из-за атак «человек посередине». Итак, выберите 'y'

В следующем приглашении выберите 'n', чтобы запретить продление времени, которое устраняет перекос во времени между сервером и клиентом. Это более безопасный вариант, если только у вас не возникнут проблемы с плохой синхронизацией времени.

И, наконец, включите ограничение количества попыток входа только в 3.

На данный момент мы завершили реализацию функции двухфакторной аутентификации. Фактически, если вы запустите любую команду sudo, вам будет предложено ввести код подтверждения, который вы можете получить в приложении Google Authenticator.

Вы можете дополнительно проверить это, перезагрузив компьютер, и как только вы попадете на экран входа в систему, вам будет предложено ввести код подтверждения.

После того как вы предоставили свой код из приложения Google Authenticator, просто укажите свой пароль для доступа к вашей системе.

Шаг 4. Интегрируйте SSH с Google Authenticator

Если вы собираетесь использовать SSH с модулем Google PAM, вам необходимо интегрировать их. Есть два способа добиться этого.

Для аутентификации по паролю SSH

Чтобы включить аутентификацию по паролю SSH для обычного пользователя, сначала откройте файл конфигурации SSH по умолчанию.

sudo vim /etc/ssh/sshd_config

И установите для следующих атрибутов значение да, как показано на рисунке.

Для пользователя root установите для атрибута «PermitRootLogin» значение 'yes'.

PermitRootLogin yes

Сохраните файл и выйдите.

Затем измените правило PAM для SSH.

sudo vim /etc/pam.d/sshd

Затем добавьте следующую строку

auth   required   pam_google_authenticator.so

Наконец, перезапустите службу SSH, чтобы изменения вступили в силу.

sudo systemctl restart ssh

В приведенном ниже примере мы входим в систему Ubuntu из клиента Putty.

Для аутентификации с открытым ключом SSH

Если вы используете аутентификацию с открытым ключом, повторите описанные выше шаги и добавьте строку, показанную в нижней части файла /etc/ssh/sshd_config.

AuthenticationMethods publickey,keyboard-interactive

Еще раз отредактируйте правило PAM для демона SSH.

sudo vim /etc/pam.d/sshd

Затем добавьте следующую строку.

auth   required   pam_google_authenticator.so

Сохраните файл и перезапустите службу SSH, как мы видели ранее.

sudo systemctl restart ssh

Отключить двухфакторную аутентификацию в Ubuntu

Если вы потеряете устройство аутентификации или секретный ключ, не сходите с ума. Вы можете легко отключить уровень аутентификации 2FA и вернуться к простому методу входа в систему с использованием имени пользователя и пароля.

Сначала перезагрузите систему и нажмите 'e' на первой записи GRUB.

Прокрутите и найдите строку, которая начинается с linux и заканчивается тихим splash $vt_handoff. Добавьте строку systemd.unit=rescue.target и нажмите ctrl+x, чтобы войти в режим восстановления.

Получив оболочку, введите пароль root и нажмите ENTER.

Затем продолжите и удалите файл .google-authenticator в своем домашнем каталоге следующим образом. Обязательно замените имя пользователя своим собственным именем пользователя.


rm /home/username/.google_authenticator

Затем отредактируйте файл /etc/pam.d/common-auth.


$ vim /etc/pam.d/common-auth

Закомментируйте или удалите следующую строку:


auth required pam_google_authenticator.so

Сохраните файл и перезагрузите систему. На экране входа в систему вам потребуется только указать имя пользователя и пароль для аутентификации.

И это подводит нас к концу этой статьи. Будем рады узнать, как все прошло.