Инструкция по настройке предаутентификации пользователя
Аннотация
В инструкции описана настройка конфигурации Виртуального Сервера с типом 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 <имя>
-
указание типа аутентификации:
|
Возможные значения типа аутентификации:
|
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"