AAA

Общие сведения об AAA

Конфигурация AAA описывает настройку аутентификации пользователя Termidesk Connect со стороны клиента и способа передачи данных Реальному Серверу, в том числе с использованием внешних AAA-сервисов.

В конфигурацию AAA входят настройки компонентов:

  • AAA-Сервер – совокупность параметров взаимодействия с сервером аутентификации и авторизации;

  • AAA-Профиль – совокупность параметров аутентификации пользователей, таких как количество попыток входа, порядок выбора серверов аутентификации и другое;

  • KDC-Сервер – совокупность параметров взаимодействия с сервером аутентификации и авторизации KDC (Kerberos-аутентификация);

  • SSO-Профиль – совокупность параметров перенаправления учетной записи пользователя на Реальный Сервер.

Kerberos-аутентификация

Termidesk Connect поддерживает Kerberos-аутентификацию пользователя на Реальном Сервере.

При использовании Kerberos-аутентификации Termidesk Connect имперсонализирует пользователя, являясь прокси-сервисом, и запрашивает билет для подключения у сервера KDC. Это происходит по следующему алгоритму:

  • пользователь подключается к Termidesk Connect;

  • Termidesk Connect использует имя делегирующей службы (service principal, формат: <протокол>/<имя службы>:<port>@<realm>) для имперсонализации пользователя (происходит первый запрос TGS-билета у сервера KDC для делегирующей службы);

  • дальнейшее подключение пользователя к Реальному Серверу происходит следующим образом:

    • Termidesk Connect запрашивает TGS-билет (второй запрос для делегирования) у сервера KDC для подключения пользователя к Реальному Серверу;

    • Termidesk Connect формирует на основе полученного от сервера KDC билета GSS-токен;

    • Termidesk Connect подключает пользователя к Реальному Серверу.

У TGS-билетов существует срок хранения (по умолчанию 24 часа) в кеше библиотеки Kerberos (тип MEMORY – в оперативной памяти). Таким образом первый запрос TGS-билета у сервера KDC не происходит при каждом подключении пользователя. Однако второй запрос TGS-билета выполняется при подключении пользователя, если его сессия перестала быть актуальной.

AAA-Серверы

Создание и настройка AAA-Сервера выполняется одним из способов:

  • из интерфейса командной строки Termidesk Connect;

  • из веб-интерфейса Termidesk Connect (см. подраздел Веб. AAA).

Для добавления AAA-Сервера выполнить:

Описание параметров также приведено в подразделе Объект aaa.
  • создание AAA-Сервера:

set aaa server <имя>
  • указание типа службы каталогов, к которой выполняется подключение:

Возможные значения:

  • AD – подключение к службе каталогов с поддержкой Microsoft Active Directory;

  • OpenLDAP – подключение к службе каталогов с поддержкой реализации с открытым исходным кодом протокола LDAP – OpenLDAP.

set aaa server <имя> LDAP type <тип>
  • указание адреса для подключения к службе каталогов:

set aaa server <имя> LDAP domain <адрес>
  • указание порта (по умолчанию – 389):

set aaa server <имя> LDAP port <порт>
  • указание времени (в секундах) ожидания авторизации (по умолчанию – 30):

set aaa server <имя> LDAP timeout <время>
  • указание корневой точки службы каталогов:

Пример значения параметра: DC=myserver,DC=local.
set aaa server <имя> LDAP base-dn <корневая_точка>
  • указание полного имени учетной записи администратора службы каталогов:

Пример значения параметра: CN=Administrator,CN=Users,DC=example,DC=ru.

Так же имя может быть получено из Хранилища секретов. Пример значения параметра:

  • kv://secret/data/my_ldap#dn – для kv версии 2;

  • ad://ldap/static-cred/my_ldap#dn – для ldap.

set aaa server <имя> LDAP administrator-bind-dn <имя_учетной_записи>
  • указание пароля для соединения со службой каталогов:

Так же пароль может быть получен из Хранилища секретов. Пример значения параметра:

  • kv://secret/data/my_ldap#password – для kv версии 2;

  • ad://ldap/static-cred/my_ldap#last_password – для ldap.

set aaa server <имя> LDAP password <пароль>
  • указание атрибута группы:

Пример значения параметра: memberOf.
set aaa server <имя> LDAP group-attribute <атрибут_группы>
  • (опционально) указание Клиентского SSL-Профиля для подключения:

set aaa server <имя> LDAP ssl-profile-id <имя_профиля>
  • (опционально) указание списка атрибутов, которые должны быть импортированы из службы каталогов:

set aaa server <имя> LDAP import-attribute-list <список_атрибутов>
  • (опционально) указание атрибута имени пользователя (по умолчанию – userPrincipalName):

set aaa server <имя> LDAP user-name-attribute <атрибуты>
  • применение конфигурации:

commit
  • сохранение конфигурации:

write

AAA-Профили

Создание и настройка AAA-Профиля выполняется одним из способов:

  • из интерфейса командной строки Termidesk Connect;

  • из веб-интерфейса Termidesk Connect (см. подраздел Веб. AAA).

Для добавления AAA-Профиля выполнить:

Описание параметров также приведено в подразделе Объект aaa.
  • создание AAA-Профиля:

set aaa profile <имя>
  • включение или выключение аутентификации пользователя (по умолчанию – true):

