Мультифактор

Мультифактор

  • Демо
  • Теория
  • Практика
  • Вход

›База знаний

Введение

  • Общая информация
  • Возможности
  • Способы аутентификации

Подключение

  • Начало работы
  • Интеграция
  • HTTP API

    • Общие сведения
    • Запросы доступа
    • Управление пользователями
    • Управление ресурсами
  • OpenID Connect
  • RADIUS протокол
  • RADIUS адаптер

    • Общие сведения
    • Inline enrollment
    • Windows версия
    • Linux версия

    LDAP адаптер

    • Общие сведения
    • Windows версия
    • Linux версия
  • Self-Service портал
  • Регистрация пользователей
  • Windows logon
  • Windows logon FAQ
  • MacOS logon

О сервисе

  • Оферта
  • Политика конфиденциальности
  • Инфраструктура
  • Оплата и возврат
  • О компании

База знаний

  • Интеграция для .NET Core
  • Интеграция для ASP.NET
  • Настройка OpenVPN
  • Настройка OpenVPN + AD
  • Настройка OpenVPN Access Server
  • Настройка pfSense OpenVPN
  • Настройка Cisco ASA VPN
  • Настройка Check Point VPN
  • Настройка FortiGate VPN
  • Настройка Huawei VPN
  • Настройка UserGate VPN
  • Настройка С-Терра VPN
  • Настройка Windows VPN
  • Настройка Windows RDP
  • Настройка Network Policy Server
  • Настройка Outlook Web Access
  • Настройка ADFS
  • Let's Encrypt Windows Server
  • Настройка Linux SSH
  • Настройка Linux SUDO
  • Настройка VMware vCloud Director
  • Настройка VMware Horizon View
  • Настройка VMware Horizon Cloud
  • Настройка VMware vSphere
  • Настройка Citrix Gateway
  • Настройка АйТи-Бастион
  • Настройка точки доступа Wi-Fi
  • Настройка Huawei Cloud
  • Настройка Yandex.Cloud
  • Настройка Nextcloud
  • Настройка Zabbix
  • Настройка 1с-Bitrix24
  • Настройка Redmine
  • Настройка Ansible AWX
  • Восстановление доступа

Помощь

  • Настройка аутентификации
  • Аутентификация
  • Личный кабинет
  • Вопросы и ответы

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

В статье описывается настройка сервера CentOS для включения двухфакторной аутентификации с одноразовым кодом доступа (OTP) или PUSH уведомлением при подключении через ssh терминал.

Как правило, для подключения к терминалу используется приватный ключ, сохраненный на клиенте, без ввода пароля, потому что никто не любит вводить пароли. Такая конфигурация реализует только один фактор проверки подлинности и уязвима настолько, насколько надежно хранится ключ на клиентском устройстве. Кроме того, ключи часто пересылаются по незащищенным каналам связи, лежат в сетевых или облачных папках, что совсем не добавляет защиты.

Использование второго фактора на 99% сокращает риск неправомерного доступа и совершенно не усложняет процесс подключения для пользователей.

Возможные способы аутентификации:

  • Мобильное приложение MultiFactor
  • СМС
  • Аппаратные OTP токены
  • Приложения OTP: Google Authenticator или Яндекс.Ключ
  • Telegram

Принцип работы

  1. SSHD использует модуль PAM_RADIUS для второго фактора проверки подлинности
  2. Модуль подключается через RADIUS протокол к сервису Мультифактор
  3. Мультифактор отправляет одноразовый пароль или PUSH уведомление пользователю для подтверждения доступа
  4. Пользователь вводит одноразовый пароль или подтверждает PUSH и подключается к терминалу

Перед началом работы

Не закрывайте текущую ssh сессию, пока не убедитесь, что все работает.

Настройка Мультифактора

Зайдите в систему управления Мультифактором, далее в раздел "Ресурсы" и создайте новый Linux сервер. После создания вам будут доступны два параметра: NAS Identifier и Shared Secret, они потребуются для последующих шагов.

Установка и настройка модуля PAM_RADIUS

$ sudo yum -y install epel-release
$ sudo yum -y install pam_radius

Далее создайте файл конфигурации

$ sudo vi /etc/pam_radius_ssh.conf

Впишите в него настройки RADIUS сервера Мультифактора, сохраните и закройте редактор (:x)

radius.multifactor.ru   SHARED_SECRET   40

где:

  • radius.multifactor.ru: адрес сервера
  • SHARED_SECRET: скопируйте из соответствующего параметра настроек Linux ресурса Мультифактор
  • 40: таймаут ожидания запроса с запасом

В файле хранится секретный ключ, поэтому установите на него права доступа на чтение только пользователю root

$ sudo chmod 0600 /etc/pam_radius_ssh.conf

Настройка PAM модулей ssh

Откройте для редактирования файл /etc/pam.d/sshd

$ sudo vi /etc/pam.d/sshd

В файле закомментируйте строку auth substack password-auth и добавьте в конец следующую настройку:

auth required pam_radius_auth.so skip_passwd client_id=NAS_Identifier conf=/etc/pam_radius_ssh.conf

где

  • NAS_Identifier: скопируйте из соответствующего параметра настроек Linux ресурса Мультифактор.

Сохраните и закройте файл (:x). В итоге он должен выглядеть подобным образом:

#%PAM-1.0
auth       required     pam_sepermit.so
#auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare
auth required pam_radius_auth.so skip_passwd client_id=rs_760d86a9b5b7f7607d11735e67757 conf=/etc/pam_radius_ssh.conf 

Настройка службы SSHD

Отредактируйте файл /etc/ssh/sshd_config

$ sudo vi /etc/ssh/sshd_config
  1. Включите PAM интерфейс
ChallengeResponseAuthentication yes
  1. Добавьте способы аутентификации
AuthenticationMethods publickey,keyboard-interactive:pam

Сохраните файл (:x) и перезапустите ssh демона

$ sudo systemctl restart sshd

Проверка

Не закрывая текущую сессию, подключите новую.

  • Если выбран способ подтверждения с одноразовым паролем, он будет запрошен от пользователя в терминале: ssh otp

  • Если выбран Telegram, то бот пришлет сообщение с запросом подтверждения доступа:

Одна кнопка разрешает доступ, вторая блокирует.

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

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

  • На сервере с Linux есть пользователь с заданным логином
  • С сервера открыт доступ по UDP порту 1812 на адрес radius.multifactor.ru
  • Параметры Client ID и Shared Secret указаны корректно
  • Пользователь настроил способ аутентификации
  • Проверьте журнал "Запросы доступа" в личном кабинете Мультифактора.

Если ничего не сработало, обращайтесь, поможем.

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

  • Настройка ключей SSH в CentOS 7.
Last updated on 2020-11-30
← Let's Encrypt Windows ServerНастройка Linux SUDO →
  • Принцип работы
  • Перед началом работы
  • Настройка Мультифактора
  • Установка и настройка модуля PAM_RADIUS
  • Настройка PAM модулей ssh
  • Настройка службы SSHD
  • Проверка
  • Если что-то не работает
Мультифактор
Юридическая информация
ОфертаПолитика конфиденциальностиОплата и возврат
Компания
История созданияМиссияНекоторые сотрудникиКонтакты и реквизиты
Связаться с нами
+7 499 444 08 82sales@multifactor.rusupport@multifactor.ruTelegram
© 2022 Мультифактор