Настройка двухфакторной аутентификации на сервере CentOS
В статье описывается настройка сервера CentOS для включения двухфакторной аутентификации с одноразовым кодом доступа (OTP) или PUSH уведомлением при подключении через ssh терминал.
Как правило, для подключения к терминалу используется приватный ключ, с охраненный на клиенте, без ввода пароля, потому что никто не любит вводить пароли. Такая конфигурация реализует только один фактор проверки подлинности и уязвима настолько, насколько надежно хранится ключ на клиентском устройстве. Кроме того, ключи часто пересылаются по незащищенным каналам связи, лежат в сетевых или облачных папках, что совсем не добавляет защиты.
Использование второго фактора на 99% сокращает риск неправомерного доступа и совершенно не усложняет процесс подключения для пользователей.
Возможные способы аутентификации:
Мобильное приложение MultiFactor
СМС
Аппаратные OTP токены
Приложения OTP: Google Authenticator или Яндекс.Ключ
Telegram
Принцип работы
- SSHD использует модуль PAM_RADIUS для второго фактора проверки подлинности
- Модуль подключается через RADIUS протокол к сервису Мультифактор
- Мультифактор отправляет одноразовый пароль или PUSH уведомление пользователю для подтверждения доступа
- Пользователь вводит одноразовый пароль или подтверждает PUSH и подключается к терминалу
Перед началом работы
Не закрывайте текущую ssh сессию, пока не убедитесь, что все работает.
Настройка Мультифактора
Зайдите в систему управления Мультифактором, далее в раздел "Ресурсы" и создайте новый Linux сервер. После создания вам будут доступны два параметра: NAS Identifier и Shared Secret, они потребуются для последующих шагов.
Установка и настройка модуля PAM_RADIUS
- CentOS
- Debian
- Astra Linux Орёл
- ALT Linux
- Ubuntu 22.04
sudo yum -y install epel-release
sudo yum -y install pam_radius
sudo apt update
sudo apt install libpam-radius-auth
sudo apt install debian-archive-keyring dirmngr
echo deb https://mirror.yandex.ru/debian/ stretch main contrib non-free | sudo tee -a /etc/apt/sources.list
sudo apt update
sudo apt install libpam-radius-auth
Скачать пакет pam-radius (можно установить встроенным установщиком)
https://packages.altlinux.org/ru/p10/srpms/pam_radius/2770030421472390923