Radius server что такое
RADIUS — Краткое руководство
Прежде чем начать изучать Radius, важно, чтобы вы поняли:
Итак, давайте сначала разберемся с этими двумя темами.
Что такое ААА?
AAA означает Аутентификацию, Авторизацию и Учет.
Аутентификация
Относится к подтверждению того, что пользователь, запрашивающий услугу, является действительным пользователем.
Выполняется путем представления личности и учетных данных.
Примеры учетных данных включают пароли, одноразовые токены, цифровые сертификаты и телефонные номера (звонящие / вызываемые).
Относится к подтверждению того, что пользователь, запрашивающий услугу, является действительным пользователем.
Выполняется путем представления личности и учетных данных.
Примеры учетных данных включают пароли, одноразовые токены, цифровые сертификаты и телефонные номера (звонящие / вызываемые).
авторизация
Относится к предоставлению пользователям определенных видов услуг (в том числе «без обслуживания») на основе их аутентификации.
Может основываться на ограничениях, например, ограничениях времени суток, ограничениях физического местоположения или ограничениях на несколько входов одного и того же пользователя.
Примеры услуг включают в себя фильтрацию IP-адресов, назначение адресов, назначение маршрутов, шифрование, QoS / дифференциальные услуги, управление полосой пропускания / управление трафиком и т. Д.
Относится к предоставлению пользователям определенных видов услуг (в том числе «без обслуживания») на основе их аутентификации.
Может основываться на ограничениях, например, ограничениях времени суток, ограничениях физического местоположения или ограничениях на несколько входов одного и того же пользователя.
Примеры услуг включают в себя фильтрацию IP-адресов, назначение адресов, назначение маршрутов, шифрование, QoS / дифференциальные услуги, управление полосой пропускания / управление трафиком и т. Д.
бухгалтерский учет
Относится к отслеживанию потребления сетевых ресурсов пользователями.
Типичная информация, которая собирается в бухгалтерском учете, включает в себя личность пользователя, характер предоставляемой услуги, когда служба началась и когда она закончилась.
Может использоваться для управления, планирования, выставления счетов и т. Д.
Относится к отслеживанию потребления сетевых ресурсов пользователями.
Типичная информация, которая собирается в бухгалтерском учете, включает в себя личность пользователя, характер предоставляемой услуги, когда служба началась и когда она закончилась.
Может использоваться для управления, планирования, выставления счетов и т. Д.
AAA-сервер предоставляет все вышеперечисленные услуги своим клиентам.
Протоколы ААА
Радиус — это протокол AAA для таких приложений, как доступ к сети или мобильность IP. Помимо Radius, у нас есть следующие протоколы в AAA:
Контроллер доступа к терминалу Система контроля доступа (TACACS)
TACACS — это протокол удаленной аутентификации, который используется для связи с сервером аутентификации, обычно используемым в сетях Unix. TACACS позволяет серверу удаленного доступа обмениваться данными с сервером аутентификации, чтобы определить, имеет ли пользователь доступ к сети.
TACACS +
TACACS + обеспечивает управление доступом для маршрутизаторов, серверов сетевого доступа и других сетевых вычислительных устройств через один или несколько централизованных серверов. Он использует TCP и предоставляет отдельные службы аутентификации, авторизации и учета. Он работает в порту 49.
ДИАМЕТР
Диаметр — плановая замена Радиуса.
Что такое сервер доступа к сети?
Сервер доступа к сети (NAS) — это элемент службы, который клиенты набирают для получения доступа к сети. NAS — это устройство, имеющее интерфейсы как к магистрали, так и к POTS или ISDN, и принимает вызовы от хостов, которые хотят получить доступ к магистрали через службы коммутируемого доступа. NAS находится в точке присутствия интернет-провайдера, чтобы обеспечить доступ в Интернет своим клиентам.
Сервер доступа к сети:
Единая точка доступа к удаленному ресурсу.
Сервер удаленного доступа, поскольку он обеспечивает удаленный доступ к сети.
Начальная точка входа в сеть.
Шлюз для защиты защищаемого ресурса.
Единая точка доступа к удаленному ресурсу.
Сервер удаленного доступа, поскольку он обеспечивает удаленный доступ к сети.
Начальная точка входа в сеть.
Шлюз для защиты защищаемого ресурса.
Примеры включают в себя:
Проверка доступа в Интернет с использованием идентификатора пользователя и пароля.
VoIP, FoIP и VMoIP требуют действительный номер телефона или IP-адрес.
Телефонная карта предоплаты использует номер карты предоплаты.
Проверка доступа в Интернет с использованием идентификатора пользователя и пароля.
VoIP, FoIP и VMoIP требуют действительный номер телефона или IP-адрес.
Телефонная карта предоплаты использует номер карты предоплаты.
На следующем рисунке показана базовая архитектура Radius.
RADIUS — Обзор
RADIUS — это протокол для передачи информации, связанной с аутентификацией, авторизацией и настройкой, между сервером доступа к сети, который хочет аутентифицировать свои ссылки, и общим сервером аутентификации.
RADIUS расшифровывается как удаленная аутентификация Dial In User Service.
RADIUS — это протокол AAA для таких приложений, как доступ к сети или мобильность IP
Он работает в обеих ситуациях, локальных и мобильных.
Он использует протокол аутентификации по паролю (PAP), протокол аутентификации при вызове (CHAP) или протоколы расширяемого протокола аутентификации (EAP) для аутентификации пользователей.
Это смотреть в текстовом файле, серверах LDAP, базе данных для аутентификации.
После проверки подлинности параметры сервиса передаются обратно в NAS.
Он уведомляет, когда сеанс начинается и заканчивается. Эти данные используются для выставления счетов или статистики.
SNMP используется для удаленного мониторинга.
Может использоваться как прокси.
RADIUS расшифровывается как удаленная аутентификация Dial In User Service.
RADIUS — это протокол AAA для таких приложений, как доступ к сети или мобильность IP
Он работает в обеих ситуациях, локальных и мобильных.
Он использует протокол аутентификации по паролю (PAP), протокол аутентификации при вызове (CHAP) или протоколы расширяемого протокола аутентификации (EAP) для аутентификации пользователей.
Это смотреть в текстовом файле, серверах LDAP, базе данных для аутентификации.
После проверки подлинности параметры сервиса передаются обратно в NAS.
Он уведомляет, когда сеанс начинается и заканчивается. Эти данные используются для выставления счетов или статистики.
SNMP используется для удаленного мониторинга.
Может использоваться как прокси.
Вот простая сетевая диаграмма радиуса:
RADIUS — Особенности
Вот список всех ключевых особенностей Radius:
Модель клиент / сервер
NAS работает как клиент для сервера Radius.
Сервер Radius отвечает за получение запросов на подключение пользователя, проверку подлинности пользователя, а затем возвращает всю информацию о конфигурации, необходимую клиенту для предоставления обслуживания пользователю.
Сервер Radius может выступать в качестве прокси-клиента для других серверов Radius.
NAS работает как клиент для сервера Radius.
Сервер Radius отвечает за получение запросов на подключение пользователя, проверку подлинности пользователя, а затем возвращает всю информацию о конфигурации, необходимую клиенту для предоставления обслуживания пользователю.
Сервер Radius может выступать в качестве прокси-клиента для других серверов Radius.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
RADIUS (Remote Authentication in Dial-In User Service)
Communications protocol | |
Purpose | Обеспечивает централизованную аутентификацию, авторизацию и учёт пользователей, подключающихся к различным сетевым службам |
---|---|
Developer(s) | Carl Rigney, Livingston Enterprises |
Introduced | 1991 ; 30 years ago ( 1991 ) |
Based on | TCP, UDP |
OSI layer | Application layer |
Port(s) | 1812, 1813 |
RFC(s) | RFC 2548, RFC 2809, RFC 2865, RFC 2866, RFC 2867, RFC 2868, RFC 2869, RFC 2882, RFC 3162 |
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-сервера могут выполнять ряд иных функций
Вышеперечисленное активно используется провайдерами Интернет-услуг, в среде которых 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 | Зарезервировано |
Идентификатор служит для различения запросов и ответов.
Поле длины указывает размер всего пакета, с учетом длины кода, идентификатора, самого поля длины, аутентификатора и AVP.
Аутентификатор используется для аутентификации ответа от сервера и шифрования пароля.
AVP или пары «атрибут — значение» (англ. «Atribute-Value Pairs») содержат непосредственно сами передаваемые данные — как запроса, так и ответа, и участвуют во всех стадиях обмена данными: аутентификации, авторизации и учете. Структура AVP:
Тип (8 бит) | Длина (8 бит) | Значение |
Поле типа служит для указания атрибута, содержащегося в пакете. Выделяют 63 атрибута, в числе которых: имя пользователя и пароль (коды 1 и 2, соответственно), тип сервиса (6), ответ сервера (18), состояние RADIUS-прокси (33), состояние учета (40) и задержка учета (41) и т.д.
Длина указывает размер значения атрибута, которое непосредственно содержится в последнем поле.
Аутентификация и авторизация
Аутентификация и авторизация Механизмы аутентификации и авторизации описаны в RFC 2058. Они протекают по следующей схеме: RADIUS-клиент отправляет RADIUS-серверу запрос доступа (AccessRequest), в котором содержатся данные аутентификации (логин и пароль, сертификат доступа). После сличения полученных данных с имеющимися в базе, сервер может отправить один из нескольких ответов [Источник 3] :
Защищенность
Пароли от NAS к RADIUS-серверу не пересылаются в открытом виде (даже в случае с PAP). Для шифрования паролей используется принцип «разделения секрета» и хэш-функция MD5.
Однако, в силу частичной реализации данных функции и недостаточ-ной защиты, предоставляемой ими, на практике необходимо использование дополнительных мер — таких как применение IPsec или физической защиты корпоративных сетей. Это позволяет в дальнейшем защитить трафик между сервером доступа и RADIUS-сервером.
Кроме того, передаваемые данные подвергаются защите лишь частично: защищены логин и пароль, в то время, как другие данные, возможно являющиеся секретными или приватными, не защищены.
Этот недостаток устранен в протоколе RadSec, который, будучи основан на RADIUS содержит ряд улучшений безопасности.
Пример настройки Radius
Начнём с того, что создадим в домене две локальных группы безопасности с ограниченными и полными правами Radius.
Создание группы с полными правами
В первую группу включим пользователей которым нужно предоставить полный административный доступ на управление коммутаторами, во вторую соответственно, — доступ только на чтение текущей конфигурации и состояния устройств. При этом, стоит помнить, что для пользователей, которые будут включаться в эти группы должно быть установлено разрешение в домене, дающее право удалённого доступа (значение настройки Network Access Permission на закладке Dial-In свойств учетной записи пользователя) [Источник 4]
RADIUS — немного о Mikrotik, NPS и не только
Changelog
Определение, назначение, общие сведения
Позволяет повысить безопасность сети и централизованно управлять доступами.
Сервер RADIUS может иметь свою базу данных с учетными данными (например файлы или mysql) или работать в паре с другим сервером, например Active Directory.
Кроме AAA позволяет передать некоторые дополнительные данные (настройки) клиенту прошедшему аутентификацию, в том числе vendor-specific attributes (VSA). У Mikrotik такие тоже есть, позже пройдемся по самым интересным.
Существуют много популярных приложений радиус сервера, самый популярные: freeRADIUS и Служба NPS (Network Policy Server) Windows Server. Более подробно мы рассмотрим второй вариант.
Компоненты кейса
RADIUS сервер (он же радиус сервер, он же сервер аутентификации).
Настройка
Установку роли описывать не буду, существует 100500 статей в картинках, например: тыц
Добавление радиус клиента на радиус-сервере. Нам нужно заполнить «понятное имя», IP адрес и придумать пароль (а.к.а. «секрет»), который понадиобится при настройке аутентификатора (mikrotik в нашем случае)
Политики запросов на подключение и Стетевые политики очень похожи при настройке, и нужно понимать разницу между ними. Первые нужны для того что бы при определенных условиях определить сервер на котором будет проходить проверка аутентификации клиента (к примеру локально или на другом удаленном радиус сервере) а так же для некоторых манипуляций с атрибутами. Вторые же позволяют определить набор условий по которым возможно обозначить разрешить или отклонить запроос клиента на подключение.
Политики имеют порядок и обрабатываются по нему одна за другой. Если подключение не соответствует условиям политики, то проверяется следущая и так далее. К примеру, это поможет разделить правила обработки для проводных\беспроводных и впн клиентов.
Добавление политики запросов на подключение
Добавление сетевой политики
Некоторые типовые кейсы применения радиус сервера :
централизованная аутентификация на устройствах поддерживающих aaa
аутентификация для vpn (pptp\l2tp)
аутентификация в wifi
Итак подробнее, + некоторые плюшки. Для всех наших пунктов нам нужно настроить радиус клиента в mikrotik
Теперь можно начинать настраивать интересные вещи.
1. настроим вход на микротик
Стоит уделить внимание параметру default-group он означает группу по умолчанию, в которая применится к пользователю.
Теперь настроим NPS:
А вот так будет выглядеть настройка необходимого нам атрибута, из которого микротик определит в какую группу поместить подключенного пользователя.
Сразу попробуем авторизоваться и видим что попали в нужную группу read
В методах проверки подлинности указываем :
Политика mikrotik-admin-network будет отличаться тем что в условиях выберем группу admins-network а значение отрибута MIKROTIK_GROUP зададим как full Результат ожидаемый, мы залогинились в микротик под полными правами:
Перейдем к впн, и к стразу более интересному сценарию.
В настройки правил форейвола для ограничения доступа подсетей я пожалуй не буду углубляться, подразумевается что вы понимаете как из одной подсети запретить доступ к ресурсу и как разрешить. (с) предпологается, что вы немного сетевик. Касательно примера подсети 10.10.21.0/24 необходимо разрешить форвард в подсети серверов и management а подсети 10.10.22.0/24 необходимо разрешить только доступк корпоративным сервисам, но не к сетям управления.
Знакомым нам образом добавим атрибут указывающий какой профиль микротика использовать.
Методы проверки подлинности используем как и в прошлый раз. В настройках Сервера VPN рекомендуется указать точно такой же тип.
Настроим тестовое поключение и увидим что получили IP из пула для сетевых администраторов.
Теперь настроим политику для обычных пользователей:
Wifi и Dot1x
Прежде чем перети к самому вкусному, хочется сделать выбор как мы будем проходить авторизацию, можно выбрать по логину и паролю, компьютеру, использовать mac адрес как логин и пароль.. и наконец пойти самым сложным интересным путем, использовать сертификаты. В качестве предварительной подготовки нам необходимо:
настроить службу центра сертификации Windows тыц, актуально и для следующего пункта
настроить GPO для распространения CA сертификата домена тыц
GPO автоматического получения сертификата компьютера docs.microsoft
GPO включение службы dot1X (проводная автонастройка) и создать Политики проводных сетей (802.3) для выбора способа проверки подлинности тыц
GPO Автоматическое подключение к Wifi до логина пользователя тыц
Данные пункты не маленькие что бы включать их в эту статью, но достаточно освещены в статьях интернета.
Настройку WiFi каждый настраивает как ему удобно. Я к примеру, предпочитаю CapsMan, даже если это будет единственная AP в сети. В любом случае нас интересует только Security Profile/Security Cfg.
А в методах проверки подлинности следующее.
Какие радиус атрибуты могут быть нам полезны:
устанавливать лимиты по обьему или/и скорости трафика
и многие другие параметры из вики, либо их комбинации с условиями сетевой политики, смотря сколько у вас фантазии 🙂
dot1x
Зачем нужен dot1X и как его настроить.. очень много интересных слов можно было бы тут написать, но все сказано до нас. Например на канале одного прекрасного тренера или wiki
Начнем с микротика:
Настроим политики сети: В условиях необходимо отобрать проводные клиенты
В настройках атрибутами выдадим рабочий влан
К примеру вот так выглядит отказ в авторизации:
А вот так успешное подключение:
IPSEC
С недавнего времени стало популярно настраивать vpn через ipsec ikev2, но многих пугает морока с клиентскими сертификатами. В этом плане использовать учетные данные из AD гораздо удобнее.
Для начала включим в настроках добавленного радиус клиента что он будет использоваться для ipsec
Дефолтные конфиги в ipsec не принято трогать. поэтому будем создавать свои.
Создадим «группу конфигов»
/ip ipsec policy group add name=ipsec
Настроим Profile (фаза 1)
/ip ipsec profile add dh-group=modp1024 enc-algorithm=aes-192,3des name=ipsec
Создадим пир для входящих подключений
/ip ipsec peer add exchange-mode=ike2 name=ipsec passive=yes profile=ipsec send-initial-contact=no
Создадим настройки proposals (фаза 2)
/ip ipsec proposal add name=ipsec
Добавим пулл ip адресов которые будут выдаваться клиентам
/ip pool add name=pool1 ranges=10.20.0.10-10.20.0.250
Добавим Mod config, из которого клиенты получают префиксы подсетей за впн и dns
/ip ipsec mode-config add address-pool=pool1 name=ipsec split-include=0.0.0.0/0,10.20.0.0/16
Создадим шаблонную политику шифрования трафика
/ip ipsec policy add group=ipsec proposal=ipsec template=yes
Если планируете подключаться из windows машин в домене, то можете импортировать сертификат из своего CA и разлить его политикой на ноутбуки\компьютеры.
Если нет своего CA то можно сгенерировать сертификат на микротике. но тогда прийдется опять таки его импортировать на клиентах вручную или через GPO.
И на мой взгляд самый удобный способ, воспользоваться сертификатом letsecrypt, кстати в ros7 есть команда для автоматического получения сертификата.
Или приобрести коммерческий сертификат. У меня в примере Letsencrypt, обратите внимание что необходимо добавить так же все промежуточные сертификаты.
/ip ipsec identity add auth-method=eap-radius certificate=lefull,lefull_1,lefull_2 generate-policy=port-strict mode-config=ipsec peer=ipsec policy-template-group=ipsec
Добавляем политику на NPS сервере
В методах проверки подлинности разрешаем аутентификацию по паролю используюя ms-chap v2
После этого можно подключаться клиентом, все должно работать )
Если желательно расписать как настраивать клиента на mikrotik дайте знать )
Диагностика
Не всегда наши настройки сразу работают так как надо, иногда что то идет не так, и очень хочется понять что именно. Для того что бы понять в чем причина у нас есть :
политики сети и доступа
возможны проблемы из за windows брандмауера починить можно
или для англоязычной версии:
radclient из пакета freeradius-utils. Позволяет из командной строки проверить некоторые типы авторизации, к примеру подключение к vpn
Выводы
RADIUS в сетевой среде очень полезен в плане безопасности и удобен в плане централизованного управления. Настраивать не так уж и сложно, главное читать, понимать документацию и логи.
Если какой то из пунктов непонятен, пишите. попробую показать или помочь разобраться.
Если в статье нашли ошибки, неточности или знаете как сделать лучше тоже пишите.
Благодарности:
Спасибо @aslancherkesov за злого редактора и свежий взгляд на буквы.