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

Тут описывается нелёгкий путь настройки ОС FreeBSD, начиная с установки дистрибутива и заканчивая настройкой каждого сервиса
Ответить
RomA
Сообщения: 358
Зарегистрирован: 05 авг 2008, 14:53
Контактная информация:

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

Сообщение RomA »

Введение:
По возможности все сервера я стараюсь прятать в периметр защиты, но всегда есть какой-то пограничный, доступ к которому нужен из интернета. Обычно на такой сервер я захожу только тогда, когда всё совсем плохо, я далеко, а починить надо срочно. Логично, что такой сервер является самым слабым звеном, и защищать его надо по особенному. В этой статье будет рассказано как по мимо просто пароля пользователя, прикрутить дополнительную проверку по коду гугл-аутентификатора.

Задача:
При входе на сервер по ssh, по мимо пароля, проверять пользователя другим способом

Реализация:
Для начала ставим необходимые порты:
Гугл-аутентификатор:

Код: Выделить всё

cd /usr/ports/security/pam_google_authenticator/
make install clean
Приложение для отображения QR-кода в консоли сервера:

Код: Выделить всё

cd /usr/ports/graphics/libqrencode/
make install clean
Теперь выбираем пользователя, которого мы так хотим защитить, и создаём для него настройки:

Код: Выделить всё

su - roman -c google-authenticator
Мастер задаст несколько вопросов, и выведет QR-код, который надо будет отсканировать в приложении аутентификатора.

Теперь надо задействовать этот механизм - в файл /etc/pam.d/sshd в конце секции auth добавляем

Код: Выделить всё

auth		required	/usr/local/lib/pam_google_authenticator.so
после чего перестраховываем приложение:

Код: Выделить всё

service sshd restart
Теперь можно попробовать зайти на сервер с другой консоли и убедиться, что всё работает так, как ожидалось - нас встретит вот такая авторизация:

Код: Выделить всё

Password for roman@zabbix:
Verification code: 
Last login: Fri Jun 24 07:58:40 2016 from 192.168.1.1
FreeBSD 10.2-RELEASE (GENERIC) #1 r290045M: Wed Oct 28 09:00:28 MSK 2015
Ответить