RADIUS

Материал из OSZone.net wiki.

Перейти к: навигация, поиск


Содержание

RADIUS & Cisco

RADIUS (Remote Access Dial-In User Service — сервис идентификации удаленных абонентов) представляет собой распределенный протокол, используемый в рамках технологии клиент/сервер и обеспечивающий защиту сети от несанкционированного доступа. Cisco поддерживает RADIUS как одну из составляющих системы защиты AAA. Рассматриваемый протокол скорее объединяет аутентификацию и авторизацию, чем трактует их отдельно, как это делается в отношении аудита. Протокол RADIUS может использоваться с другими протоколами защиты AAA, например с TACACS+, Kerberos и локальными базами данных защиты. Данный протокол был разработан компанией Livingston Enterprises (теперь находящейся в составе Lucent Technologies). Протокол RADIUS описывается в документе RFC 2865, а аудит RADIUS - в RFC 2866.

Протокол RADIUS реализован во многих сетевых средах, требующих высокого уровня защиты при условии поддержки сетевого доступа для удаленных пользователей. Он представляет собой полностью открытый протокол, поставляемый в формате исходного текста, который можно изменить для того, чтобы он мог работать с любой доступной в настоящий момент системой защиты. Широкую популярность RADIUS обеспечивает возможность добавлять новые пары "атрибут/значение" в дополнение к тем, которые описаны в документе RFC 2865. Протокол RADIUS имеет атрибут поставщика (атрибут 26), позволяющий поставщику осуществлять поддержку своих собственных расширенных наборов атрибутов, включающих нестандартные атрибуты. Вследствие использования пар "атрибут/значение" конкретных поставщиков могут возникать трудности при интеграции серверных продуктов защиты RADIUS в другие системы защиты. Серверы защиты RADIUS и соответствующие клиенты должны игнорировать нестандартные пары "атрибут/значение", созданные конкретными поставщиками.

Cisco осуществляет поддержку клиентов RADIUS посредством набора серверов сетевого доступа, маршрутизаторов, коммутаторов Ethernet, брандмауэров PIX, концентраторов VPN 3000 и CiscoSecure ACS.

Версии RADIUS

Существует множество версий RADIUS, основными из которых являются следующие.

  • Реализация IETF. Разработанная компанией Livingston Enterprises, теперь входящей в состав Lucent Technologies, реализация IETF протокола RADIUS описывается в документе RFC 2865, а аудит RADIUS — в документе RFC 2866. Поддерживает примерно 63 атрибута.
  • Реализация Cisco. Начиная с Cisco IOS Release 11.2, с каждой новой версией Cisco IOS и CiscoSecure ACS число поддерживаемых этой реализацией атрибутов растет, а ее функциональные возможности постоянно расширяются. В настоящее время (на 2001 г) поддерживается примерно 58 атрибутов.
  • Реализация Ascend. Компания Ascend постоянно добавляет атрибуты поставщика, обеспечивающие, например, поддержку кэширования маркеров доступа и изменения пароля. Программный интерфейс приложения (API) дает возможность быстрой разработки новых расширений, в результате чего другим поставщикам трудно конкурировать с этой компанией в области предложения новинок. Хотя протокол RADIUS был изначально разработан компанией Livingston Enterprises, последняя уступила лидерство Ascend. Эта реализация поддерживает более 254 атрибутов.
  • Реализации других поставщиков. Доступны реализации RADIUS и других поставщиков.
  • Merit представляет собой версию для UNIX и Linux. Дополнительная информация доступна по адресу: www.merit.net.
  • Internet Authentication Service (сервис аутентификации Internet) для Microsoft Windows 2000 также предполагает поддержку RADIUS (см. www.microsoft.com/windows2000/library/howitworks/communications/remoteaccess/ias.asp).
  • Funk Steel-Belted RADIUS компании Funk Software (Поглощена Juniper - одним из главных конкурентов Cisco).

