Протокол RADIUS
...
(Remote Authentication Dial-In User Service)
...
Обмен данными между сервером RADIUS и клиентом RADIUS осуществляется в RADIUS-пакеты. Поля данных передаются слева направо. Ниже представлены поля в пакете RADIUS.
...
Каждый пакет RADIUS содержит следующую информацию:
...
- запрос доступа;
- доступ-прием;
- отказ от доступа;
- бухгалтерский запрос;
- бухгалтерский учет;
...
использует атрибуты для передачи параметров процесса AAA:
Authentication - аутентификация (проверка подлинности);
Authorization - авторизация (права и параметры доступа);
Accounting - аккаунтинг (учёт сессий и событий доступа).
Атрибуты передаются в RADIUS-сообщениях в виде пар Type–Length–Value (TLV) и используются как в запросах, так и в ответах. Сами RADIUS-пакеты представляют собой структурированные UDP-кадры, содержащие постоянные поля, контрольную сумму, и набор TLV. Формат пакеты описан в RFC 2865.
Формат RADIUS-пакета
Каждый RADIUS-пакет содержит:
Code (Код) - 1 октет, определяет тип сообщения;
Identifier (Идентификатор) - 1 октет, помогает сопоставлять запросы и ответы и обнаруживать повторяющиеся запросы;
Length (Длина) - 2 октета, определяет длину всего пакета;
Authenticator (Аутентификатор) - 16 октетов, используется для проверки подлинности/целостности сообщения.
Типы аутентификаторов:
...
Request Authenticator - используется в
Access-Request и Accounting-Request
...
;
Response Authenticator -
...
используется в ответах сервера (Access-Accept, Access-Reject, Access-Challenge, Accounting-Response).
Существуют следующие типы пакетов RADIUS:
- Access-Request — - отправляется от клиента на сервер RADIUS. Пакет содержит информацию, которая позволяет RADIUS-серверу определить, следует ли разрешить доступ к определенному серверу доступа к сети (NAS), который разрешает доступ пользователю. Любой пользователь, выполняющий проверку подлинности, должен отправить пакет Access-Request. После получения пакета Access-Request RADIUS-сервер должен переслать ответ.
- Access-Accept — - как только RADIUS-сервер получает пакет Access-Request, он должен отправить пакет Access-Accept, если все значения атрибутов в пакете Access-Request приемлемы. Пакеты Access-Accept предоставляют сведения о конфигурации, необходимые клиенту для предоставления услуг пользователю.
- Access-Reject — - как только RADIUS-сервер получает пакет Access-Request, он должен отправить пакет Access-Eject, если какое-либо из значений атрибута не является приемлемым.
- Access-Challenge — - как только сервер RADIUS получает пакет Access-Accept, он может отправить клиенту пакет Access-Challenge, который требует ответа. Если клиент не знает, как реагировать, или если пакеты недействительны, RADIUS-сервер отбрасывает пакеты. Если клиент отвечает на пакет, новый пакет Access-Request должен быть отправлен вместе с исходным пакетом Access-Request.
- Accounting-Request — - отправляется от клиента на сервер учета RADIUS, который предоставляет бухгалтерскую информацию. Если RADIUS-сервер успешно записывает пакет Accounting-Request, он должен отправить пакет Accounting Response.
- Accounting-Response — - отправляется сервером учета RADIUS клиенту для подтверждения того, что запрос на учет был получен и успешно записан.
Внутри RADIUS0-пакета (в каждом запросе, и в ответах неоторых типов) находится произвольное число атрибутов. Большинство встречаются один раз за пакет, некоторые несколько раз. Сущестувет два множества атрибутов: стандартные, описанные в RFC. Их порядка 180. И вендорспецифицные, т.е. придуманные производителями сетевого оборудования.
Каждый атрибут описан в словаре: название, вендор, код, тип значения и т.п.
Словарь общеупотребительных (и в т.ч. популярных вендорских) атрибутов уже встроен в систему WNAM 2. Вы можете добавить и своего вендора, а затем - его атрибуты, руководствуясь документацией вендораТипы файлов, используемых RADIUS важны для передачи аутентификационной информации от клиента к серверу. Каждый файл определяет уровень аутентификации или авторизации для пользователя: файл словаря определяет, какие атрибуты может реализовать NAS пользователя; файл clients определяет, каким пользователям разрешено делать запросы к RADIUS-серверу; пользовательские файлы определяют, какой пользователь запрашивает проверку подлинности RADIUS-сервера на основе данных безопасности и конфигурации.
Для создания RADIUS атрибута необходимо перейти в раздел "Объекты" → "RADIUS атрибуты". В данном разделе отображается список созданных атрибутов.
...
После создания RADIUS-атрибута возможно использование в различных разделах системы WNAM 2. Например, в создании RADIUS правил ("Доступ к оборудованию" – "Правила RADIUS" ):
Диагностические исходящие RADIUS-атрибуты (Outbound VSA)
Система WNAM 2 может добавлять в исходящие RADIUS-ответы проприетарные Vendor-Specific Attributes. Эти атрибуты используются для передачи диагностической информации, например применённых профилей и состояния устройства.
Атрибуты могут добавляться как в Access-Accept, так и в Access-Reject.
Настройка управляется параметром в разделе:
Настройки → Параметры
Параметр:
- Ключ: outbound_radius_attributes
- Тип: boolean
- Значение по умолчанию: true
Поведение параметра:
- true - добавлять проприетарные VSA в исходящие ответы Access-Accept и Access-Reject
- false - не добавлять проприетарные атрибуты
Передаваемые атрибуты:
Вендор: NETAMS
IETF код вендора: 23099
Система может передавать следующие атрибуты:
- Authentication-Profile-Name - [1] - string, имя применённого профиля аутентификации
- Authorization-Profile-Name - [2] - string, имя применённого профиля авторизации
- Endpoint-Id - [3] - string, идентификатор устройства (endpoint) в системе, Wid
- Endpoint-Compliance-State - [4] - enum, итоговое состояние устройства, значения:
- Offline 0
- Critical 1
- Non-Critical 2
- Info 3
- Compliant 100
- Unknown 200
- No-Agent 201
Словарь :
| View file | ||||
|---|---|---|---|---|
|
Примечания
- Атрибуты добавляются в ответы независимо от результата, то есть как в Access-Accept, так и в Access-Reject, если включён параметр outbound_radius_attributes
- Значения строковых атрибутов передаются в человекочитаемом виде
- Endpoint-Compliance-State использует значения, определённые подсистемой compliance, например Sakura или EndpointCheck


