Инструкция по настройке предаутентификации пользователя

Аннотация

В инструкции описана настройка конфигурации Виртуального Сервера с типом HTTP и конфигурации AAA с помощью командной строки.

В качестве примера будут выполняться следующие шаги:

  • шаг 1. Настройка конфигурации Виртуального Сервера;

  • шаг 2. Настройка конфигурации AAA-Сервера;

  • шаг 3. Настройка конфигурации AAA-Профиля;

  • шаг 4. Настройка конфигурации SSO-Профиля;

  • шаг 5. Сценарий предаутентификации HTTP-запроса.

Шаг 1. Настройка конфигурации Виртуального Сервера

Для настройки конфигурации Виртуального Сервера по протоколу HTTP выполнить команды:

  • создание Виртуального Сервера:

set vs HTTP <имя>
  • задание IP-адреса:

set vs HTTP <имя> vip ip <IP-адрес>
  • задание порта:

set vs HTTP <имя> vip port <порт>
  • задание алгоритма определения статуса Виртуального Сервера:

set vs HTTP <имя> check-lbs algorithm <алгоритм>
  • задание Сервера Балансировки, по состоянию которого будет определяться статус Виртуального Сервера:

Возможно указать несколько Серверов Балансировки по порядку.
set vs HTTP <имя> check-lbs lbs-ids <имя>
  • задание Сценария (исполняемого файла формата LUA):

Параметр <приоритет> задает приоритет применения Сценария: чем меньше число, тем выше приоритет, и тем раньше Сценарий будет обработан Виртуальным Сервером.
set vs HTTP <имя> luarules <приоритет>
  • задание имени исполняемого файла формата LUA:

Файл должен быть расположен в каталоге /var/lib/tdc/lbscripts/content-switching/.
set vs HTTP <имя> luarules <приоритет> script <имя_файла>
  • привязка Серверного TCP-Профиля к Виртуальному Серверу (по умолчанию привязан tcpp-server-default):

set vs HTTP <имя> tcp-profile-id <имя_TCP-Профиля>
  • привязка Серверного HTTP-Профиля к Виртуальному Серверу (по умолчанию привязан httpp-server-default):

set vs HTTP <имя> http-profile-id <имя_HTTP-Профиля>
  • (опционально) привязка ранее созданного Серверного SSL-Профиля к Виртуальному Серверу:

set vs HTTP <имя> ssl-profile-id <имя_SSL-Профиля>
  • (опционально) привязка VRF к Виртуальному Серверу (по умолчанию привязан default):

set vs HTTP <имя> vrf <имя_VRF>
  • (опционально) задание комментария, который будет привязан к Виртуальному Серверу:

Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки.
set vs HTTP <имя> description <комментарий>
  • применение заданных настроек:

commit
  • сохранение настроек:

write

Шаг 2. Настройка конфигурации AAA-Сервера

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

  • создание AAA-Сервера:

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

В текущей версии Termidesk Connect доступна поддержка только LDAP-протокола для AAA-Сервера.
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.
set aaa server <имя> LDAP administrator-bind-dn <имя_учетной_записи>
  • указание пароля для соединения со службой каталогов:

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

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

set aaa server <имя> LDAP ssl-profile-id <имя_профиля>
  • применение конфигурации:

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

write

Шаг 3. Настройка конфигурации AAA-Профиля

Для настройки AAA-Профиля выполнить команды:

  • создание AAA-Профиля:

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

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

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

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

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

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

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

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

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

set aaa profile <имя> attempts <количество_попыток>
  • настройка привязки AAA-Сервера:

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

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

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

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

write

Шаг 4. Настройка конфигурации SSO-Профиля

Настройка SSO-Профиля (Single Sign On) является опциональной (необязательной).

Для настройки SSO-Профиля выполнить команды:

  • создание SSO-Профиля:

set aaa sso-profile <имя>
  • указание типа аутентификации:

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

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

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

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

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

write

Шаг 5. Сценарий для предаутентификации HTTP-запроса

Пример Сценария (исполняемого файла формата LUA) предаутентификации HTTP-запроса:

if
    client.aaa.user_id == ""
then
    client.aaa.profile = "my_profile"
    client.action = "auth"
    return
end

if
    client.aaa.user_id == "some_user"
then
    client.sso.profile = "sso_profile"
    client.sso.user = "my_user"
    client.sso.password = "my_password"
    client.sso.profile = "basic"
end

client.bs = "my_lbs"
client.action = "bs"