Описание
При подключении к Linux по SSH пользователи проходят двухэтапную аутентификацию: вводят логин и пароль (первый фактор) и подтверждают вход с помощью второго фактора (Push-уведомление, TOTP или Telegram-бот).
Для интеграции используется PAM-адаптер Simple2FA, который устанавливается на Linux-сервер и взаимодействует с локальным инстансом Simple2FA по HTTPS.
Схема работы:
- Пользователь подключается к Linux-серверу по SSH и вводит логин и пароль.
- SSH передает учетные данные в PAM-адаптер Simple2FA.
- PAM-адаптер отправляет логин и пароль в локальный инстанс Simple2FA по HTTPS.
- Локальный инстанс Simple2FA проверяет первый фактор через LDAP или Keycloak.
- При успешной проверке первого фактора локальный инстанс инициирует проверку второго фактора.
- Пользователь подтверждает вход через Push, TOTP или Telegram-бот.
- После успешной проверки второго фактора SSH-сессия предоставляется пользователю.
Подготовка в Simple2FA
Войдите в административную панель локального модуля Simple2FA. Перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:
- Название: Linux SSH (или любое удобное).
- Протокол: HTTPS.
- Проверять первый фактор: включить.
- Поставщики учетных записей: выберите один или несколько каталогов, в которых будет выполняться проверка первого фактора пользователей.
- Использовать кеширование сессий:включить, если необходимо, чтобы у пользователя после успешного входа не запрашивался второй фактор в течение указанного времени.
- Длительно кеша: рекомендуемое значение — 60 минут.
В глобальных настройках убедитесь, что:
- указан корректный API key для связи локального модуля с облаком.
Требования
- ОС: Linux (Astra Linux 1.7+, Debian 11+, Ubuntu 20.04+)
- OpenSSH: сервер SSH с поддержкой PAM
- Наличие PAM в системе
- Доступ Linux-сервера к local-backend по HTTPS (TCP 443)
- Корректное системное время (NTP) на Linux-сервере и local-backend
- Права root для установки PAM-адаптера и изменения PAM-конфигурации
Без доступа к local-backend двухфакторная аутентификация работать не будет.
Установка PAM-адаптера
1) Скопируйте PAM-адаптер
- Скопируйте модуль simple2fa_pam.so в системный каталог PAM.
- Для Debian-based систем используется каталог /lib/security/.
- Для RPM-based систем используется каталог /usr/lib64/security/.
2) Создайте конфигурацию Simple2FA
Создайте файл конфигурации PAM-адаптера Simple2FA.
В конфигурации указываются:
- API key ресурса Linux SSH
- URL local-backend
- параметры проверки первого фактора
- настройки логирования
- режим работы OTP
3) Настройте PAM для SSH
В PAM-конфигурацию SSH добавляется PAM-адаптер Simple2FA.
Обычно настройка выполняется в файле:
/etc/pam.d/sshd
4) Проверьте настройки SSH
В конфигурации OpenSSH должна быть включена поддержка PAM-аутентификации.
5) Перезапустите SSH
После применения конфигурации перезапустите SSH-сервис.
Проверка работы
- Подключитесь к Linux-серверу по SSH
- Введите логин и пароль пользователя
- Дождитесь запроса второго фактора
- Подтвердите вход через Push, Telegram или TOTP
- После успешной проверки SSH-сессия будет предоставлена
После успешной проверки первого фактора пользователь должен получить запрос на подтверждение второго фактора Simple2FA.