Возможности RADIUS

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, выполняются следующие шаги.

  1. Пользователь инициализирует запрос аутентификации РРР к серверу сетевого доступа.
  2. У пользователя запрашивается имя и пароль, и он вводит их.
  3. Сервер сетевого доступа посылает серверу защиты RADIUS пакет Acces-Request, содержащий имя пользователя, шифрованный пароль и другие атрибуты.
  4. Сервер защиты RADIUS идентифицирует посылающего клиента, выполняет аутентификацию пользователя, проверяет параметры авторизации пользователя и возвращает один из следующих ответов.
    • Access-Accept — пользователь аутентифицирован.
    • Access-Reject — пользователь не аутентифицирован, и сервер сетевого доступа либо предлагает ввести имя пользователя и пароль снова, либо запрещает доступ.
    • Access-Challenge — вызов является дополнительной возможностью сервера защиты RADIUS, позволяющей получить дополнительные данные о пользователе, чтобы послать их серверу защиты RADIUS.
  5. Сервер сетевого доступа обращается к параметрам аутентификации, разрешающим использование конкретных служб.
  6. Ответ Access-Accept или Access-Reject связывается с дополнительными данными (парами "атрибут/значение"), используемыми для сеансов EXEC и авторизации. Процесс аутентификации RADIUS должен быть завершен до начала процесса авторизации. Дополнительные данные в пакетах Accept или Reject состоят из пар "атрибут/значение" для следующих объектов:
    • сервисы, к которым разрешается доступ пользователю, включая Telnet, rlogin, а также соединения LAT и РРР;
    • сервисы EXEC и SLIP;
    • параметры соединения, включая IP-адреса клиента и хоста, список доступа и ограничения времени.
  7. Сервер защиты RADIUS может периодически посылать пакеты Access-Challenge серверу сетевого доступа, чтобы потребовать повторного введения имени и пароля пользователем, информировать о состоянии сервера сетевого доступа или выполнить какие-то другие действия, предусмотренные разработчиками сервера RADIUS. Клиент RADIUS не может посылать пакеты Access-Challenge.
Рис. 1. Процесс аутентификации и авторизации RADIUS
Увеличить
Рис. 1. Процесс аутентификации и авторизации RADIUS

Процесс аудита RADIUS

Протокол RADIUS был усовершенствован с тем, чтобы обеспечить доставку информации аудита от клиента RADIUS серверу аудита RADIUS через UDP-порт 1813. Клиент RADIUS отвечает за отправку информации аудита пользователя соответствующему серверу аудита RADIUS, для чего используется пакет типа Accounting-Request (аудит-запрос) с соответствующим набором пар "атрибут/значение". Сервер аудита RADIUS должен принять запрос аудита и вернуть ответ, подтверждающий успешное получение запроса. Для этого используется пакет типа Accounting-Response (аудит-ответ). Как видно из рис. 2, при попытке подключиться к серверу сетевого доступа, имеющему конфигурацию клиента RADIUS, выполняются следующие шаги.

  1. После исходной аутентификации сервер сетевого доступа посылает серверу защиты RADIUS старт-пакет Accounting-Request.
  2. Сервер защиты RADIUS подтверждает получение старт-пакета, возвращая пакет Accounting-Response.
  3. По окончании использования сервиса сервер сетевого доступа посылает стоп-пакет Accounting-Request; в этом пакете указываются тип предоставленного сервиса и дополнительные статистические данные.
  4. Сервер защиты RADIUS подтверждает получение стоп-пакета, возвращая пакет Accounting-Response.
Рис 2. Процесс аудита RADIUS
Увеличить
Рис 2. Процесс аудита RADIUS

Атрибуты RADIUS

Данные атрибуты содержат конкретные параметры аутентификации и авторизации, а также другую необходимую информацию. Атрибуты присоединяются к концу пакета RADIUS. Можно присоединить один или несколько атрибутов сразу. Конец списка атрибутов определяется общей длиной пакета RADIUS. Формат атрибута показан на рис. 3; поля передаются слева направо.

 Рис. 3. Формат атрибута RADIUS, включающий поля типа, длины и значения
Увеличить
Рис. 3. Формат атрибута RADIUS, включающий поля типа, длины и значения

Атрибуты RADIUS состоят из полей типа, длины и значения.

  • Тип. Имеет длину, равную одному октету. Указывает общий тип атрибута RADIUS. Одним из возможных значений этого поля является 1 (User-Name); это говорит о том, что поле значения содержит имя пользователя. Тип 26 (Vendor-Specific) указывает поставщика RADIUS или пользователя и определяет поля длины и значения.
  • Длина. Имеет длину, равную одному октету. Указывает длину атрибута, включая поля типа, длины и значения.
  • Значение. Поле нулевой или большей длины, равной целому числу октетов. Содержит конкретную информацию, предоставляемую данным атрибутом. Формат и длина поля значения определяются полями типа и длины.
Личные инструменты