Обезопасьте свой Linux с помощью двухфакторной авторизации Google Authenticator

Обезопасьте свой Linux с помощью двухфакторной авторизации Google Authenticator

Двухфакторная авторизация стала рекомендованным путём улучшения безопасности пользователей в веб-приложениях. Работает такая авторизация за счёт того, что в нём используется дополнительный метод авторизации в качестве дополнения к основному, где используется стандартная схема пароля и имени пользователя.

При этом, во многих случаях в двухфакторной авторизации используются одноразовые пароли. За счёт этого безопасность тоже улучшается. Если вы используете Gmail, то вы скорее всего знакомы с одноразовыми паролями, которые генерируются через приложение Google Authenticator на iOS или Android.

Подготовка

Вам нужно скачать и установить приложение Google Authenticator, который будет генерировать коды верификации. Так что установите Google Authenticator перед тем как продолжить дальше.

Установка Google Authenticator в Debian/Ubuntu Linux

Не всем известно, что Linux систему можно обезопасить с помощью алгоритма TOTP (Time-based One-Time Password).

Установить TOTP в Debian очень легко - просто выполните следующие команды:

sudo apt-get install libpam-google-authenticator

Настройка Google Authenticator

Сразу после завершения установки выполните следующую команду в терминале:

google-authenticator

Программа начнёт спрашивать вопросы, можете ответить на всё "Yes". Также эта команда выведет QRcode, его нужно сканировать через приложение Google Authenticator, который у вас должен быть установленным на смартфоне.

Также команда выведет бэкап коды, его нужно сохранить в какое-нибудь безопасное место. Эти коды позволят вам заново получить доступ если смартфон был потерян.

Теперь каждый раз когда вы пытаетесь авторизоваться в системе, будет появляться форма куда вам нужно вписать TOTP код.

Двухфакторная авторизация на OpenSSH

Вам нужно конечно-же установить сам google-authenticator. А после этого нужно открыть файл /etc/pam.d/ssh через текстовый редактор и добавить туда следующую строчку:

auth required pam_google_authenticator.so

Сохраните и закройте файл. И откройте файл /etc/ssh/sshd_config и найдите там строчку ChallengeResponseAuthentication и измените его на:

ChallengeResponseAuthentication yes

И перезагрузите SSH сервер:

/etc/init.d/ssh restart

Теперь при следующей попытке авторизоваться на SSH сервер, он будет спрашивать код верификации.