вторник, 4 сентября 2012 г.

Google Authenticator (Двухэтапная аутентификация) на домашнем компьютере/сервере.


В связи с обрастанием домашнего компа всякими примочками в стиле умного дома пришлось задуматься о его защищенности. Т.к. мне нравится двухэтапная авторизация на google проектах, хотелось чего-то подобного... и оно нашлось =)

Google Authenticator, работающий по принципу зависимых от времени одноразовых паролей (TOTP), можно легко установить на свой комп и повесить, например, на SSH. Понадобится всего несколько телодвижений.



Если в репах дистрибутива Google Authenticator, его можно слить со страницы Google Authenticator-a и скомпилить самому.
Для ubuntu все выглядит проще:

sudo apt-get install libpam-google-authenticator

После установки его надо активировать, например для SSH.
Логинимся под пользователем, который используется для входа по SSH и в консоли выполняем

google-authenticator

чтобы создать ключ для этого пользователя. Разрешаем изменение настроек вводя "Y", отвечаем на несколько несложных вопросов вроде времени действия токена и количества попыток ввода.

После всего этого Google Authenticator выдаст баркод для синхронизации мобильного приложения Authenticator-a (есть на Android, iOS, Blackberry). Открываем приложение, сканируем баркод, работаем.
Если баркод считать нет возможности, чуть ниже будет идти секретный ключ, который нужно вбить в настройках приложения - добавляем аккаунт, пишем название, переписываем секретный ключ, тип выбираем Time based.
Все, мобильное приложение готово, осталось донастроить SSH.

Для этого нужно добавить строчку в наш sshd (sudo nano /etc/pam.d/sshd в консоли):

auth required pam_google_authenticator.so

и подредактировать конфиг ssh (sudo nano /etc/ssh/sshd_config), разрешив ChallengeResponseAuthentication:

ChallengeResponseAuthentication yes

Если такой строчки там нет, нужно ее добавить.

Рестартим ssh

sudo service ssh restart

и наслаждаемся =)

Теперь, при логине по ssh, после запроса пароля будет появляться еще одна строчка "Verification code:", в которую и нужно вводить код из мобильного приложения.

Комментариев нет:

Отправить комментарий