Аутентификация, авторизация и учет (AAA) – RADIUS или TACACS

Основные понятия aaa

Прежде чем мы познакомимся с протоколами RADIUS и TACACS , разберемся с основными понятиями механизма AAA. Для примера будем использовать процесс законного проникновения в помещение с контролем доступа.

Основные различия между radius и tacacs

Основные различия сводятся к тому, что TACACS шифрует все содержимое пакета, оставляя только простой заголовок. Такой способ защищает от злоумышленников, которые прослушивают сообщения, передаваемые между устройствами. Также TACACS реализует функции AAA раздельно, что позволяет вынести каждую из них на отдельный сервер или даже использовать другой протокол (не TACACS ).

TACACS также предлагает более тесную интеграцию с устройствами Cisco и позволяет осуществлять детальное управление маршрутизаторами (процесс авторизации). С сервером TACACS возможно реализовать управление командами с применением уровней доступа (которые далее настраиваются на самих устройствах). RADIUS позволяет частично реализовать эту возможность, но не так хорошо и гибко, как TACACS .


TACACS также поддерживает несколько других протоколов (отличных от IP), таких как AppleTalk, NetBIOS, NetWare Asynchronous Service Interface (NASI) и X.25, но в современных сетях их использование сошло на нет.

При использовании протокола TACACS между клиентом и сервером не может быть брендмауэра, так как сервер должен получить запрос от клиента с его IP-адресом, а не с адресом брендмауэра. У RADIUS IP-адрес клиента содержится еще и в самом пакете, что позволяет ААА-серверу получить его оттуда.

А вот самый большой недостаток TACACS заключается в том, что Cisco разработала этот протокол для собственных нужд и поэтому самую широкую его поддержку получили именно сетевые устройства этой компании. Однако постепенно ситуация меняется, и остальные производители стали также поддерживать TACACS .

Какой протокол для ААА-сервера использовать, необходимо выбирать в зависимости от задачи. Если это администрирование устройств, то TACACS станет лучшим вариантом, а если доступ к сети, то более универсальный и быстрый – RADIUS.

Похожее:  Как реализовать интеграцию с ЕСИА на Java без лишних проблем

Авторизация абонентов СКАТ

В версии 6.0 СКАТ DPI стала доступна авторизация IPoE-сессий на RADIUS, что расширило возможности оператора связи по осуществлению контроля доступа абонентов к сети Интернет и применения политик тарифных планов и дополнительных тарифных опций:

  • назначение и изменение политик (тарифных планов и опций);
  • перенаправление пользователей в Captive Portal (блокировка);
  • работа на уровне L3;
  • идентификация пользователей по IP или по метке Q-in-Q.

Более подробную информацию о преимуществах СКАТ DPI, ее эффективном использовании на сетях операторов связи, а также о миграции с других платформ вы можете узнать у специалистов компании VAS Experts, разработчика и поставщика системы анализа трафика СКАТ DPI.

1.2. Общие сведения о AAA и RADIUS

Протокол RADIUS использует UDP для транспорта. Формат заголовка пакета показан ниже.

Рисунок 57.1 – Формат пакета RADIUS

Code – тип пакета RADIUS, возможные значения для данного поля:

1 – Access-Request2 – Access-Accept3 – Access-Reject4 – Accounting-Request5 – Accounting-Response11 – Access-Challenge

Identifier – идентификатор для пакетов запроса и ответа.Length – длина всего пакета RADIUS.Authenticator – поле используется для проверки пакетов, полученных от RADIUS-сервера, или для передачи зашифрованных паролей.

Поле разделено на две части: аутентификатор запроса и аутентификатор ответа.Attribute – поле используется для передачи детальной информации о ААА. Значение поля формируется из значений полей Type, Length, и Value:

2. Конфигурация RADIUS

  1. Включить функцию аутентификации и учета;
  2. Настроить ключ сервера RADIUS;
  3. Настроить параметры RADIUS сервера;
  4. Настроить параметры сервиса RADIUS;
  5. Настроить адреса RADIUS NAS.
  1. Включить функцию аутентификации и учета:

2. Настроить ключ сервера RADIUS:

3. Настроить параметры RADIUS сервера:

4. Настроить параметры сервиса RADIUS:

5. Настроить адреса RADIUS NAS:

4. Устранение проблем при конфигурации RADIUS

