- Начало работы
- Интеграция
- HTTP API
- OpenID Connect
- RADIUS протокол
- RADIUS адаптер
- LDAP адаптер
- Портал самообслуживания
- MULTIFACTOR Directory Sync
- Windows Logon
- Регистрация пользователей
- .NET Core
- 1с-Bitrix24
- 1с-плагин двухфакторной аутентификации
- ADFS
- ASP.NET
- Ansible AWX
- Atlassian Cloud
- BearPass
- Check Point VPN
- Cisco ASA VPN
- Citrix Gateway
- FortiGate VPN
- HRBOX
- Huawei Cloud
- Huawei VPN
- Ideco UTM
- Keycloak
- Let's Encrypt Windows Server
- Linux logon (GUI)
- Linux SSH
- Linux SUDO
- Microsoft Entra ID
- MikroTik L2TP VPN
- NGate VPN
- Network Policy Server (NPS)
- Nextcloud
- OpenVPN
- OpenVPN + AD
- OpenVPN Access Server
- OpenVPN pfSense
- Outlook Web Access (OWA)
- Passwork
- RD Gateway (RDGW)
- Redmine
- UserGate VPN
- VMware Horizon Cloud
- VMware Horizon View
- VMware vCloud Director
- VMware vSphere
- Vault
- ViPNET
- Windows VPN
- Yandex.Cloud
- Yandex 360
- Zabbix
- АйТи-Бастион
- Континент 4 VPN
- МТС Линк (бывш. webinar.ru)
- WordPress
- С-Терра VPN
- Точка доступа Wi-Fi
- ФПСУ-IP/Клиент
Настройка двухфакторной аутентификации для ALT Linux
В статье описывается настройка сервера ALT Linux для реализации двухфакторной аутентификации. Рассматриваются следующие методы:
Подтверждение входа посредством одноразового кода (OTP) или PUSH-уведомления при локальном входе и подключении через RDP.
Авторизация по логину и паролю;
Аутентификация с использованием ключа;
Использование второго фактора на 99% сокращает риск неправомерного доступа и совершенно не усложняет процесс подключения для пользователей.
Возможные способы аутентификации:
Мобильное приложение Multifactor
СМС
Аппаратные OTP токены
Приложения OTP: Google Authenticator или Яндекс.Ключ
Telegram
Принцип работы
- SSHD использует модуль PAM_RADIUS для второго фактора проверки подлинности
- Модуль подключается через RADIUS протокол к сервису MULTIFACTOR
- MULTIFACTOR отправляет одноразовый пароль или PUSH уведомление пользователю для подтверждения доступа
- Пользователь вводит одноразовый пароль или подтверждает PUSH и получает доступ при локальном входе или подключении через RDP.
Схема и требования
- Система: ALT Linux, где по умолчанию для локальных паролей используется pam_tcb и директория /etc/tcb/.
- RADIUS-сервер: MultiFactor, на котором включена Challenge/Response-авторизация (Push, TOTP и т.д.).
- Цель:
- Пользователи в группе localadmins → только локальный пароль, без 2FA.
- Остальные → локальный (или доменный) пароль + Push/TOTP.
Где хранится пароль локальных пользователей
В ALT Linux (c pam_tcb) при создании пользователя /etc/tcb/USERNAME/ хранит его shadow-файл.
Важно, чтобы права каталога /etc/tcb/USERNAME были drwxr-s---, владелец USERNAME:auth, а файлы shadow – -rw-r----- (0640).
Настройка MULTIFACTOR
Зайдите в систему управления MULTIFACTOR, далее в раздел «Ресурсы» и создайте новый Linux сервер. После создания вам будут доступны два параметра: NAS Identifier и Shared Secret, они потребуются для последующих шагов.
Важно
В конфигурации для ALT Linux в Radius адаптере нужно указывать строчку:
<add key="radius-client-ip" value="10.10.10.10"/>Где value IP вашей машины с ALT Linux.
IP адреса можно указать через знак точка с запятой (;)
Установка и настройка модуля PAM_RADIUS
apt-get update apt-get install pam_radius
Далее откройте файл конфигурации:
nano /etc/pam_radius_auth
Впишите в него настройки RADIUS сервера MULTIFACTOR, сохраните и закройте редактор:
radius.multifactor.ru SHARED_SECRET 40
где:
- radius.multifactor.ru: адрес сервера
- SHARED_SECRET: скопируйте из соответствующего параметра настроек Linux ресурса MULTIFACTOR
- 40: таймаут ожидания запроса
Важно
В файле хранится секретный ключ, поэтому установите на него права доступа на чтение только пользователю root.
chmod 0600 /etc/pam_radius_auth
Настройка PAM модулей
Откройте для редактирования файл /etc/pam.d/sshd:
nano /etc/pam.d/sshd
# PAM-1.0 auth substack system-auth auth [success=1 default=ignore] pam_succeed_if.so user ingroup localadmins auth required pam_radius_auth.so use_first_pass conf=/etc/pam_radius_auth account substack system-auth password substack system-auth session substack system-auth
Для авторизации логин, ключ ,2фа:
# PAM-1.0 auth [success=1 default=ignore] pam_succeed_if.so user ingroup localadmins auth sufficient pam_permit.so auth required pam_radius_auth.so use_first_pass conf=/etc/pam_radius_auth account include common-login password include common-login session include common-login
Настройка службы SSHD
Отредактируйте файл /etc/ssh/sshd_config:
nano /etc/openssh/sshd_config
Аутентификация по логину и паролю:
# SSHD конфигурация для ALT Linux – Аутентификация по логину и паролю с двухфакторной проверкой Port 22 ListenAddress 0.0.0.0 ListenAddress :: AddressFamily any UsePAM yes PasswordAuthentication yes ChallengeResponseAuthentication yes Subsystem sftp /usr/lib/openssh/sftp-server
Сохраните файл (:x) и перезапустите SSH демона:
systemctl restart sshd
Аутентификация по логину с использованием SSH‑ключа
# SSHD конфигурация для ALT Linux – Аутентификация по SSH-ключу с двухфакторной проверкой Port 22 ListenAddress 0.0.0.0 AddressFamily any UsePAM yes PubkeyAuthentication yes ChallengeResponseAuthentication yes PasswordAuthentication no # Сначала матчим группу localadmins Match group localadmins AuthenticationMethods publickey # Все остальные пользователи Match all AuthenticationMethods publickey,keyboard-interactive
Внимание
Порядок Match важен. Обычно сначала идут глобальные настройки, потом Match group localadmins, и в самом конце Match all
Сохраните файл (:x) и перезапустите ssh демона:
systemctl restart sshd
Включение 2FA для RDP входа в ALT Linux
Важно
Данный модуль не поддерживает отображение окна для ввода OTP, поэтому использование методов аутентификации с вводом ОТП технически невозможно. В данном сценарии возможно использование только PUSH.
- Устанавливаем xRDP:
apt-get install xrdp systemctl start xrdp systemctl enable xrdp
2. Настройка сеанса рабочего стола:
nano /etc/xrdp/startwm.sh
В конце файла добавьте строку для запуска нужного окружения. Например, для XFCE
startxfce4.
Перезапустите XRDP:
systemctl restart xrdp systemctl status xrdp
3. Откройте для редактирования файл /etc/pam.d/xrdp-sesman:
sudo nano /etc/pam.d/xrdp-sesman
Отредактируйте файл, добавив в него вызов RADIUS модуля для 2FA. Пример полного содержимого файла может выглядеть так (Аутентификация с использованием ключа и логина):
# PAM-1.0 auth required pam_pubkey.so auth [success=1 default=ignore] pam_succeed_if.so user ingroup localadmins auth sufficient pam_permit.so auth required pam_radius_auth.so use_first_pass conf=/etc/pam_radius_auth account required pam_unix.so session required pam_unix.so
Авторизация по логину и паролю:
# PAM-1.0 auth substack system-auth auth [success=1 default=ignore] pam_succeed_if.so user ingroup localadmins auth required pam_radius_auth.so use_first_pass conf=/etc/pam_radius_auth account substack system-auth password substack system-auth session substack system-auth
Сохраните изменения и закройте редактор.
Что бы XRDP подключение работало, нужно добавить УЗ в группу tsusers, так как XRDP проверят эту группу для подключения.
usermod -aG tsusers test
Если что-то не работает
- На сервере с Linux есть пользователь с заданным логином
- С сервера открыт доступ по UDP порту 1812 на адрес radius.multifactor.ru
- Параметры Client ID и Shared Secret указаны корректно
- Пользователь настроил способ аутентификации
- Проверьте журнал «Запросы доступа» в личном кабинете MULTIFACTOR.
Если ничего не сработало, обращайтесь, поможем.