Описание
При входе в РЕД ОС (RedOS) пользователи проходят двухэтапную аутентификацию: вводят логин и пароль (первый фактор) и подтверждают вход с помощью второго фактора (Push-уведомление, TOTP или Telegram-бот).
Для интеграции используется PAM-адаптер Simple2FA, который устанавливается на сервер или рабочую станцию с РЕД ОС и взаимодействует с локальным модулем Simple2FA.
Инструкция охватывает следующие сценарии:
- локальный вход в систему;
- подключение по SSH;
- подключение по RDP (xRDP);
- выполнение команд sudo.
Схема работы:
- Пользователь входит в систему и вводит логин и пароль.
- PAM-адаптер Simple2FA передаёт учётные данные в локальный модуль Simple2FA.
- Локальный модуль проверяет первый фактор по каталогу пользователей организации (LDAP/AD или Keycloak).
- При успешной проверке первого фактора локальный модуль инициирует проверку второго фактора через облако Simple2FA.
- Пользователь подтверждает вход через Push, TOTP или Telegram-бот.
- После успешной проверки второго фактора сессия предоставляется пользователю.
Для проверки используется логин пользователя ОС. Пользователь с таким логином должен существовать в каталоге организации и в Simple2FA.
Подготовка в Simple2FA
Войдите в административную панель локального модуля Simple2FA. Перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:
- Название: RedOS (или любое удобное).
- Протокол: HTTP.
- Проверять первый фактор: включить.
- Поставщики учетных записей: выберите один или несколько каталогов, в которых будет выполняться проверка первого фактора пользователей.
- Использовать кеширование сессий: включить, если необходимо, чтобы у пользователя после успешного входа не запрашивался второй фактор в течение указанного времени.
- Длительность кеша: рекомендуемое значение — 60 минут.
После сохранения ресурса скопируйте его ключ (API key ресурса) — он передаётся PAM-адаптеру в качестве параметра.
В глобальных настройках убедитесь, что:
- указан корректный API key для связи локального модуля с облаком.
Требования
- ОС: РЕД ОС (RedOS).
- Наличие PAM в системе.
- Для сценария SSH — OpenSSH-сервер с поддержкой PAM.
- Для сценария RDP — установленный xRDP.
- Сетевой доступ с машины к локальному модулю Simple2FA.
- Корректное системное время (NTP) на машине и локальном модуле.
- Права root для установки PAM-адаптера и изменения PAM-конфигурации.
Без доступа к локальному модулю двухфакторная аутентификация работать не будет.
Установка PAM-адаптера
Скопируйте модуль simple2fa_pam.so из комплекта поставки в системный каталог модулей PAM:
sudo cp simple2fa_pam.so /usr/lib64/security/
Адаптер настраивается аргументами в строке PAM-конфигурации:
- send / skip — отправлять пароль в Simple2FA или нет (обязательный). В режиме send первый фактор проверяется Simple2FA по каталогу организации; в режиме skip пароль проверяется штатными средствами ОС, а Simple2FA выполняет только проверку второго фактора.
- apiKey — ключ ресурса, созданного в панели Simple2FA (обязательный).
Пример строки подключения адаптера:
auth requisite simple2fa_pam.so send <ключ ресурса>
Адрес локального модуля Simple2FA и другие параметры подключения задаются в соответствии с документацией к комплекту поставки адаптера.
Ключ ресурса хранится в файлах PAM-конфигурации в открытом виде — ограничьте доступ к этим файлам и не публикуйте их содержимое.
Положение строки адаптера в PAM-стеке зависит от выбранного режима работы (send или skip) и конфигурации системы; руководствуйтесь примером из комплекта поставки.
Настройка локального входа
Локальный вход в РЕД ОС настраивается через общие PAM-стеки аутентификации. Добавьте строку PAM-адаптера Simple2FA в файлы:
/etc/pam.d/system-auth /etc/pam.d/password-auth
Эти стеки подключаются к большинству сервисов системы, поэтому изменения затронут и другие сценарии входа. Перед изменением сделайте резервные копии файлов и держите открытой активную root-сессию до успешной проверки входа.
Настройка входа по SSH
1) Добавьте PAM-адаптер в конфигурацию SSH
Добавьте строку PAM-адаптера Simple2FA в файл:
/etc/pam.d/sshd
2) Проверьте настройки OpenSSH
В файле /etc/ssh/sshd_config должны быть включены поддержка PAM и интерактивная аутентификация:
UsePAM yes KbdInteractiveAuthentication yes
3) Перезапустите SSH
sudo systemctl restart sshd
Аутентификация по SSH-ключам выполняется в обход PAM-стека: при входе по ключу второй фактор запрошен не будет. Учитывайте это при настройке политик доступа.
Настройка входа по RDP (xRDP)
При подключении по RDP интерактивный ввод одноразового кода может быть недоступен, поэтому для этого сценария рекомендуется использовать Push-уведомления.
1) Установите и запустите xRDP
Установите xRDP по инструкции из документации РЕД ОС.
2) Добавьте PAM-адаптер в конфигурацию xRDP
Добавьте строку PAM-адаптера Simple2FA в файлы:
/etc/pam.d/xrdp /etc/pam.d/xrdp-sesman
3) Перезапустите xRDP
sudo systemctl restart xrdp xrdp-sesman
Настройка 2FA для команды sudo
Если требуется подтверждение второго фактора при выполнении команд sudo, добавьте строку PAM-адаптера Simple2FA в файл:
/etc/pam.d/sudo
Перед изменением убедитесь, что у вас есть активная root-сессия: ошибка в этом файле может заблокировать выполнение sudo.
Проверка работы
- Выполните вход в систему (локально, по SSH или по RDP),
- Введите логин и пароль пользователя,
- Дождитесь запроса второго фактора,
- Подтвердите вход через Push, TOTP или Telegram-бот (для RDP рекомендуется Push),
- После успешной проверки сессия будет предоставлена.
Если что-то не работает
Последовательно проверьте, что:
- пользователь с таким логином существует в каталоге организации и в Simple2FA и настроил второй фактор,
- с машины открыт сетевой доступ к локальному модулю Simple2FA,
- в строке PAM указан корректный ключ ресурса,
- системное время на машине и локальном модуле синхронизировано,
- в веб-консоли Simple2FA в разделе «Попытки авторизации» отображаются попытки входа и их результат.