Настройка двухфакторной аутентификации на ASTRA Linux

Описание

При входе в Astra Linux пользователи проходят двухэтапную аутентификацию: вводят логин и пароль (первый фактор) и подтверждают вход с помощью второго фактора (Push-уведомление, TOTP или Telegram-бот).

Для интеграции используется PAM-адаптер Simple2FA, который устанавливается на сервер или рабочую станцию с Astra Linux и взаимодействует с локальным модулем Simple2FA. Работоспособность решения подтверждена продуктивными внедрениями на Astra Linux.

Инструкция охватывает три сценария входа:

  • локальный вход в графическую сессию (Fly);
  • подключение по SSH;
  • подключение по RDP (xRDP).

Схема работы:

  1. Пользователь входит в систему и вводит логин и пароль.
  2. PAM-адаптер Simple2FA передаёт учётные данные в локальный модуль Simple2FA.
  3. Локальный модуль проверяет первый фактор по каталогу пользователей организации (LDAP/AD или Keycloak).
  4. При успешной проверке первого фактора локальный модуль инициирует проверку второго фактора через облако Simple2FA.
  5. Пользователь подтверждает вход через Push, TOTP или Telegram-бот.
  6. После успешной проверки второго фактора сессия предоставляется пользователю.

Для проверки используется логин пользователя ОС. Пользователь с таким логином должен существовать в каталоге организации и в Simple2FA.

Подготовка в Simple2FA

Войдите в административную панель локального модуля Simple2FA. Перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:

  • Название: Astra Linux (или любое удобное).
  • Протокол: HTTP.
  • Проверять первый фактор: включить.
  • Поставщики учетных записей: выберите один или несколько каталогов, в которых будет выполняться проверка первого фактора пользователей.
  • Использовать кеширование сессий: включить, если необходимо, чтобы у пользователя после успешного входа не запрашивался второй фактор в течение указанного времени.
  • Длительность кеша: рекомендуемое значение — 60 минут.

После сохранения ресурса скопируйте его ключ (API key ресурса) — он передаётся PAM-адаптеру в качестве параметра.

В глобальных настройках убедитесь, что:

  • указан корректный API key для связи локального модуля с облаком.

Требования

  • ОС: Astra Linux.
  • Наличие PAM в системе.
  • Для сценария SSH — OpenSSH-сервер с поддержкой PAM.
  • Для сценария RDP — установленный xRDP.
  • Сетевой доступ с машины к локальному модулю Simple2FA.
  • Корректное системное время (NTP) на машине и локальном модуле.
  • Права root для установки PAM-адаптера и изменения PAM-конфигурации.

Без доступа к локальному модулю двухфакторная аутентификация работать не будет.

Установка PAM-адаптера

Скопируйте модуль simple2fa_pam.so из комплекта поставки в системный каталог модулей PAM вашей системы (например, /lib/security/ или /usr/lib64/security/ — уточните каталог, используемый в вашей версии ОС).

Адаптер настраивается аргументами в строке PAM-конфигурации:

  • send / skip — отправлять пароль в Simple2FA или нет (обязательный). В режиме send первый фактор проверяется Simple2FA по каталогу организации; в режиме skip пароль проверяется штатными средствами ОС, а Simple2FA выполняет только проверку второго фактора.
  • apiKey — ключ ресурса, созданного в панели Simple2FA (обязательный).

Пример строки подключения адаптера:

auth      requisite   simple2fa_pam.so send <ключ ресурса>

Адрес локального модуля Simple2FA и другие параметры подключения задаются в соответствии с документацией к комплекту поставки адаптера.

Ключ ресурса хранится в файлах PAM-конфигурации в открытом виде — ограничьте доступ к этим файлам и не публикуйте их содержимое.

Настройка локального входа (Fly)

За локальный вход в графическую сессию Astra Linux отвечает дисплей-менеджер Fly. Добавьте строку PAM-адаптера Simple2FA в файл:

/etc/pam.d/fly-dm

Положение строки в PAM-стеке зависит от выбранного режима работы адаптера (send или skip) и конфигурации системы; руководствуйтесь примером из комплекта поставки.

Настройка входа по 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

sudo apt -y install xrdp
sudo systemctl restart xrdp

2) Откройте порт RDP

sudo ufw allow 3389

3) Добавьте PAM-адаптер в конфигурацию xRDP

Добавьте строку PAM-адаптера Simple2FA в файл:

/etc/pam.d/xrdp-sesman

4) Перезапустите xRDP

sudo systemctl restart xrdp

Проверка работы

  • Выполните вход в систему (локально, по SSH или по RDP),
  • Введите логин и пароль пользователя,
  • Дождитесь запроса второго фактора,
  • Подтвердите вход через Push, TOTP или Telegram-бот (для RDP рекомендуется Push),
  • После успешной проверки сессия будет предоставлена.

Если что-то не работает

Последовательно проверьте, что:

  • пользователь с таким логином существует в каталоге организации и в Simple2FA и настроил второй фактор,
  • с машины открыт сетевой доступ к локальному модулю Simple2FA,
  • в строке PAM указан корректный ключ ресурса,
  • системное время на машине и локальном модуле синхронизировано,
  • в веб-консоли Simple2FA в разделе «Попытки авторизации» отображаются попытки входа и их результат.

Смотрите также:

Связаться с нами

Укажите свои контактные данные, и мы свяжемся с вами в ближайшее время, чтобы ответить на все ваши вопросы.

Телефон: +7 (495) 120-01-18

Отдел продаж: sales@simple2fa.ru

Поддержка: support@simple2fa.ru

Заполняя форму, вы соглашаетесь на обработку персональных данных.

Телефон: +7 (495) 150-80-59

Отдел продаж: sales@simple2fa.ru

Поддержка: support@simple2fa.ru