Настройки
Справочник Настройки предназначен для определения общих настроек системы Допуск.
База данных геолокации¶
Для того, чтобы в личном кабинете на вкладке Устройства отображалась геолокация устройства с которого был совершён вход,
необходимо загрузить в Систему базу данных геолокации в формате mmdb.
Сделать это можно, указав в Настройки -> Единая точка входа -> База данных геолокации ссылку на скачивание. После нажатия на кнопку Сохранить Система автоматически загрузит базу данных геолокации и запишет результат выполнения в Журнал событий.
Ссылку на бесплатное скачивание баз данных можно взять на сайте https://db-ip.com или https://www.maxmind.com
Пример ссылки с сайта https://db-ip.com:
Информация
При использовании баз данных с сайта https://db-ip.com названия городов будут отображаться латиницей.
Информация
На данный момент для скачивания баз данных геолокации с сайта https://www.maxmind.com необходима регистрация.
Единая точка входа¶
Технология единого входа Single sign-on SSO — метод аутентификации, который позволяет пользователям безопасно аутентифицироваться
сразу в нескольких приложениях и сайтах, используя один набор учетных данных.
URL адрес Единой точки входа можно найти в Настройки -> Единая точка входа.
Внимание
Технология единого входа работает только по протоколу https
Информация
Технология единого выхода как правило реализована на стороне сервиса из которого совершается выход. По этой причине единый выход может работать некорректно.
Подготовка keytab файла для SPNEGO¶
Для работы аутентификации SPNEGO/Kerberos необходимо подготовить и переместить keytab-файл
с ключом сервисной учетной записи в каталог с файлами от docker volume - sso_conf.
Информация
При обращении пользователя браузер получает Kerberos-билет и передает его серверу, который проверяет билет с помощью ключа из keytab.
Настройка keytab файла на стороне домена Active Directory¶
SPN сервисного принципала в виде HTTP/host@REALM Например HTTP/sso.example.com@EXAMPLE.COM
В данном примере:
- Домен Active Directory: EXAMPLE.COM
- Контроллер домена: dc.example.com
- Сервис: HTTP/sso.example.com
- Файл keytab: sso_conf/http.keytab
Информация
Примеры команд выполняются от имени администратора домена. В качестве контроллера домена используется домен развёрнутый в Linux системе на основе Samba
-
Создание сервисной учетной записи:
На контроллере домена создайте отдельную учетную запись, которая будет использоваться только для SPNEGO. Например,
spnego. После создания пользователя задайте ему сложный пароль. Рекомендуется запретить интерактивный вход данной учетной записи.Внимание
Для правильной работы необходимо использовать совеременные типы шифрования Kerberos (AES128/AES256):
Атрибут пользователя Значение Описание msDS-SupportedEncryptionTypes 8 AES128 msDS-SupportedEncryptionTypes 16 AES256 msDS-SupportedEncryptionTypes 24 AES128 + AES256 Значения настраиваются в атрибуте пользователя -
msDS-SupportedEncryptionTypes. После включения поддержки AES рекомендуется сменить пароль учетной записи. Это приводит к генерации новых Kerberos-ключей (AES128/AES256), которые будут использоваться при выдаче билетов. -
Регистрация
SPN:На контроллере домена создайте SPN сервисного принципала в виде HTTP/host@REALM. Например - HTTP/sso.example.com@EXAMPLE.COM.
Информация
sso.example.com- URL адрес Единой точки входа, которрый можно посмотреть на вкладке: Настройки - Единая точка входа -
Генерация
keytab:На контроллере домена экспортируйте Kerberos-ключ в keytab-файл.
-
Копирование
keytabна сервер Допуск:Скопируйте файл http.keytab в каталог с файлами от
docker volume-sso_conf.
Настройка браузеров для работы с SPNEGO¶
| Браузер | Windows | Linux |
|---|---|---|
| Mozilla Firefox | 1. Откройте about:config2. Найдите network.negotiate-auth.trusted-uris3. Установите значение sso.example.com4. Перезапустите браузер |
Настройки выполняются аналогично системе Windows |
| Google Chrome / Chromium / Яндекс Браузер | 1. Создайте раздел реестра:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\<браузер>\или HKEY_CURRENT_USER\SOFTWARE\Policies\<браузер>\Используйте соответствующий раздел: - Google Chrome: Google\Chrome- Chromium: Chromium- Яндекс Браузер: Yandex\YandexBrowser2. Создайте строковый параметр AuthServerAllowlist3. Установите значение sso.example.com5. Перезапустите браузер |
1. Создайте каталог политики для используемого браузера: Google Chrome: sudo mkdir -p /etc/opt/chrome/policies/managedChromium: sudo mkdir -p /etc/chromium/policies/managedЯндекс Браузер: sudo mkdir -p /etc/opt/yandex/browser/policies/managed2. Создайте файл spnego.json со следующим содержимым в соответствующем каталоге:{"AuthServerAllowlist": "sso.example.com"}4. Перезапустите браузер |
Проверка применения настроек браузеров
| Браузер | Действия |
|---|---|
| Mozilla Firefox | 1. Откройте about:config.2. Убедитесь, что параметр network.negotiate-auth.trusted-uris имеет значение sso.example.com. |
| Google Chrome / Chromium / Яндекс Браузер | 1. Откройте chrome://policy.2. Убедитесь, что отображается политика AuthServerAllowlist со значением sso.example.com. |
Basic аутентификация¶
Basic аутентификация может понадобиться, чтобы получить доступ к приложению с помощью http клиента.
Например, при использовании клиента командной строки Curl, можно использовать следующую команду:
Basic аутентификация не является безопасной, так как значение полей <USER> и <PASSWORD> передаются по сети в
виде открытого текста.
Следовательно, необходимо учитывать два основных момента при использовании такого режима:
-
Рассмотрим на примере использования
Curl. Если<APPLICATION-URL>вашего сервиса отличается от адреса сервера Единой точки входа, тоCurlне будет отправлять заголовок Basic аутентификации. Такое поведениеCurlможно переопределить флагом--location-trusted:Внимание
Опасность заключается в том, что при таком переопределении значения
<USER>и<PASSWORD>будут отправляться в открытом виде при каждом перенаправлении. Это позволит сервису, через который происходит перенаправление, завладеть логином и паролем пользователя. -
Так как при включении Basic аутентификации значение полей
<USER>и<PASSWORD>передаются по сети в виде открытого текста, необходимо использоватьHTTPS/TLSсоединение. Если вам понадобиться обойти проверку сертификата при использованииCurl, используйте флаг--insecure:
Вместо Basic аутентификации рекомендуется использовать PAT токены.
Персональные токены доступа (PAT токены)¶
Для возможности аутентификации с помощью PAT токенов включить настройку Доступ к PAT токенам.
Например, при использовании клиента командной строки Curl, можно использовать следующую команду:
Стратегия защиты от подбора паролей¶
В системе поддерживается 2 варианта настройки:
1. IP - вариант защиты от подбора пароля с одного IP.
2. IP и Имя пользователя - вариант защиты от подбора пароля для пользователей, представленных одним IP (такой случай возможен, когда используется механизм преобразования сетевых адресов - NAT).