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

Аннотация

В инструкции описана настройка конфигурации Виртуального Сервера с типом 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 <имя_профиля>
  • применение конфигурации:

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

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

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

[source,syntaxhighlighter-pre]

set aaa profile <имя>

* включение аутентификации пользователя (по умолчанию – `true`):

[NOTE]
====
Возможные значения:

* `true` – выполняется аутентификация пользователя с проверкой учетных данных. Пользователь должен предоставить корректное имя и пароль;
* `false` – проверка пароля не выполняется. Для запроса атрибутов пользователя у сервера аутентификации используется только его имя (например, полученное из SSL-сертификата).
====

[source,syntaxhighlighter-pre]

set aaa profile <имя> authentication true

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

[source,syntaxhighlighter-pre]

set aaa profile <имя> realm <пространство_имен>

* указание времени (в секундах) жизни аутентификационной cookie (значение от `1` до `86400`, по умолчанию – `600`):

[source,syntaxhighlighter-pre]

set aaa profile <имя> cookie-ttl <время_жизни>

* указание времени (в секундах) до блокировки (значение от `1` до `86400`, по умолчанию – `600`):

[source,syntaxhighlighter-pre]

set aaa profile <имя> blocking-ttl <время_блокировки>

* указание периода (в секундах), в течение которого подсчитываются неудачные попытки аутентификации (значение от `1` до `86400`, по умолчанию – `600`):

[source,syntaxhighlighter-pre]

set aaa profile <имя> attempt-ttl <период>

* указание количества неудачных попыток аутентификации (значение от `1` до `255`, по умолчанию – `3`):

[source,syntaxhighlighter-pre]

set aaa profile <имя> attempts <количество_попыток>

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

** указание порядкового номера привязки настроенного AAA-Сервера:
+
[source,syntaxhighlighter-pre]

set aaa profile <имя> servers <порядковый_номер>

** указание имени настроенного AAA-Сервера:
+
[source,syntaxhighlighter-pre]

set aaa profile <имя> servers <порядковый_номер> server-id <AAA-Сервер>

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

[source,syntaxhighlighter-pre]

commit

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

[source,syntaxhighlighter-pre]

Шаг 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"