RADIUS поддерживает следующие возможности сервера защиты. - Пакеты UDP. Для связи RADIUS между сервером сетевого доступа и сервером защиты используется протокол UDP и UDP-порт 1812, официально назначенный для этого. Некоторые реализации RADIUS используют UDP-порт 1645. Использование UDP упрощает реализацию клиента и сервера RADIUS.
- Объединение аутентификации и авторизации и выделение аудита. Сервер RADIUS получает запросы пользователя, выполняет аутентификацию и обеспечивает клиенту информацию о конфигурации. Аудит выполняется сервером аудита RADIUS.
- Шифрование паролей пользователей. Пароли, содержащиеся в пакетах RADIUS (a это только пользовательские пароли), шифруются посредством хэширования MD5.
- Аутентификация РАР и CHAP. Обеспечивает управление аутентификацией с помощью средств вызова/ответа РАР и CHAP, а также посредством диалога начала сеанса и ввода пароля наподобие входа в систему UNIX.
- Защита глобальной сети. Обеспечивает поддержку средств ААА удаленного доступа для серверов сетевого доступа многих поставщиков, поддерживающих клиентов RADIUS. Дает возможность централизовать управление удаленным доступом.
- Протоколы группы SLIP, PPP и ARAP. Поддерживаются также Telnet, rlogin и LAT (Local Area Transport — протокол доступа к терминалу в сетях DECnet).
- Автокоманды. Пользователь может автоматически выполнить команду, если она указана в базе данных RADIUS и поддерживается сервером сетевого доступа.
- Функция обратного вызова. Данная функция возвращает телефонные вызовы, заставляя сервер сетевого доступа звонить соответствующему пользователю, что может дать дополнительные гарантии защиты пользователям, использующим доступ по телефонным линиям.
- Расширяемость. Все транзакции предполагают использование пар "атрибут/значение" переменной длины. Новые атрибуты могут быть добавлены в существующие реализации протокола. Протокол разрешает производителям добавлять новые атрибуты с помощью атрибута поставщика.
- Гарантированная сетевая защита. Аутентификация транзакций между клиентом и сервером защиты RADIUS предполагает использование общего секретного значения.
Процесс аутентификации и авторизации RADIUSКлиент RADIUS и сервер защиты RADIUS обмениваются пакетами Access-Request (доступ-запрос), Access-Accept (доступ-подтверждение), Access-Reject (доступ-отказ) и Access-Challenge (доступ-вызов). Как показано на рис. 1, при попытке подключиться к серверу сетевого доступа, имеющему конфигурацию клиента RADIUS, выполняются следующие шаги. - Пользователь инициализирует запрос аутентификации РРР к серверу сетевого доступа.
- У пользователя запрашивается имя и пароль, и он вводит их.
- Сервер сетевого доступа посылает серверу защиты RADIUS пакет Acces-Request, содержащий имя пользователя, шифрованный пароль и другие атрибуты.
- Сервер защиты RADIUS идентифицирует посылающего клиента, выполняет аутентификацию пользователя, проверяет параметры авторизации пользователя и возвращает один из следующих ответов.
- Access-Accept — пользователь аутентифицирован.
- Access-Reject — пользователь не аутентифицирован, и сервер сетевого доступа либо предлагает ввести имя пользователя и пароль снова, либо запрещает доступ.
- Access-Challenge — вызов является дополнительной возможностью сервера защиты RADIUS, позволяющей получить дополнительные данные о пользователе, чтобы послать их серверу защиты RADIUS.
- Сервер сетевого доступа обращается к параметрам аутентификации, разрешающим использование конкретных служб.
- Ответ Access-Accept или Access-Reject связывается с дополнительными данными (парами "атрибут/значение"), используемыми для сеансов EXEC и авторизации. Процесс аутентификации RADIUS должен быть завершен до начала процесса авторизации. Дополнительные данные в пакетах Accept или Reject состоят из пар "атрибут/значение" для следующих объектов:
- сервисы, к которым разрешается доступ пользователю, включая Telnet, rlogin, а также соединения LAT и РРР;
- сервисы EXEC и SLIP;
- параметры соединения, включая IP-адреса клиента и хоста, список доступа и ограничения времени.
- Сервер защиты RADIUS может периодически посылать пакеты Access-Challenge серверу сетевого доступа, чтобы потребовать повторного введения имени и пароля пользователем, информировать о состоянии сервера сетевого доступа или выполнить какие-то другие действия, предусмотренные разработчиками сервера RADIUS. Клиент RADIUS не может посылать пакеты Access-Challenge.
Рис. 1. Процесс аутентификации и авторизации RADIUS Процесс аудита RADIUSПротокол RADIUS был усовершенствован с тем, чтобы обеспечить доставку информации аудита от клиента RADIUS серверу аудита RADIUS через UDP-порт 1813. Клиент RADIUS отвечает за отправку информации аудита пользователя соответствующему серверу аудита RADIUS, для чего используется пакет типа Accounting-Request (аудит-запрос) с соответствующим набором пар "атрибут/значение". Сервер аудита RADIUS должен принять запрос аудита и вернуть ответ, подтверждающий успешное получение запроса. Для этого используется пакет типа Accounting-Response (аудит-ответ). Как видно из рис. 2, при попытке подключиться к серверу сетевого доступа, имеющему конфигурацию клиента RADIUS, выполняются следующие шаги. - После исходной аутентификации сервер сетевого доступа посылает серверу защиты RADIUS старт-пакет Accounting-Request.
- Сервер защиты RADIUS подтверждает получение старт-пакета, возвращая пакет Accounting-Response.
- По окончании использования сервиса сервер сетевого доступа посылает стоп-пакет Accounting-Request; в этом пакете указываются тип предоставленного сервиса и дополнительные статистические данные.
- Сервер защиты RADIUS подтверждает получение стоп-пакета, возвращая пакет Accounting-Response.
Рис 2. Процесс аудита RADIUS Атрибуты RADIUSДанные атрибуты содержат конкретные параметры аутентификации и авторизации, а также другую необходимую информацию. Атрибуты присоединяются к концу пакета RADIUS. Можно присоединить один или несколько атрибутов сразу. Конец списка атрибутов определяется общей длиной пакета RADIUS. Формат атрибута показан на рис. 3; поля передаются слева направо. Рис. 3. Формат атрибута RADIUS, включающий поля типа, длины и значения Атрибуты RADIUS состоят из полей типа, длины и значения. - Тип. Имеет длину, равную одному октету. Указывает общий тип атрибута RADIUS. Одним из возможных значений этого поля является 1 (User-Name); это говорит о том, что поле значения содержит имя пользователя. Тип 26 (Vendor-Specific) указывает поставщика RADIUS или пользователя и определяет поля длины и значения.
- Длина. Имеет длину, равную одному октету. Указывает длину атрибута, включая поля типа, длины и значения.
- Значение. Поле нулевой или большей длины, равной целому числу октетов. Содержит конкретную информацию, предоставляемую данным атрибутом. Формат и длина поля значения определяются полями типа и длины.
|