RADIUS (Remote Authentication Dial-In User Service) — расширенный протокол удаленной аутентификации пользователей, представляет собой ключевой элемент в обеспечении безопасности и управлении доступом в сетях. RADIUS был разработан для управления аутентификацией, авторизацией и учетом (AAA — Authentication, Authorization and Accounting) пользователей, предоставляя стандартизированный метод для проверки подлинности и предоставления доступа к сетевым ресурсам. АААОписаниеАутентификация (Authentication)Процесс аутентификации включает в себя передачу учетных данных (обычно имя пользователя и пароля) серверу RADIUS. Сервер RADIUS затем проверяет эти данные с помощью методов аутентификации, таких как PAP (Password Authentication Protocol), CHAP (Challenge Handshake Authentication Protocol) или EAP (Extensible Authentication Protocol). Эти протоколы обеспечивают безопасную передачу учетных данных и защищают их от несанкционированного доступа.PAP (Password Authentication Protocol) обеспечивает передачу учетных данных безопасным образом.CHAP (Challenge Handshake Authentication Protocol) предотвращает передачу пароля в открытом виде.EAP (Extensible Authentication Protocol) обеспечивает гибкость и поддержку различных методов аутентификации.Авторизация (Authorization)После успешной аутентификации RADIUS сервер принимает решение об авторизации пользователя. Это включает в себя определение прав доступа пользователя к определенным сетевым ресурсам или услугам. Авторизация может быть базирована на ролях пользователя, временных параметрах или других критериях.Учет (Accounting)Учет в RADIUS относится к записи информации о использовании ресурсов пользователем. Это включает в себя информацию о времени подключения, длительности сеанса, объеме переданных данных и другие параметры. Эти данные могут быть использованы для аудита, мониторинга и выставления счетов.
Протокол RADIUS играет ключевую роль в сфере сетевой безопасности и управления доступом. Его расширяемость позволяет внедрять новые методы аутентификации и авторизации, обеспечивая высокий уровень защиты от несанкционированного доступа.
В контексте аутентификации, протокол EAP, используемый в RADIUS, поддерживает различные механизмы, такие как EAP-TLS (Transport Layer Security), EAP-PEAP (Protected Extensible Authentication Protocol) и другие. Это расширенные протоколы обеспечивают дополнительные уровни шифрования и безопасности, что особенно важно в чувствительных к безопасности сетях и приложениях.
Система учета (Accounting) в RADIUS обеспечивает не только аудит использования ресурсов, но и базу для выставления счетов за предоставленные услуги. Эта функциональность является ключевой для провайдеров услуг, позволяя им эффективно управлять и фактурировать предоставляемые ресурсы.
История Протокол RADIUS был разработан Карлом Ригни () в фирме Livingston Enterprises для их серверов доступа (Network Access Server) серии PortMaster к сети интернет, и позже, в 1997, был опубликован как RFC 2058 и RFC 2059 (текущие версии RFC 2865 и RFC 2866). На данный момент существует несколько коммерческих и свободно распространяемых RADIUS-серверов. Они несколько отличаются друг от друга по своим возможностям, но большинство поддерживает списки пользователей в текстовых файлах, LDAP, различных базах данных. Учётные записи пользователей могут храниться в текстовых файлах, различных базах данных, или на внешних серверах. Часто для удаленного мониторинга используется SNMP. Существуют Прокси-серверы для RADIUS, упрощающие централизованное администрирование и/или позволяющие реализовать концепцию интернет-роуминга. Они могут изменять содержимое RADIUS-пакета на лету (в целях безопасности или для выполнения преобразования между диалектами). Популярность RADIUS-протокола, во многом объясняется: открытостью к наполнению новой функциональностью при сохранении работоспособности с устаревающим оборудованием, чрезвычайно высокой реактивностью при обработке запросов ввиду использования UDP в качестве транспорта пакетов, а также хорошо параллелизуемым алгоритмом обработки запросов; способностью функционировать в кластерных (Cluster) архитектурах (например OpenVMS) и мультипроцессорных (SMP) платформах (DEC Alpha, ) — как с целью повышения производительности, так и для реализации отказоустойчивости.
В настоящее время (с середины 2003 года) разрабатывается протокол DIAMETER (текущие версии RFC 3588 и RFC 3589), который призван заменить RADIUS, предоставляя механизм миграции.
Возможности
RADIUS представляет собой клиент-серверный протокол, используемый для аутентификации и авторизации пользователей, а также для учета их использования сетевых ресурсов. В сценариях, где множество пользователей требуют доступ к сетевым службам, таким как интернет или корпоративные ресурсы, RADIUS обеспечивает централизованное управление этим доступом.
Client (NAS) Устройство, требующее аутентификации, например, маршрутизатор или коммутатор. RADIUS Server Ответственен за аутентификацию, авторизацию и учет. Сервер может быть самостоятельным или интегрирован в сетевую инфраструктуру. User Database: Хранит информацию о пользователях, необходимую для аутентификации (например, имя пользователя и пароль). RADIUS обычно использует порты UDP 1812 для аутентификации и 1813 для учета. Эти порты могут варьироваться в зависимости от конфигурации.
RADIUS широко используется в различных сетевых сценариях, включая:
При предоставлении доступа к интернету провайдеры часто используют RADIUS для аутентификации пользователей и управления их доступом.
В офисных средах RADIUS применяется для обеспечения безопасного доступа сотрудников к корпоративным ресурсам и службам.
RADIUS используется для аутентификации устройств и пользователей, подключающихся к беспроводным сетям, что обеспечивает дополнительный уровень безопасности.
При использовании виртуальных частных сетей (VPN) RADIUS гарантирует безопасность и контроль доступа.
Будучи частью биллинговой системы, RADIUS-сервер является интерфейсом взаимодействия с телекоммуникационной системой или сервером (например маршрутизатором или коммутатором) и может реализовывать для такой системы следующие сервисы:
Общие Создание и хранение учётных записей пользователей (абонентов) Управление учётной записью пользователя (абонента) из персонального интерфейса (например веб-кабинета) Создание карточек доступа (логин или PIN-код) для предоставления услуг, с некоторым лимитом действия (Dial-Up доступа в Интернет и карточной IP-телефонии) Ручная и автоматическая блокировка учётной записи абонента по достижении заданного критерия или лимита Сбор и анализ статистической информации о сессиях пользователя и всей обслуживаемой системы (в том числе CDR) Создание отчётов по различным статистическим параметрам Создание, печать и отправка счетов к оплате Аутентификация всех запросов в RADIUS-сервер из обслуживаемой системы (поле Secret) RADIUS оперирует поверх протокола транспортного уровня UDP (User Datagram Protocol), который является протоколом без установления соединения. Эта особенность влияет на его производительность и реактивность.
Принятие UDP в качестве транспортного протокола обеспечивает высокую скорость обработки запросов, поскольку нет необходимости в установлении и поддержании постоянного соединения. Тем не менее, из-за отсутствия механизмов подтверждения и повторной передачи пакетов, RADIUS может потерять некоторые запросы в сетевых условиях с высоким уровнем загрузки или шума. Это требует внимательного управления сетью и обеспечения надежности на других уровнях стека сетевых протоколов.
Таким образом, RADIUS не привязан к конкретному сетевому уровню, а его функционирование зависит от сетевых услуг, предоставляемых протоколом UDP, который работает на четвертом уровне модели OSI.
Каждый пакет UDP состоит из следующих полей: ПолеРазмер (байты)ОписаниеCode1Тип пакета (Access Request, Access Accept, Access Reject)Identifier1Уникальный идентификатор пакетаLength2Длина пакета в байтах, включая все поля и атрибутыAuthenticator16Используется для аутентификации пакета и обеспечения целостности данныхAttributesПеременнаяНабор пар «атрибут-значение» для аутентификации и авторизации В настоящее время протокол RADIUS используется для доступа к виртуальным частным сетям (VPN), точкам беспроводного (Wi-Fi) доступа, Ethernet-коммутаторам, DSL и другим типам сетевого доступа. Благодаря открытости, простоте внедрения, постоянному усовершенствованию, протокол RADIUS сейчас является фактически стандартом для удаленной аутентификации.
Процесс аутентификации и авторизации Для определения принципа работы протокола RADIUS необходимо рассмотреть рисунок, приведённый выше. Ноутбуки и IP-телефон представляют устройства пользователя, с которых необходимо выполнить аутентификацию и авторизацию на сетевых серверах доступа (NAS): точке Wi-Fi доступа, маршрутизаторе, VPN-сервере и IP АТС. На рисунке приведены несколько из возможных вариантов NAS, существуют и другие сетевые устройства доступа. RADIUS реализуется в виде интерфейса между NAS (RADIUS-клиент) и RADIUS-сервером — программным обеспечением, устанавливаемым на компьютере (сервере) или ином специализированном устройстве. Сервер взаимодействует с устройством пользователя не напрямую, а только через сетевой сервер доступа.
Пользователь отправляет запрос на сетевой сервер для получения доступа к определённому сетевому ресурсу, используя сертификат доступа. Сертификат отправляется на сервер через сетевой протокол канального уровня (например, PPP в случае коммутируемого доступа, DSL в случае использования соответствующих модемов и т. д.). NAS, в свою очередь, посылает сообщение запроса доступа на RADIUS-сервер (RADIUS Access Request). Запрос включает сертификаты доступа, представленные в виде имени пользователя и пароля или сертификата безопасности, которые получены от пользователя. Запрос может содержать дополнительные параметры: сетевой адрес устройства пользователя, телефонный номер, информацию о физическом адресе, с которого пользователь взаимодействует с NAS.
Сервер проверяет информацию на корректность, используя схемы аутентификации: PAP (Password Authentication Protocol) (RFC 1334) — простой аутентификационный протокол, который используется для аутентификации пользователя по отношению к сетевому серверу доступа (NAS). РАР используется РРР протоколом. Практически все сервера доступа поддерживают РАР. РАР передает зашифрованный пароль через сеть и, следовательно, при перехвате трафика пароль может быть подвержен атаке перебора. Поэтому РАР, обычно, используется в том случае, когда сервер не поддерживает защищенные протоколы, такие как СНАР, ЕАР и т. п. CHAP (англ. Challenge Handshake Authentication Protocol) (RFC 1994) — широко распространённый алгоритм проверки подлинности, предусматривающий передачу не самого пароля пользователя, а косвенных сведений о нём. При использовании CHAP сервер удаленного доступа отправляет клиенту строку запроса. На основе этой строки и пароля пользователя клиент вычисляет хеш-код MD5 и передает его серверу. Хеш-функция является алгоритмом одностороннего (необратимого) шифрования, поскольку значение хеш-функции для блока данных вычислить легко, а определить исходный блок по хеш-коду с математической точки зрения невозможно за приемлемое время. Сервер, которому доступен пароль пользователя, выполняет те же самые вычисления и сравнивает результат с хеш-кодом, полученным от клиента. В случае совпадения учётные данные клиента удалённого доступа считаются подлинными. MD5 (Message-Digest algorithm 5) (RFC 1321) — широко используемая криптографическая функция с 128 битовым хешем. В алгоритме найден ряд уязвимостей, в силу чего Министерство внутренней безопасности США не рекомендует использование MD5 в будущем, и для большинства правительственных приложений с 2010 года США требуется перейти на семейство алгоритма SHA-2.