Настройка Multifactor.ru на примере входа в Debian 12 по ssh
Проверим проверить работу с проектом multifactor.ru, для примера сделаем вход с помощью Multifactor на консоль тестовой ВМ с Debian 12. Это не реклама!
Согласно описанию на сайте, это система многофакторной проверки подлинности для сайтов, Linux и Windows серверов, систем виртуализации и облаков, Exchange etc. Систему можно рассматривать как наш аналог Microsoft Authenticator. Может работать через push/смс/email/телегу etc. Проверим на деле.
Основные шаги:
1) регистрация на сайте multifactor.ru, настройки нового ресурса, приложение для телефона
2) правки конфигурации на ВМ
3) настройки для нового пользователя, проверка
Шаг 1 - регистрируемся на сервере multifactor.ru, получаем доступ в личный кабинет.
Личный кабинет:
Создадим в админке сайте новый ресурс для нашего сервера:
В настройках ресурса будет поля, которые потом пойдут в конфиги на сервере:
NAS Identifier
Shared Secret
Естественно, надо установить приложение на телефон, чтобы входить через push.
На шаге 2 устанавливаем libpam-radius-auth:
root@debian12:/home/user# apt update
root@debian12:/home/user# apt install libpam-radius-auth
На сайте есть документация, в которой есть нюансы, об этом ниже. Правим на Debian 3 файла.
/etc/pam_radius_ssh.conf - подключение radius от multifactor
root@debian12:/home/user# more /etc/pam_radius_ssh.conf
radius.multifactor.ru Значение_Shared_Secret 40
Права на файл, было/стало:
root@debian12:/home/user# ls -al /etc/pam_radius_ssh.conf
-rw-r--r-- 1 root root 58 May 31 18:28 /etc/pam_radius_ssh.conf
root@debian12:/home/user# chmod 0600 /etc/pam_radius_ssh.conf
root@debian12:/home/user# ls -al /etc/pam_radius_ssh.conf
-rw------- 1 root root 58 May 31 18:28 /etc/pam_radius_ssh.conf
Файл /etc/pam.d/sshd - pam radius для sshd, изменения:
#@include common-auth
auth sufficient pam_radius_auth.so
/etc/ssh/sshd_config - настройки демона sshd
...
#@include common-password
auth required pam_radius_auth.so client_id=Значение_NAS_Identifier conf=/etc/pam_radius_ssh.conf
3-ий файл для изменения /etc/ssh/sshd_config - настройки демона sshd
Тут важный момент - если не используем publickey, его настройки ставить не надо. У нас получилось так:
##PubkeyAuthentication yes
##AuthenticationMethods publickey,keyboard-interactive
AuthenticationMethods keyboard-interactive
KbdInteractiveAuthentication yes
Если у вас вход на сервер только по логину/паролю, то по документации с сайта получите проблему:
На шаге 3 настраиваем вход для пользователя. Мы ориентировались на пункт меню "Запросы доступа", где фиксируются попытки входа. Пользователь должен соответствовать логину на сервер. После настроек (приходит письмо со ссылкой на сайт для дальнейшей настройки) доступ заработал:
Итог: вход на сервер с Debian 12 через ssh по паролю+push через приложение заработал.
PS по бесплатным лицензиям после настройки получилось так - 1 пошла на регистрацию входа на сайт, 1 для собственно пользователя сервера, 1 в запасе.