Что такое radius сервер в роутере
Как появляется домашняя компьютерная сеть? Сначала у вас дома только один компьютер, затем вы покупаете новый. Старую машинку выбрасывать жалко, продать – некому. Вы связываете два компьютера витой парой. Затем вы покупаете ноутбук. Помимо всего прочего, ноутбук – очень подходящее устройство для того, чтобы бродить по всемирной паутине, лежа на диване, или слушать интернет-радио, сидя на балконе. Однако таскать витую пару вслед за ноутбуком неудобно, и поэтому вы устанавливаете беспроводную сеть. В процессе установки беспроводной сети у себя дома большинство пользователей идет по пути наименьшего сопротивления, что, увы, делает их творения крайне небезопасными. Статистические исследования я не проводил, но сканирование эфира в доме, где я живу, выявило три Wi-Fi сети (помимо моей собственной), две из которых вообще не были защищены. Об уязвимости простого протокола защиты WEP было сказано столько, что распространяться на эту тему представляется излишним. Необходимый и достаточный уровень защиты домашних беспроводных сетей может быть обеспечен протоколами WPA/WPA2 с разделяемым ключом (pre-shared key, PSK). Настроить этот протокол не намного сложнее, чем обычный WEP. Недостатки WPA-PSK, главный из которых – использование одного и того же ключа на всех клиентских машинах, в домашней сети несущественны. Однако, хотя WPA-PSK является вполне надежным методом защиты небольшой беспроводной сети, среди пользователей Linux наверняка найдутся такие, которые, как и я, не захотят останавливаться на достигнутом. Ведь каждый домашний пользователь Linux, в некотором смысле, исследователь. Практически каждый стремится выйти за рамки простейшей технологии, ориентированной на «чайников», и опробовать другие, предоставляющие более широкие возможности. Сегодня мы поговорим о том, каким образом домашний Linux-сервер может расширить возможности вашей беспроводной сети с помощью сервера FreeRADIUS, который является наиболее популярной на сегодняшний день реализацией сервера протокола RADIUS.
Радиус чего?
Аббревиатура RADIUS расшифровывается как Remote Authentication Dial-In User Service [Служба удаленной аутентификации входящих пользователей]. Словосочетание Dial-In не должно вводить вас в заблуждение. Протокол RADIUS используется для авторизации, аутентификации и учета пользователей в самых разных системах (в том числе и беспроводных). Для того, чтобы понять, нужен ли вам RADIUS-сервер и как его использовать, вы должны понимать место протокола RADIUS в системе аутентификации и авторизации. Протокол RADIUS полностью абстрагирован не только от технологии связи, но и от протоколов передачи данных в сети, в которой происходит авторизация. Фактически функция сервера RADIUS сводится к тому, что сервер принимает информацию, которую пользователь сети предоставляет в процессе аутентификации, и авторизует пользователя. Это означает, что использование сервера RADIUS не может сделать безопаснее сам процесс передачи данных в сети (оно может обезопасить только процесс передачи данных в ходе аутентификации, что, конечно, тоже немаловажно). После того как процесс авторизации пользователя в сети завершился, сервер RADIUS ему больше не нужен, по крайней мере, до тех пор, пока пользователю не понадобится снова авторизоваться в системе.
Протокол RADIUS применяется уже довольно давно. Несколько лет назад строителям беспроводных сетей был предложен протокол DIAMETER. Этот протокол, как можно догадаться из его названия, представляет собой улучшенную версию RADIUS. Впрочем, не смотря на готовую замену, RADIUS по-прежнему процветает, а дополнительные возможности DIAMETER вряд ли понадобятся администраторам небольших сетей, да и далеко не все сетевое оборудование, доступное на сегодняшний день, поддерживает эти возможности.
О достоинствах RADIUS было сказано выше, главный же недостаток системы авторизации с помощью RADIUS в домашней сети очевиден: для того, чтобы пользователи могли авторизоваться, RADIUS-сервер должен работать, то есть один из компьютеров в сети должен быть постоянно включен, что может показаться кому-то избыточным. Стоит отметить, что некоторые маршрутизаторы, совмещенные с точками беспроводного доступа, оснащены встроенным сервером FreeRADIUS (или позволяют установить его), однако в домашних сетях такие устройства редки.
Не следует, однако, думать, что FreeRADIUS – редкий гость в малых сетях. По данным разработчиков, сервера сети с небольшим числом узлов (до 10) составляют около 14% от общего числа сетей, использующих FreeRADIUS, и это не мало, если учесть широкий спектр применения сервера (в том числе, в сетях с десятками и даже сотнями тысяч узлов).
Враг не пройдет!
Компания Microsoft разработала на основе EAP протокол EAP-TLS, принятый позднее в качестве стандарта. Протокол EAP-TLS (Extensible Authentication Protocol – Transport Layer Security) реализует двустороннюю аутентификацию с использованием сертификатов X.509 обеими сторонами. PEAP (Protected Extensible Authentication Protocol) представляет собой проприетарное расширение протокола EAP. В отличие от EAP, протокол PEAP создает безопасный туннель перед началом процесса аутентификации. Далее по этому туннелю передаются данные для аутентификации. Наличие безопасного туннеля затрудняет перехват данных злоумышленником. Как и EAP, PEAP представляет собой контейнер для высокоуровневых протоколов аутентификации, например, для MSCHAP, в которых аутентификация выполняется с помощью имени учетной записи и пароля (стоит отметить, что изначально PEAP предназначался для более продвинутых протоколов аутентификации, нежели MSCHAP, но в настоящее время устройства доступа поддерживают PEAP-MSCHAP V2). Еще один проприетарный протокол, EAP-TTLS, также использует безопасные туннели для передачи данных. EAP-TTLS интересен тем, что рассматривается IETF как будущий стандарт безопасной аутентификации. Как и в EAP-TLS, в EAP-TTLS реализована двусторонняя аутентификация (сервер удостоверяет себя с помощью сертификата X.509). Мы же рассмотрим аутентификацию с помощью PEAP-MSCHAP V2 и EAP-TLS.
Установим FreeRADIUS
По умолчанию в системе Linux исполняемый файл FreeRADIUS (RADIUSd) устанавливается в директорию /usr/local/sbin. Директория /usr/local/etc/raddb/ содержит файлы конфигурации сервера. Основные настройки сервера содержатся в файле radiusd.conf. Домашнему сетестроителю, скорее всего, не придется вносить изменения в этот файл. Если же вы хотите, чтобы сервер RADIUS был связан только с одним IP-адресом (по умолчанию сервер регистрируется на всех IP той машины, на которой он запущен) или прослушивал нестандартный порт, подробные комментарии в файле подскажут вам, как его редактировать. Cправку о структуре файла radiusd.conf можно также получить по команде
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.
Порт 1812 по умолчанию принимает запросы от аутентификатора, а порт 1813 используется для обработки учетной информации о пользователях сети. После этого сервер переходит в режим ожидания запросов на аутентификацию. Теперь, когда вы убедились, что сервер запускается, вы можете приступить к настройке взаимодействия сервера и точки доступа. Для этого ее адрес, а также некоторые другие параметры, должны быть прописаны в файле clients.conf (название файла объясняется тем, что для сервера RADIUS точки доступа выступают в роли клиентов).
Сервер RADIUS может обслуживать несколько аутентификаторов одновременно, и каждому из них в файле cliens.conf должна соответствовать одна запись вида:
man 5 clients
После настройки файла clients.conf следует настроить саму точку доступа. Обычно в настройках точки доступа указываются адрес и порт сервера, а также секретный ключ – тот же, что и в параметре secret.
rad_recv: Access-Request packet from host 192.168.1.50:1812, /> length=197
Sending Access-Reject of id 6 to 192.168.1.50 port 1812
Сервер получил запрос от точки доступа, но отказал пользователю в авторизации, поскольку требуемой учетной записи еще не существует.
Однако прежде чем перейти к созданию учетной записи пользователя на сервере рассмотрим, еще один важный файл настроек. Сервер FreeRADIUS имеет модульную структуру, и для того, чтобы он мог обрабатывать запросы по тому или иному протоколу, сервер должен загрузить модуль, в котором реализована поддержка данного протокола. Для наших экспериментов нам понадобятся модули eap, mschapv2, tls, ttls и peap (их названия соответствуют названиям протоколов аутентификации, которые они поддерживают). Загрузкой модулей протоколов и их настройкой управляет файл eap.conf. Чтобы сервер загружал необходимые модули, нам нужно раскомментировать соответствующие им записи в eap.conf. Они имеют следующий вид
имя_модуля параметр = значение
.
>
Нам пока не требуется изменять значения параметров модулей – достаточно просто убрать значки комментариев (модули eap и mschapv2 загружаются по умолчанию, так что их записи в файле eap. conf действительны).
Настроим: PEAP MS CHAP V2
Данные учетных записей пользователей для аутентификации по протоколу PEAP MS CHAP V2 хранятся в файле users (а не users.conf, как можно было бы ожидать). Подробную информацию об этом файле вы можете получить с помощью команды >
man 5 users
Сервер FreeRADIUS может хранить данные учетных записей не только в файле users, но и в базах данных на серверах MySQL, SQL Server, Oracle, однако для домашней сети использование сервера БД для хранения данных о пользователях – пустое расточительство вычислительных ресурсов, и мы его рассматривать не будем. Предполагается также, что в вашей домашней сети отсутствуют контроллеры доменов. Кроме того, для простоты изложения мы присвоим клиентской машине статический адрес.
При настройке учетной записи пользователя, проходящего аутентификацию по протоколу MS-CHAP V2, в файл users следует добавить запись вида:
user1 User-Password = "**********"
Service-Type = Framed-User,
Framed-Protocol = SLIP,
Framed-IP-Address = 192.168.1.3,
Framed-IP-Netmask = 255.255.255.0,
Framed-Routing = Broadcast-Listen,
Framed-Filter-Id = "std.ppp",
Framed-MTU = 1500,
Framed-Compression = Van-Jacobsen-TCP-IP
Этот фрагмент текста описывает учетную запись пользователя с именем user1. Атрибут User-Password содержит пароль (который должен быть заключен в кавычки). Атрибут Framed-Protocol позволяет указать протокол, используемый для передачи данных между клиентом и сетью. Возможные значения этого атрибута – SLIP и PPP. Протокол PPP обладает более широкими возможностями, но для домашней сети нам вполне достаточно SLIP. Атрибуты Framed-IP-Address и Framed-IP- Netmask указывают адрес нового узла сети и маску подсети. Атрибут Framed-MTU позволяет указать значения MTU. Последние три атрибута должны соответствовать настройкам клиентской машины. После того как вы перезапустите сервер и настроите протокол MS-CHAP V2 на клиентской машине, ваш компьютер может регистрироваться в беспроводной сети с помощью имени пользователя и пароля.
Настроим: EAP-TLS
openssl genrsa -des3 -out myroot_ca.key 2048
Ключ будет сохранен в файле myroot_ca.key. Теперь создадим сам сертификат:
openssl req -new -x509 -days 730 -key myroot_ca.key -out myroot_ca.crt
Сертификат, действительный в течение 730 дней, сохраняется в файле myroot_ca.crt. В процессе генерации сертификата программа задаст вам несколько вопросов относительно значений полей сертификата.
Для генерации серверного и клиентского сертификатов, подписанных электронной подписью, заверенной нашим корневым сертификатом, нам понадобится создать специальный файл конфигурации, который будет использовать утилита openssl. Пример файла конфигурации вы найдете на диске (он называется ca.config), приводить его полный текст здесь я не буду. Файл конфигурации содержит ответы на стандартные вопросы, которые задает утилита openssl в процессе генерации сертификата (вы, конечно, захотите заменить эти данные своими собственными). Кроме того, этот файл устанавливает пути к некоторым каталогам, используемым в процессе генерации сертификатов и некоторые дополнительные параметры. Строки
[ xpclient_ext ]
extendedKeyUsage = 1.3.6.1.5.5.7.3.2
[ xpserver_ext ]
extendedKeyUsage = 1.3.6.1.5.5.7.3.1
указывают расширенные параметры сертификата. Они понадобятся в том случае, если вы генерируете сертификаты (клиентский и серверный) для сети, в которой предусмотрена авторизация Windows-клиентов. Файл ca.config ссылается на файлы и директории, который должны быть созданы явным образом (приведенная ниже последовательность команд предполагает, что имена файлов и директорий в ca.conf не были изменены). Сами команды выполняются в той директории, в которой мы сохранили корневой сертификат и его ключ.
mkdir newcerts
touch certs.db.index
echo "01" > certs.db.serial
Теперь мы можем приступить к созданию сертификата сервера. Ключ для него получается уже знакомой нам командой:
openssl genrsa -des3 -out myserver.key 2048
Далее мы создаем запрос на подпись сертификата точно так же, как если бы мы обращались к настоящему УЦ:
openssl req -new -key myserver.key -out myserver.csr
На основе этого запроса мы создаем серверный сертификат с подписью, заверенной корневым сертификатом:
openssl ca -config ca.config -in myserver.csr -out myserver.crt –batch
Сертификат клиента создается по той же схеме:
openssl pkcs12 -export -in user1.crt -inkey user1.key -out user1.p12
Теперь мы переходим к собственно настройке FreeRADIUS. В директории /usr/local/etc/raddb/certs необходимо создать файл с числами Диффи-Хеллмана (Diffie-Hellmann):
openssl dhparam 512 > /usr/local/etc/raddb/certs/dh
Там же создаем файл случайной последовательности из 1024 байтов:
dd if=/dev/urandom of=/usr/local/etc/raddb/certs/random count=2
Теперь скопируем в директорию /usr/local/etc/raddb/certs файлы myroot_ca.crt, myserver.crt и myserver.key. Нам осталось настроить файлы конфигурации FreeRADIUS, а точнее eap.conf. После редактирования раздел параметров модуля tls в этом файле должен выглядеть примерно так (ради сокращения листинга комментарии пропущены):
В чем же смысл аутентификации EAP-TLS? Фактически сервер проверяет только то, заверена ли подпись клиентского сертификата известным ему корневым сертификатом. Иначе говоря, для предоставления пользователю доступа к сети достаточно выдать пользователю сертификат, подпись которого удостоверена корневым сертификатом, известным FreeRADIUS. Ну, а поскольку подделать эту подпись достаточно тяжело, злоумышленники, желающие посидеть в Интернете за чужой счет, будут держаться подальше от вашей сети!
Врезка
Терминология
Под аутентификацией понимается процесс, который подтверждает, что пользователь, пытающийся зарегистрироваться в системе, действительно тот, за кого он себя выдает. Авторизация – это процесс, подтверждающий определенные права пользователя, прошедшего аутентификацию. Устройство доступа к сети, реализующее физический уровень системы аутентификации, часто называют аутентификатором.
Как работает сервер RADIUS? Для того чтобы иметь возможность авторизовать пользователей в сети с помощью RADIUS, необходимо чтобы аутентификатор (в случае беспроводной сети – точка доступа) поддерживал протокол RADIUS. Получив запрос на авторизацию, RADIUS-аутентификатор направляет запрос RADIUS-серверу, используя, как ни странно, протокол RADIUS. В зависимости от ответа сервера аутентификатор либо предоставляет пользователю доступ к сети, либо отказывает в доступе.
Серверы RADIUS широко используются многими учреждениями, которые предоставляют Wi-Fi возможность подключения с аутентификацией WPA2 / WPA3-Enterprise, то есть аутентификация, при которой у нас будет имя пользователя / пароль или цифровой сертификат для аутентификации в беспроводной сети. Он также широко используется операторами для доступа в Интернет. VPN сервисы для простой и быстрой аутентификации различных VPN-клиентов с использованием имени пользователя и пароля и даже для аутентификации через Ethernet с использованием стандарта 802.1X. Вы хотите подробно узнать, что такое RADIUS-сервер и для чего он нужен?
Что такое RADIUS-сервер и для чего он нужен?
РАДИУС ( Служба удаленного доступа для пользователей с телефонным подключением ) - это протокол, который выделяется тем, что предлагает механизм безопасности, гибкость, расширяемость и упрощенное управление учетными данными для доступа к сетевому ресурсу. Это аутентификация и авторизация протокол Для доступа к сети этот протокол использует схему клиент-сервер, то есть пользователь с учетными данными для доступа к ресурсу подключается к серверу, который будет отвечать за проверку подлинности информации и будет отвечать за определение того, получает ли пользователь доступ к совместно используемому ресурсу. Благодаря использованию серверов RADIUS сетевой администратор может в любое время контролировать начало и конец периода аутентификации и авторизации клиентов, например, мы можем легко исключить пользователя, который ранее вошел в систему по любой причине.
Серверы RADIUS широко используются интернет-операторами (PPPoE), но они также широко используются в сетях Wi-Fi отелей, университетов или в любом другом месте, где мы хотим обеспечить дополнительную безопасность беспроводной сети, его также можно использовать для аутентификации клиентов, которые делают использование протокола 802.1X для Ethernet, и его можно было бы даже использовать для аутентификации клиентов VPN, которые мы хотим, таким образом, у нас будет вся централизованная аутентификация в одной точке простым и простым способом, без необходимости иметь несколько баз данных с разными данными.
Серверы RADIUS используют протокол в UDP транспортный уровень на порт 1812 для установления соединения между командами для проверки подлинности. Когда мы настраиваем сервер RADIUS, мы можем определить, хотим ли мы, чтобы он использовал TCP или UDP, и мы также можем определить используемый порт, хотя по умолчанию это всегда UDP 1812. Что касается используемых устройств, есть отличные Многие маршрутизаторы могут предложить эту услугу для аутентификации клиентов WiFi на локальном или удаленном сервере RADIUS. Кроме того, можно использовать серверы, OLT и даже NAS-серверы, возможности действительно широки, что позволяет не только устанавливать сервер RADIUS, но и не является чем-то непосильным для пользователя, и это не сложно, потому что производители NAS-серверов уже легко включают внутренний сервер RADIUS. настраиваемый. Серверы RADIUS обычно используют протоколы аутентификации, такие как PAP, CHAP или EAP,
Роли RADIUS-сервера и приложений
Прежде всего, сервер RADIUS предлагает механизм аутентификации пользователя для доступа к системе либо к проводной сети с использованием протокола 802.1X, либо к сети WIFi, если у нас есть аутентификация WPA2 / WPA3-Enterprise, и даже к серверу OpenVPN, если мы правильно ли он настроен для получения базы данных клиентов, которые могут подключаться через этот сервер RADIUS.
После процесса «аутентификации» у нас есть процесс «авторизации», который отличается. Одно дело в том, что мы можем аутентифицироваться в системе, и совсем другое - у нас есть разрешение на выполнение определенных действий. После аутентификации и авторизации у нас есть «Учет», он служит для анализа времени сеанса и записи статистики, которую в дальнейшем можно использовать для сбора данных или просто для создания информативных отчетов.
Мы указали, что операторы используют его, чтобы домашние маршрутизаторы пользователей аутентифицировали себя и, таким образом, получали доступ к сетевому ресурсу, который на этот раз позволяет им получить доступ к Интернету. Но одно из преимуществ этого сервера и протокола - гарантировать ограниченный доступ к беспроводным сетям, отелям, ресторанам, школам, библиотекам и так далее, пока не будет завершен длинный список приложений. В этих случаях лица, ответственные за управление сетью, генерируют временные учетные данные, которые разрешают ограниченный доступ с точки зрения времени, после истечения установленной даты учетные данные будут недействительными, и сервер RADIUS не будет проверять использование сети. Управление очень разнообразное, вы можете использовать активные каталоги или базы данных, принадлежащие трансверсальным приложениям.
Что такое FreeRADIUS и почему он связан с серверами RADIUS?
FreeRADIUS всегда связан с сервером RADIUS, потому что это программное обеспечение по преимуществу для установки сервера RADIUS. Если нам необходимо установить сервер RADIUS на любом компьютере (серверах, маршрутизаторах, NAS и т. Д.), Мы всегда будем прибегать к программному обеспечению FreeRADIUS, поскольку оно многоплатформенное, и все операционные системы совместимы с этим программным обеспечением. Это программное обеспечение поддерживает все распространенные протоколы аутентификации, такие как PAP, CHAP, EAP, EAP-TTLS, EAP-TLS и другие. Это программное обеспечение полностью модульное, бесплатное и обеспечивает отличную производительность для аутентификации клиентов.
Некоторые модули, которые мы можем включить в FreeRADIUS, должны обеспечить его совместимость с LDAP, MySQL, PostgreSQL и даже Oracle и другими базами данных, таким образом, мы можем иметь базу данных из тысяч клиентов без каких-либо проблем. Это программное обеспечение настраивается с помощью текстовых файлов конфигурации, однако, есть графические пользовательские интерфейсы для быстрой и простой настройки, как и в случае с pfSense, таким образом, это значительно облегчит настройку сервера RADIUS с помощью FreeRADIUS.
Программное обеспечение FreeRADIUS может быть дополнительно установлено в операционной системе pfSense, популярном межсетевом экране и маршрутизаторе, которые мы можем установить практически на любое оборудование. В этой операционной системе мы можем установить его в разделе пакетов, после установки мы можем ввести его конфигурацию в « Услуги / FreeRADIUS " раздел. В этом меню мы можем настроить этот сервер RADIUS расширенным способом, у нас будут разные вкладки для настройки различных разделов, а в меню «Просмотр конфигурации» мы можем увидеть необработанный файл конфигурации, который создается в результате конфигураций, которые мы сделали в остальных вкладках. Здесь мы также видим интеграцию с SQL и даже с LDAP.
NAS-серверы производителя QNAP также имеют встроенный RADIUS-сервер, гораздо более простой, чем у pfSense, где у нас есть все параметры конфигурации, но этот RADIUS-сервер на основе FreeRADIUS позволит нам выполнять типичные задачи, такие как аутентификация клиента через Wi-Fi. или по кабелю, все, что нам нужно сделать, это включить сервер RADIUS, зарегистрировать клиентов RADIUS (коммутаторы или точки доступа), а также пользователей RADIUS (конечные клиенты, которые будут подключаться).
Как вы видели, сервер RADIUS позволит нам выполнять большое количество аутентификаций и авторизации в другом программном обеспечении, например, у оператора, если используется PPPoE, в бизнес-сетях Wi-Fi с шифрованием WPA2 / WPA3-Enterprise и даже аутентификацией через 802.1 ИКС. FreeRADIUS - это программное обеспечение по преимуществу для настройки и запуска сервера RADIUS практически в любой операционной системе, по этой причине мы всегда говорим о сервере RADIUS или FreeRADIUS как синонимах.
Протокол службы дистанционной аутентификации пользователей по коммутируемым линиям (RADIUS) был разработан корпорацией Livingston Enterprises в качестве протокола аутентификации и учета для сервера доступа. Спецификация RADIUS RFC 2865 заменяет RFC 2138. Стандарт учета RADIUS RFC 2866 заменяет RFC 2139.
Предварительные условия
Требования
Для данного документа отсутствуют предварительные условия.
Используемые компоненты
Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.
Условные обозначения
Подробные сведения об условных обозначениях см. в документе Условное обозначение технических терминов Cisco.
Общие сведения
Соединение между сервером доступа к сети (NAS) и сервером RADIUS основано на протоколе UDP (User Datagram Protocol). В общем виде протокол RADIUS представляет собой службу без установления соединения. Вопросы, связанные с доступностью сервера, повторной передачей и временем ожидания, решаются устройствами с поддержкой RADIUS лучше, чем протоколом передачи.
RADIUS – протокол типа «клиент-сервер». Клиент RADIUS обычно представляет собой сервер NAS, а сервер RADIUS – процесс-демон на компьютере с ОС Windows NT или UNIX. Клиент передает сведения о пользователе указанным серверам RADIUS и выполняет различные действия в зависимости от возвращенного ответа. Серверы RADIUS принимают запросы подключения пользователей, выполняют аутентификацию пользователей и возвращают данные о конфигурации, необходимые для обслуживания пользователя клиентом. Сервер RADIUS может действовать как промежуточный для других серверов RADIUS или серверов аутентификации другого типа.
На этом рисунке показано взаимодействие удаленного пользователя с клиентом или сервером RADIUS.
Пользователь инициализирует аутентификацию PPP с сервером NAS.
NAS запрашивает имя пользователя и пароль (для протокола аутентификации пароля [PAP]) или хэш-строку (для протокола аутентификации с косвенным согласованием [CHAP]).
Пользователь отправляет ответ.
Клиент RADIUS посылает серверу RADIUS имя пользователя и зашифрованный пароль.
Аутентификация и авторизация
Сервер RADIUS может поддерживать множество методов аутентификации пользователя. Для проверки подлинности имени пользователя и пароля, предоставляемых серверу, могут использоваться протоколы PPP, PAP, CHAP, вход UNIX и другие механизмы аутентификации.
Обычно процесс входа пользователя состоит из передачи запроса (Access-Request) с сервера NAS на сервер RADIUS и получения соответствующего ответа с сервера (Access-Accept или Access-Reject). Пакет Access-Request содержит имя пользователя, зашифрованный пароль, IP-адрес сервера NAS и порт. Первоначально серверы RADIUS размещались на UDP-порту 1645, что создавало конфликт со службой datametrics. По причине этого конфликта документ RFC 2865 официально закрепил за протоколом RADIUS порт 1812. Большинство устройств и приложений Cisco поддерживают оба набора номеров портов. Формат запроса также содержит информацию о типе сеанса, который собирается инициировать пользователь. Например, если запрос представлен в символьном режиме, то вывод должен выглядеть как Service-Type = Exec-User, но если запрос представлен в пакетном режиме PPP, то вывод выглядит как Service Type = Framed User и Framed Type = PPP.
В RADIUS аутентификация и авторизация объединены. Если имя пользователя найдено и пароль правильный, то сервер RADIUS возвращает подтверждение доступа, включая список пар «атрибут-значение», которые описывают параметры, необходимые для данного сеанса. В числе типичных параметров: тип службы (сеанс интерпретатора или кадрирование), тип протокола, назначенный пользователю IP-адрес (статический или динамический), применяемый список доступа или статический маршрут для установки в таблицу маршрутизации NAS. Данные конфигурации на сервере RADIUS определяют компоненты, которые будут установлены на сервер NAS. Рисунок ниже показывает аутентификацию RADIUS и последовательность авторизации.
Функции учета протокола RADIUS могут использоваться независимо от функций аутентификации или авторизации RADIUS. Учетная функция RADIUS позволяет посылать данные в начале и в конце сеансов, отображая ресурсы (такие как время, пакеты, байты и т. п.), использованные во время сеанса. Для удовлетворения потребностей безопасности и биллинга поставщик услуг Интернета (ISP) может использовать программное обеспечение RADIUS по управлению доступом и учету. В большинстве устройств Cisco в качестве порта учета RADIUS используется порт 1646, но также может быть выбран номер 1813 (по причине изменения номеров портов, закрепленного документом RFC 2139 ).
Подлинность транзакций между клиентом и сервером RADIUS подтверждается с помощью общего секретного ключа, никогда не пересылаемого по сети. Кроме того, обмен паролями пользователей между клиентом и сервером RADIUS выполняется в зашифрованном виде для исключения вероятности перехвата пароля пользователя злоумышленниками через прослушивание незащищенной сети.
RADIUS — сетевой протокол, предназначенный для обеспечения централизованной аутентификации, авторизации и учёта пользователей, подключающихся к различным сетевым службам. Используется, например, при аутентификации пользователей WiFi, VPN, в прошлом, dialup-подключений, и других подобных случаях. [Источник 1]
Аббревиатура «RADIUS» расшифровывается как «Remote Authentification Dial In User Services» — «аутентификация для удаленного доступа к пользовательским сервисам»
Содержание
Создание RADIUS
Протокол RADIUS был разработан Карлом Ригни (Carl Rigney) в фирме Livingston Enterprises для их серверов доступа (Network Access Server) серии PortMaster к сети интернет. На данный момент существует несколько коммерческих и свободно распространяемых RADIUS-серверов. Они несколько отличаются друг от друга по своим возможностям, но большинство поддерживает списки пользователей в текстовых файлах и различных базах данных. Учётные записи пользователей могут храниться в текстовых файлах, различных базах данных, или на внешних серверах. Существуют прокси-серверы для RADIUS, упрощающие централизованное администрирование и/или поз-воляющие реализовать концепцию интернет-роуминга. Популярность RADIUS-протокола, во многом объясняется: открытостью к наполнению новой функциональностью при сохранении работоспособности с устаревающим оборудованием, чрезвычайно высокой реактивностью при обработке запросов ввиду использования UDP в качестве транспорта пакетов, а также хорошо параллелизуемым алгоритмом обработки запросов; способностью функционировать в кластерных, архитектурах и мультипроцессорных платформах — как с целью повышения производительности, так и для реализации отказоустойчивости. [Источник 2]
Назначение
RADIUS — клиент-серверный протокол, работающий на прикладном уровне. Он является так называемым «протоколом ААА» (англ. «Protocol AAA»), что указывает на его назначение и области использования:
Аутентификация
Аутентификация (Authentication) — процесс, позволяющий аутентифицировать (проверить подлинность) субъекта по его идентификационным данным, например, по логину (имя пользователя, номер телефона и т. д.) и паролю;
Авторизация
Авторизация (Authorization)— процесс, определяющий полномочия идентифицированного субъекта, конкретного пользователя на доступ к определённым объектам или сервисам.
Учет (или контроль) — процесс, позволяющий вести сбор сведений и учётных данных об использованных ресурсах. Первичными данными, традиционно передаваемыми по протоколу RADIUS являются величины входящего и исходящего трафиков: в байтах/октетах (с недавних пор в гигабайтах). Однако протокол предусматривает передачу данных любого типа, что реализуется посредством VSA (Vendor Specific Attributes). Так, например, может учитываться время, проведенное в сети, посещаемые ресурсы и т. д.
Последняя функция делает возможным применение RADIUS-серверов в качестве компонентов биллинговых систем, ответственных за сбор информации об использовании телекоммуникационных услуг, их тарификацию, выставление счетов абонентам, обработку платежей и т. д.
Свойства RADIUS
Помимо непосредственно аутентификации, авторизации и учета, RADIUS-сервера могут выполнять ряд иных функций
- Создание и хранение учётных записей пользователей или абонентов;
- Управление учётной записью пользователя из персонального интерфейса, например, веб-кабинета;
- Создание карточек доступа (логин/PIN-код) для предоставления услуг, с некоторым лимитом действия (Dial-Up доступа в Интернет и карточной IP-телефонии);
- Ручная и автоматическая блокировка учётной записи абонента по достижению заданного критерия или лимита;
- Сбор и анализ статистической информации о сессиях пользователя и всей обслуживаемой системы;
- Создание отчётов по различным статистическим параметрам;
- Создание, печать и отправка счетов к оплате;
- Аутентификация всех запросов в RADIUS-сервер из обслуживаемой системы;
Вышеперечисленное активно используется провайдерами Интернет-услуг, в среде которых RADIUS получил наиболее широкое распространение
Ограничения RADIUS
Во-первых, недостаточный уровень безопасности в некоторых реализациях. В случае использования нескольких промежуточных серверов RADIUS все они имеют возможность просматривать передающиеся через них аутентификационные данные - сертификаты и пароли.
Во-вторых, RADIUS, по крайней мере в его основной редакции, не имеет возможности отзыва ресурсов после того как авторизация была произведена. В некоторых случаях эта проблема решается производителем RADIUS-сервера самостоятельно.
В-третьих, RADIUS это протокол без поддержки состояний. Он не сохраняет транзакционную информацию и не использует её в следующих сеансах.
В-четвертых, RADIUS имеет не всегда достаточный уровень масшта-бируемости.
Механизм работы
Как уже упоминалось, RADIUS — прикладной протокол. На транспортном уровне используется протокол UDP, порты: 1812 и 1813.
Общая структура сети
Несмотря на то, что существует множество способов построения сетей с использованием RADIUS, общая структура может быть представлена в следующем виде:
Место NAS (Network Access Server) может занимать VPN-сервер, RAS (Remote Access Server), сетевой коммутатор и т. д.
Конечный RADIUS-сервер может быть частью исключительно локальной сети или же иметь доступ к сети Интернет.
Базы аутентификации хранят информацию о пользователях (абонентах) и правах их доступа к различным сервисам. Термин «база» в данном случае является собирательным, так как данные могут хранится как в локально, в текстовых файлах и различного рода базах данных, так и на удаленных серверах (SQL, Kerberos, LDAP, Active Directory и т. д.).
Структура пакета
Общая структура RADIUS-пакета имеет вид:
Код показывает тип операции, к которой принадлежит данный код. Так, выделяют следующие коды:
Код | Операция |
---|---|
1 | Access-Request |
2 | Access-Accept |
3 | Access-Reject |
4 | Accounting-Request |
5 | Accounting-Response |
11 | Access-Challenge |
12 | Status-Server (экспериментальная возможность) |
13 | Status-Client (экспериментальная возможность) |
255 | Зарезервировано |
Тип (8 бит) | Длина (8 бит) | Значение |
Поле типа служит для указания атрибута, содержащегося в пакете. Выделяют 63 атрибута, в числе которых: имя пользователя и пароль (коды 1 и 2, соответственно), тип сервиса (6), ответ сервера (18), состояние RADIUS-прокси (33), состояние учета (40) и задержка учета (41) и т.д.
Длина указывает размер значения атрибута, которое непосредственно содержится в последнем поле.
Аутентификация и авторизация
- Access-Accept — доступ получен, можно начинать использование ресурсов. Пакет, несущий данный ответ, также может содержать дополни-тельную информацию: IP, выданный пользователю, допустимую продолжительность сессии, максимальный объем передаваемого трафика и т.д.;
- Access-Challenge — требуется ввод дополнительных данных (PIN, дополнительного пароля). Использование этого ответа позволяет проводить процедуры сложной аутентификации в рамках защищенного сетевого туннеля, установленного напрямую между пользовательской и серверной машинами (для избежания «оседания» данных на сервере доступа);
- Access-Reject — доступ запрещен из-за неверно указанных пользовательских данных или отсутствия пользователя в базе.
Правильность аутентификационных данных может проверяться с по-мощью разных схем аутентификации: PAP, EAP или CHAP. Процедура обмена в рамках операций учета описана в RFC 2086. При подключении клиент посылает серверу запрос обслуживания (Accounting-Request), содержащий параметр acct_type=start. Это является сигналом к началу оказания услуг учета и контроля. В ответ на этот запрос клиенту высылается его уникальный идентификатор в сети, идентификатор сессии и сетевой адрес.
В ходе работы клиент периодически отправляет серверу запрос со значением acct_type=interim_update , что является сигналом к тому, что клиент все еще использует ресурс и операции учета необходимо продолжать. Данный запрос обычно содержит текущую продолжительность сессии и объем переданных данных. По окончании работы в сети, после отключения клиента от NAS, на сервер посылается запрос с параметром acct_type=stop, что означает прекращение работы и окончание предоставления услуг учета. Этот пакет запроса может содержать в себе такие данные, как продолжительность сессии, количество переданных пакетов и объем пересланных данных. В ответ на каждый запрос подобного рода сервер высылает подтвер-ждение (Accounting-Response), гарантирующее дальнейший доступ клиента к ресурсу. Если запрос не получит подтверждения с первого раза, через некоторое время будет произведена попытка повторного запроса — и так, вплоть до получения отклика или принятия решения о недоступности сервера.
Защищенность
Пароли от NAS к RADIUS-серверу не пересылаются в открытом виде (даже в случае с PAP). Для шифрования паролей используется принцип «разделения секрета» и хэш-функция MD5.
Однако, в силу частичной реализации данных функции и недостаточ-ной защиты, предоставляемой ими, на практике необходимо использование дополнительных мер — таких как применение IPsec или физической защиты корпоративных сетей. Это позволяет в дальнейшем защитить трафик между сервером доступа и RADIUS-сервером.
Кроме того, передаваемые данные подвергаются защите лишь частично: защищены логин и пароль, в то время, как другие данные, возможно являющиеся секретными или приватными, не защищены.
Этот недостаток устранен в протоколе RadSec, который, будучи основан на RADIUS содержит ряд улучшений безопасности.
Пример настройки Radius
Начнём с того, что создадим в домене две локальных группы безопасности с ограниченными и полными правами Radius.
Создание группы с полными правами
В первую группу включим пользователей которым нужно предоставить полный административный доступ на управление коммутаторами, во вторую соответственно, — доступ только на чтение текущей конфигурации и состояния устройств. При этом, стоит помнить, что для пользователей, которые будут включаться в эти группы должно быть установлено разрешение в домене, дающее право удалённого доступа (значение настройки Network Access Permission на закладке Dial-In свойств учетной записи пользователя) [Источник 4]
Читайте также: