Перейти к содержанию

Настройка входа через mTLS в Trusted.ID#

📋 Эта инструкция входит в серию статей по настройке способов входа. Подробнее читайте в инструкции Способы входа и настройка виджета

В этом руководстве вы узнаете, как подключить аутентификацию mTLS к системе Trusted.ID.

Настройка входа через mTLS состоит из нескольких ключевых этапов:

  1. Настройка mTLS-аутентификации для администраторов Trusted.ID

  2. Привязка клиентского сертификата для пользователей Trusted.ID


Общая информация#

mTLS (Mutual TLS) — способ аутентификации, основанный на взаимной проверке сертификатов клиента и сервера.

Этот способ обеспечивает высокий уровень доверия и безопасности, так как вход в систему возможен только при наличии у пользователя действительного сертификата, подписанного доверенным центром сертификации (CA).

mTLS особенно полезен для корпоративных или чувствительных систем, где требуется минимизировать риск несанкционированного доступа.

Процесс работы mTLS#

  1. Инициация соединения: Клиент отправляет запрос к серверу Trusted.ID.
  2. Запрос сертификата клиента: Сервер требует предоставления клиентского сертификата.
  3. Отправка клиентского сертификата: Клиент предоставляет свой сертификат, подписанный доверенным CA.
  4. Проверка сертификата на сервере:

  5. Сервер сверяет сертификат с основным CA.

  6. Проверяет срок действия, подпись и соответствие требованиям безопасности.

  7. Аутентификация пользователя:

  8. Если сертификат валиден, сервер сопоставляет его с учетной записью пользователя и разрешает доступ.

  9. Если сертификат невалиден или отсутствует — доступ отклоняется.

  10. Установление защищенного канала: После успешной проверки сертификата устанавливается шифрованное соединение, и пользователь получает доступ.


Настройка mTLS-аутентификации для администраторов Trusted.ID#

Для работы mTLS необходимо:

  • настроить веб-сервер Nginx, чтобы он принимал только запросы, подписанные доверенным сертификатом;
  • создать и активировать провайдер mTLS в интерфейсе Trusted.ID;
  • установить клиентские сертификаты на устройства пользователей.

Шаг 1. Настройка Nginx для mTLS#

Перед добавлением провайдера в Trusted.ID необходимо подготовить конфигурацию Nginx:

  1. Откройте файл конфигурации nginx.local.conf.
  2. Добавьте новый server блок:

    Пример конфигурации:

    server {
       server_name local.trusted.com;
       listen 3443 ssl;
    
       # Сертификаты сервера
       ssl_certificate         certs/local.trusted.com.pem;
       ssl_certificate_key     certs/local.trusted.com-key.pem;
    
       # Сертификат корневого CA для проверки клиентских сертификатов
       ssl_client_certificate  certs/ca-bundle.crt;
       ssl_verify_client on;
       ssl_verify_depth 3;
    
       # Настройки сессии и протоколов
       ssl_session_timeout 10m;
       ssl_session_cache shared:SSL:10m;
       ssl_protocols TLSv1.2 TLSv1.3;
    
       # Ограничение доступа на основной путь, mTLS разрешен только для /api/mtls
       location / {
           return 404 "mTLS endpoints only. Use port 443 for regular access.";
       }
    
       # Настройка проксирования запросов на backend
       location /api/mtls {
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
    
           # Передача информации о клиентском сертификате
           proxy_set_header X-SSL-Client-Verify $ssl_client_verify;
           proxy_set_header X-SSL-Client-DN $ssl_client_s_dn;
           proxy_set_header X-SSL-Client-Serial $ssl_client_serial;
           proxy_set_header X-SSL-Client-Fingerprint $ssl_client_fingerprint;
           proxy_set_header X-SSL-Client-Issuer $ssl_client_i_dn;
    
           # Проксирование на backend
           proxy_pass http://backend;
           proxy_redirect off;
       }
    }
    
  3. Перезапустите Nginx после внесения изменений.

Описание параметров#

Параметр Назначение
ssl_certificate Сертификат сервера, используемый для HTTPS.
ssl_certificate_key Закрытый ключ сервера.
ssl_client_certificate Корневой сертификат CA для проверки клиентских сертификатов.
ssl_verify_client on Включение обязательной проверки клиентских сертификатов.
ssl_verify_depth Максимальная глубина цепочки проверки сертификатов клиента.
ssl_session_timeout Время жизни SSL-сессии.
ssl_protocols Разрешённые версии TLS.
proxy_set_header X-SSL-Client-* Передача информации о клиентском сертификате на backend.
  • Разместите серверные сертификаты (.pem и ключ) и корневой CA (ca-bundle.crt) в удобной директории, например certs/.
  • Путь к сертификатам укажите в конфигурации Nginx.

Шаг 2. Создание провайдера mTLS#

  1. Перейдите в кабинет администратора → вкладка Настройки.

💡 Чтобы создать способ входа для организации, откройте кабинет организации. Если способ входа нужен для конкретного приложения, откройте настройки этого приложения.

  1. Найдите блок Способы входа и нажмите Настроить.
  2. В открывшемся окне нажмите кнопку Создать Кнопка Создать.
  3. Откроется окно со списком шаблонов.
  4. Выберите шаблон mTLS.
  5. Заполните форму создания:

    Основная информация

    • Имя — Название, которое увидят пользователи.
    • Описание (опционально) — Краткое описание.
    • Логотип (опционально) — Можно загрузить свою иконку, или будет использована стандартная.

    Дополнительные настройки

    • Публичный способ входа — Включите, чтобы этот способ входа можно было добавить в профиль пользователя в качестве идентификатора внешнего сервиса.
    • Публичность — Настройте уровень публичности по умолчанию для идентификатора внешнего сервиса в профиле пользователя.
  6. Нажмите Создать.

После успешного создания новый способ входа появится в общем списке провайдеров.

Шаг 3. Добавление провайдера mTLS на виджет#

Чтобы пользователи увидели кнопку mTLS на форме авторизации, нужно активировать эту функцию в настройках виджета:

  1. В общем списке провайдеров найдите созданный способ входа.
  2. Включите переключатель на панели с провайдером.

Проверка: После сохранения откройте форму входа в тестовом приложении. На виджете должна появиться новая кнопка с логотипом mTLS.


Привязка клиентского сертификата для пользователей Trusted.ID#

📌 Инструкция предназначена для пользователей, которым необходимо выполнить вход в систему через mTLS.

Шаг 1. Установка клиентского сертификата в браузере#

Перед установкой убедитесь, что у вас есть файл сертификата в формате .p12 или .pfx.

Этот файл должен содержать:

  • ваш персональный сертификат,
  • закрытый ключ,
  • и цепочку доверия (если требуется).

Установка в Google Chrome / Microsoft Edge#

  1. Откройте браузер Chrome или Edge.
  2. Перейдите в НастройкиКонфиденциальность и безопасность.
  3. Найдите раздел Безопасность.
  4. Нажмите Управление сертификатами.
  5. Перейдите на вкладку Личное / Ваши сертификаты.
  6. Нажмите Импорт....
  7. В мастере импорта нажмите Далее.
  8. Нажмите Обзор и выберите ваш файл .p12 или .pfx.
  9. Введите пароль, который вы получили с сертификатом.
  10. Выберите Поместить все сертификаты в следующее хранилище.
  11. Нажмите Обзор и выберите Личное.
  12. Нажмите ДалееГотово.
  13. При появлении предупреждения безопасности нажмите Да.

После успешной установки сертификат появится в списке на вкладке Личное / Ваши сертификаты.

Установка в Mozilla Firefox#

  1. Откройте меню FirefoxНастройки
  2. Перейдите в раздел Приватность и защита
  3. Прокрутите вниз до Сертификаты
  4. Нажмите Показать сертификаты...
  5. Перейдите на вкладку Ваши сертификаты
  6. Нажмите Импорт...
  7. Выберите ваш файл .p12 или .pfx
  8. Введите пароль к сертификату
  9. Нажмите OK

После успешной установки сертификат появится в списке на вкладке Ваши сертификаты.

⚠️ Сертификаты нужно устанавливать только на доверенные устройства и строго следить за сохранностью пароля.

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

Шаг 2. Добавление идентификатора в профиль#

  1. Перейдите в свой Профиль.
  2. Нажмите Добавить в блоке Идентификаторы.

    Блок с идентификаторами в профиле пользователя

  3. В открывшемся окне выберите способ входа mTLS.

    Добавление идентификатора в профиле пользователя

  4. Выберите ранее установленный сертификат.

    Список сертификатов, доступных для добавления в качестве идентификатора

💡 Совет: Если идентификатор уже привязан к другому пользователю, необходимо удалить его из профиля этого пользователя, а затем привязать на новом аккаунте.

Шаг 3. Проверка#

  1. Перейдите на страницу входа с включенным способом входа mTLS.
  2. Выберите иконку способа входа mTLS.

  3. Первый вход: система может запросить выбор клиентского сертификата.

  4. Повторные входы: аутентификация выполняется автоматически с использованием ранее выбранного сертификата.

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

Для повышения удобства работы и хранения данных веб-сайт TRUSTED.RU использует файлы COOKIE. Продолжая работу с веб-сайтом, Вы даете свое согласие на работу с этими файлами.