Убедитесь, что:

  • IP-связность коммутатора с сервером RADIUS присутствует;
  • ключ аутентификации на коммутаторе совпадает с ключом на RADIUS сервере;
  • подключение осуществляется к правильному RADIUS серверу.
  • Подробная отладочная информация может быть отображена после применения команды debug aaa.

Dot1x

 Зачем нужен dot1X и как его настроить.. очень много интересных слов можно было бы тут написать, но все сказано до нас. Например на канале одного прекрасного тренера или wiki

Половина смысла с саркальной точки зрения в dot1x в том, что в случае успешной проверки подлинности наше устройство попадет в влан указанный нами в микротике или в влан который мы поличим в качестве атрибута у радиуса. Если проверка подлинности пройдет с отказом или ответ не будет получен от радиуса (например в случае его недоступности), то порт перейдет в изолироованный режим (будет заблокирован любой трафик на порту) или в случае если указан Reject VLAN ID то попадет в влан, для которого мы настроили(я надеюсь все таки настроили) максимально безопасные правила форейвола для чужеродных устройств .

Начнем с микротика:

Настроим политики сети: В условиях необходимо отобрать проводные клиенты

Параметры аутентификации:

В настройках атрибутами выдадим рабочий влан

К примеру вот так выглядит отказ в авторизации:

А вот так успешное подключение:

Radius

Протокол RADIUS является IETF-стандартом для AAA. Используется с начала 1990-х годов и первоначально применялся для коммутируемых модемных соединений. Изначально использовался для расширения Layer 2 протокола точка-точка (PPP) между конечным пользователем и сервером доступа к сети (NAS), передавая трафик аутентификации с NAS на AAA-сервер.

Современная реализация RADIUS использует порты 1812 (аутентификация) и 1813 (учет) протокола UDP (также возможно использование портов 1645 и 1646). UDP обладает высокой скоростью, но имеет ряд недостатков, которые необходимо учитывать при его применении.

Tacacs

Данный протокол разработан компанией Cisco и является развитием прошлых версий TACACS и XTACACS. Несмотря на схожесть названий, TACACS был сильно видоизменен и не имеет обратной совместимости с TACACS, который сейчас практически нигде не применяется.

Основная сфера использования TACACS – это администрирование сетевых устройств, однако он может применяться для некоторых типов AAA при доступе в сеть. TACACS использует Transmission Control Protocol (TCP) порт 49, а не UDP, так как он обладает большей надежностью и позволяет заранее получать информацию о потенциальных ошибках благодаря пакету TCP-RST.

ТСP более медленный протокол, но обладает дополнительными преимуществами: возможность разделения аутентификации, авторизации и учета в качестве отдельных и независимых функций, множественная авторизация после одной аутентификации, шифрование всего содержимого пакета.

Для наглядности объединим основные характеристики в таблицу:

Благодарности:

Спасибо @aslancherkesov за злого редактора и свежий взгляд на буквы.

Диагностика

Не всегда наши настройки сразу работают так как надо, иногда что то идет не так, и очень хочется понять что именно. Для того что бы понять в чем причина у нас есть :

Get-NetFirewallRule -DisplayGroup "Сервер политики сети" | where DisplayName -like "*RADIUS*" | Set-NetFirewallRule -Service Any

или для англоязычной версии:

Get-NetFirewallRule -DisplayGroup "Network Policy Server" | where DisplayName -like "*RADIUS*" | Set-NetFirewallRule -Service Any 
  • radclient из пакета freeradius-utils. Позволяет из командной строки проверить некоторые типы авторизации, к примеру подключение к vpn

Тест:

Для чего нужен aaa

При строительстве и эксплуатации сети важно иметь строгий контроль над теми, кто имеет доступ к ее устройствам. Если ваша сеть небольшая и число ее пользователей невелико, то следить за доступом и безопасностью не составляет труда, и часто за это отвечает один сетевой администратор.

Но если организация имеет масштабную корпоративную сеть или это сеть оператора связи с большим числом абонентов, то отслеживать вручную, кто к чему имеет доступ, становится невозможно. В этом случае на помощь приходит AAA – механизм, который позволяет осуществлять аутентификацию, авторизацию и учет пользователей, то есть контролировать доступ и записывать производимые действия.

Для обеспечения безопасности сети необходимо обеспечить контроль за доступом к различным элементам сети со стороны пользователей. Такими элементами могут быть сетевые устройства, серверы, компьютеры, приложения или даже сегменты самой сети.

