Настройка продуктов С-Терра в части дополнительной функциональности, связанной с протоколом AAA
Настройка продуктов С-Терра в части дополнительной функциональности, связанной с протоколом AAA
Настройка С-Терра Шлюз
В настройке AAA на Шлюзе используется три структуры LSP:
- В правиле IKERule задается атрибут AAA типа AAARule.
Если атрибут AAA отсутствует, то для задействованного правила IKERule протокол AAA не используется.
IKERule ike (
# ...
AAA = aaa_model
)
- Структура AAARule описывает правила протокола AAA для соединений, создаваемых с применением задействованного правила IKERule, в котором указано данное правило AAARule.
AAARule aaa_model (
# Сценарий первого запроса. (PAP: User/Password, OTP: User/Password/Passcode)
ClientDialogType = PAP # [default: no xauth] PAP, OTP
# Текстовое сообщение первого запроса (требует ClientDialogType)
ClientDialogMessage = "Enter login info on server 186:" # [default: no message]
# Метод альтернативного получения Username:
# Если задано и есть ClientDialogType, то поле Username в диалоге не запрашивается
ForcedUser = IKE_ID # [default: Username из ClientDialog] “string”
либо
# IKE_ID, CERT_SUBJ_CN, CERT_SUBJ_OU,
# CERT_SUBJ_E, CERT_SUBJ_E_NAME,
# CERT_ALTSUBJ_EMAIL, CERT_ALTSUBJ_EMAIL_NAME, CERT_ALTSUBJ_DNS
# Метод альтернативного получения Password для единого пароля всех Users данного правила:
# Если задано и есть ClientDialogType, то поле Password в диалоге не запрашивается.
ForcedPasswordId = "pass186" # [default: Password из ClientDialog] <Имя ключа в базе>
AuthenticationServers = r_186 # [default: no RADIUS Access]
AccountingServers = r_186 # [default: no RADIUS Accounting]
# Периодичность отсылки промежуточной (Interim) статистики (сек.)
# 0: Промежуточная статистика не отсылается, отсылаются только события START и STOP
AccountingUpdateInterval = 20 # [default: 60] 0..65535
# Не отвечать на ARP-запросы, если AuthenticationServers назначил партнёру IKECFG адрес.
NoProxyARP = TRUE # [default: FALSE]
)
- Структура RADIUSServer описывает правила взаимодействия с внешним AAA сервером по протоколу RADIUS.
RADIUSServer r_186 (
IPAddress = 10.4.8.186 # IP-адрес сервера
SecretId = "secret186" # <Имя ключа в базе> для доступа к серверу
AuthenticationPort = 1645 # [default: 1812] 1..65535
AccountingPort = 1646 # [default: 1813] 1..65535
ResponseTimeout = 5 # [default: 3] 1..65535
Retries = 10 # [default: 4] 1..10
)
- Настройка на С-Терра Шлюз начиная с версии 5.0 отличается от предыдущих версий в связи с появлением возможности задания резервных RADIUS-серверов. Для задания списка серверов в структуру AAARule добавлены атрибуты AuthenticationServers и AccountingServers, в которых RADIUS-серверы должны перечислятся по принципу приоритетности.
AAARule aaa_model (
AuthenticationServers = r_186, r_187 # [default: no RADIUS Access]
AccountingServers = r_186, r_187 # [default: no RADIUS Accounting]
)
- Допустимо использование в структуре AAARule устаревшие атрибуты AuthenticationServer и AccountingServer, однако совместное использование пар атрибутов AuthenticationServer/AuthenticationServers и AccountingServer/AccountingServers в LSP запрещено.
- В структуру RADIUSServer добавлено атрибут TimeToBlockServer, который устанавливает время блокировки RADIUS-сервера в случае ошибки подключения к нему.
RADIUSServer r_186 (
TimeToBlockServer = 60 # [default: 300] 5..UINT32_MAX
)
Настройка С-Терра Клиент
Общие положения для Клиента:
- Если Клиент поддерживает XAuth (С-Терра Клиент, начиная с версии 4.1, а также VPN-клиенты сторонних производителей), то Шлюз формирует параметры для AAA из XAuth обменов, выступая в роли XAuth сервера.
- Если Клиент не поддерживает XAuth (С-Терра Клиент до версии 4.1, С-Терра Шлюз, С-Терра Юнит, а также VPN-устройства сторонних производителей), то Шлюз формирует параметры для AAA из ISAKMP обмена.
- Если в сценарии участвует RADIUS сервер, то данные Клиента, передаваемые в AAA, задаются в соответствии с базой учетных записей на RADIUS сервере:
• Если Клиент поддерживает XAuth, то пользователь Клиента должен вводить данные для AAA в соответствии с целевой учетной записью на RADIUS сервере.
• Если Клиент не поддерживает XAuth, то данные аутентификации для ISAKMP, используемые Клиентом, должны соответствовать учетной записи на RADIUS сервере – в зависимости от метода, задаваемого в конфигурации Шлюза.
До версии 5.0 устройство, выступающее в роли Клиента, специально никак не настраивается. Особенности реализации Клиента отражаются только в настройках Шлюза.
Устройство версии 5.0 и выше, выступающее в роли Клиента, может быть настроено на использование заранее определенных аутентификационных данных при проведении XAuth.
В настройке на Клиенте используются две структуры LSP:
- В правиле IKERule задается атрибута AAA типа AAARule.
- Если атрибут AAA отсутствует, то для задействованного правила IKERule предварительно заданные аутентификационные данные Клиента в XAuth протоколе использоваться не будут.
IKERule ike (
# ...
AAA = aaa_model
)
- Структура AAARule задает аутентификационные данные, которые могут быть использованы при проведении протокола XAuth для соединений, создаваемых с применением задействованного правила IKERule.
AAARule aaa_model (
ForcedUser = IKE_ID # [default: Username из ClientDialog] “string” либо
# HISTORY_RULE, HISTORY_PARTNER, IKE_ID,CERT_SUBJ_CN, CERT_SUBJ_OU, CERT_SUBJ_E,CERT_SUBJ_E_NAME, CERT_ALTSUBJ_EMAIL, CERT_ALTSUBJ_EMAIL_NAME,CERT_ALTSUBJ_DNS
ForcedPasswordId = "pass186" # [default: Password из ClientDialog] <Имя ключа в базе>
# либо HISTORY_RULE, HISTORY_PARTNER
)
- Если атрибуту ForcedUser или ForcedPasswordId структуры AAARule присвоено какое-либо значение, то соответствующее поле (Username/UserPassword) диалогового окна XAuth будет заполнено автоматически. Особенности функционирования:
- Распространяется только на случай, когда Шлюз сформировал соответствующее поле в запросе XAuth;
- При необходимости пользователь может изменить значение какого-либо из полей через диалоговое окно;
- Если атрибуту ForcedUser или ForcedPasswordId структуры AAARule присвоены значения HISTORY_RULE, HISTORY_PARTNER, то в качестве Username/UserPassword будет использовано ассоциируемое с партнером соединения значение, которое сохранено во внутреннем кэше устройства. Особенности функционирования:
- Распространяется только на случай, когда Шлюз сформировал соответствующее поле в запросе XAuth.
- Если в кэше отсутствуют записи данных, ассоциированных с партнером, то пользователю будет предложено ввести их в диалоговом окне.
- Значение Username/UserPassword помещается в кэш после первого ввода данных пользователем в диалоговом окне XAuth.
- Если Шлюз после проведения XAuth прислал статус FAIL, то данные, хранящиеся в кэше, будут удалены. В этом случае пользователю будет предложено повторно ввести аутентификационные данные при инициации нового соединения.
- После аутентификации пользователя С-Терра Клиент кэш очищается.
- Аутентификационные данные, которые вводит пользователь в диалоговое окно, помещаются в кэш с привязкой к идентификатору партнера, даже если соответствующие поля структуры AAARule не содержат значение HISTORY_RULE или HISTORY_PARTNER. Однако использоваться данные будут только при наличии значения HISTORY_PARTNER в полях структуры AAARule.
- Если атрибуты ForcedUser и ForcedPasswordId структуры AAARule успешно определены в Клиенте и Шлюз при XAuth обмене запрашивает значения только этих полей, то пользователь не увидит диалоговое окно. В случае если на Шлюзе в структуре AAARule заданы атрибуты ForcedUser и ForcedPasswordId, то данные у Клиента через диалоговое окно XAuth запрашиваться не будут.
Настройка RADIUS сервера
Настройка RADIUS сервера в данном документе не рассматривается.