Возможные значения:

  • true – выполняется аутентификация пользователя с проверкой учетных данных. Пользователь должен предоставить корректное имя и пароль;

  • false – проверка пароля не выполняется. Для запроса атрибутов пользователя у сервера аутентификации используется только его имя (например, полученное из SSL-сертификата).

set aaa profile <имя> authentication <true/false>
  • указание пространства имен пользователя для аутентификации:

set aaa profile <имя> realm <пространство_имен>
  • указание времени (в секундах) жизни аутентификационной cookie (значение от 1 до 86400, по умолчанию – 600):

set aaa profile <имя> cookie-ttl <время_жизни>
  • настройка параметров блокирования пользователя при неуспешной аутентификации:

    Если пользователь в течение в течение времени attempt-ttl сделает неудачные попытки аутентификации в количестве attempts, то он будет заблокирован на время blocking-ttl.
    • указание периода (в секундах), в течение которого подсчитываются неудачные попытки аутентификации (значение от 1 до 86400, по умолчанию – 600):

      set aaa profile <имя> attempt-ttl <период>
    • указание количества неудачных попыток аутентификации (значение от 1 до 255, по умолчанию – 3):

      set aaa profile <имя> attempts <количество_попыток>
    • указание времени (в секундах) до блокировки (значение от 1 до 86400, по умолчанию – 600):

      set aaa profile <имя> blocking-ttl <время_блокировки>
  • указание имени аутентификационной cookie (по умолчанию – TC-AAC):

Имя аутентификационной cookie – это уникальный идентификатор cookie, который Termidesk Connect использует для поиска и валидации сессии.
set aaa profile <имя> cookie-name <имя_cookie>
  • указание атрибутов аутентификационной cookie:

Пример атрибутов: SameSite=Strict; HttpOnly.
set aaa profile <имя> cookie-attr <атрибуты_cookie>
  • настройка привязки AAA-Сервера:

    Для одного AAA-Профиля может быть задано несколько AAA-Серверов. В случае недоступности одного AAA-Сервера осуществляется переход на другой.
    • указание порядкового номера привязки настроенного AAA-Сервера:

      set aaa profile <имя> servers <порядковый_номер>
    • указание имени настроенного AAA-Сервера:

      set aaa profile <имя> servers <порядковый_номер> server-id <AAA-Сервер>
  • применение конфигурации:

commit
  • сохранение конфигурации:

write

KDC-Серверы

KDC-Серверы представляют собой совокупность параметров взаимодействия с сервером аутентификации и авторизации KDC (Kerberos-аутентификация).

Создание и настройка KDC-Сервера выполняется одним из способов:

  • из интерфейса командной строки Termidesk Connect;

  • из веб-интерфейса Termidesk Connect (см. подраздел Веб. AAA).

Для добавления KDC-Сервера выполнить:

Описание параметров также приведено в подразделе Объект krb5.
  • создание KDC-Сервера:

set krb5 server <имя>
  • указание IP-адреса для подключения к серверу:

set krb5 server <имя> domain <IP-адрес>
  • указание порта для подключения к серверу (по умолчанию – 88):

set krb5 server <имя> port <порт>
  • (опционально) указание времени (в секундах) ожидания ответа от сервера KDC (по умолчанию – 30):

set krb5 server <имя> timeout <значение>
  • применение конфигурации:

commit
  • сохранение конфигурации:

write

SSO-Профили

Создание и настройка SSO-Профиля выполняется одним из способов:

  • из интерфейса командной строки Termidesk Connect;

  • из веб-интерфейса Termidesk Connect (см. подраздел Веб. AAA).

Для добавления SSO-Профиля выполнить:

Описание параметров также приведено в подразделе Объект aaa.
  • создание SSO-Профиля:

set aaa sso-profile <имя>
  • указание типа аутентификации (т.е. как данные пользователя передаются на Реальный Сервер):

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

  • BASIC – базовый алгоритм аутентификации;

  • OFF – данные аутентификация не передаются;

  • KRB5-IM – аутентификация с использованием Kerberos версии 5.

set aaa sso-profile <имя> <тип_аутентификации>
  • при выборе типа аутентификации KRB5-IM потребуется задать:

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

      set aaa sso-profile <имя> KRB5-IM realm <значение>
    • имя делегирующего пользователя, обладающего правом от своего имени запрашивать билеты для обычных пользователей и делегировать их на другие сервисы:

      Так же имя может быть получено из Хранилища секретов. Пример значения параметра:

      • kv://secret/kerberos#service_principal – для kv версии 1;

      • kv://secret/data/kerberos#service_principal – для kv версии 2.

      set aaa sso-profile <имя> KRB5-IM service-principal <имя>
    • пароль делегирующего пользователя:

      Так же пароль может быть получен из Хранилища секретов. Пример значения параметра:

      • kv://secret/kerberos#password – для kv версии 1;

      • kv://secret/data/kerberos#password – для kv версии 2.

      set aaa sso-profile <имя> KRB5-IM password <пароль>
    • KDC-Сервер для аутентификации из списка добавленных в Termidesk Connect (может быть указано несколько) и его приоритет:

      set aaa sso-profile <имя> KRB5-IM servers <приоритет> <имя>
  • применение конфигурации:

commit
  • сохранение конфигурации:

write