Сценарии разные, а принцип один – аутентификация, авторизация и учет (Authentication, Authorization, Accounting – AAA).

Есть два основных типа AAA для сетей:

  • Администрирование сетевых устройств. Осуществляет управление теми, у кого есть доступ для входа в консоль сетевого устройства, Telnet-сессии, Secure Shell (SSH-сессии) или другим способом.
  • Доступ к сети. Идентификация пользователя или устройства до того, как ему будет предоставлен доступ к сети.

Компоненты кейса

  • Суппликант – устройство которое намерено пройти процедуру авторизации и аутентификации.

  • Аутентификатор – устройство к которому подключается суппликант, которое получает у суппликанта данные авторизации и которое проверяет их на RADIUS сервере. NB! Является клиентом для радиус-сервера.

  • RADIUS сервер (он же радиус сервер, он же сервер аутентификации).

Настройка

Установку роли описывать не буду, существует 100500 статей в картинках, например: тыц

  1. Добавление радиус клиента на радиус-сервере Нам нужно заполнить “понятное имя”, IP адрес и придумать пароль (а.к.а. “секрет”), который понадобится при настройке аутентификатора (mikrotik в нашем случае)

    Аутентификация, авторизация и учет (AAA) – RADIUS или TACACS

Политики  запросов на подключение и Стетевые политики очень похожи при настройке, и нужно понимать разницу между ними. Первые нужны для того что бы  при определенных условиях определить сервер на котором будет проходить проверка аутентификации клиента (к примеру локально или на другом удаленном радиус сервере) а так же для некоторых манипуляций с атрибутами.

    Политики имеют порядок и обрабатываются по нему одна за другой. Если подключение не соответствует условиям политики, то проверяется следущая и так далее. К примеру, это поможет разделить правила обработки для проводныхбеспроводных и впн клиентов. {.is-warning}

  1. Добавление политики запросов на подключение

  2. Добавление сетевой политики

Некоторые типовые кейсы применения радиус сервера :

  1. централизованная аутентификация на устройствах поддерживающих aaa

  2. аутентификация для vpn (pptpl2tp)

  3. аутентификация в wifi

  4. аутентификация устройств при подключении к порту rj45 – dot802.1x

 Итак подробнее, некоторые плюшки.   Для всех наших пунктов нам нужно настроить радиус клиента в mikrotik

/radius add address=10.10.11.100 comment="PVE AD" secret=STRONG_SECRET_PASSWORD service=ppp,logi
n,hotspot,wireless,dhcp,ipsec,dot1x timeout=600ms

address –  Адрес радиус сервера secret – пароль, который мы совсем недавно настраивали для радиус клиента service – сервисы в mikrotik, которые могут использовать радиус для аутентификации.

Отдельно стоит отметить пункт timeout=600ms, если вы используете радиус через медленные каналы с большими задержками, стоит увеличить это значение.

Теперь можно начинать настраивать интересные вещи.

Определение, назначение, общие сведения

RADIUS – это протокол, для авторизации, аутентификации и учёта (AAA).

Позволяет повысить безопасность сети и централизованно управлять доступами.

Сервер RADIUS может иметь свою базу данных с учетными данными (например файлы или mysql) или работать в паре с другим сервером, например Active Directory.

Кроме AAA позволяет передать некоторые дополнительные данные (настройки) клиенту прошедшему аутентификацию, в том числе vendor-specific attributes (VSA). У Mikrotik такие тоже есть, позже пройдемся по самым интересным.

Существуют много популярных приложений радиус сервера, самый популярные: freeRADIUS и Служба NPS (Network Policy Server) Windows Server. Более подробно мы рассмотрим второй вариант.

Перейдем к впн, и к стразу более интересному сценарию.

Предположим мы хотим отделить админов, от остальных работников. Выдадим админам профиль с подсетью которая будет иметь доступ к management vlan и не только, и выдадим отстальным сотрудникам профиль с подсетью которая будет меть ограниченый доступ только к 1c, RDP, etc.. . Предположим, мы используюем для впн l2tpipsec/ Для этого создадим в микротик два профиля в PPP -> profile

Выводы

RADIUS в сетевой среде очень полезен в плане безопасности и удобен в плане централизованного управления. Настраивать не так уж и сложно, главное читать, понимать документацию и логи.

Если какой то из пунктов непонятен, пишите. попробую показать или помочь разобраться.

Если в статье нашли ошибки, неточности или знаете как сделать лучше тоже пишите.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *