Аутентификация на сетевых устройствах CISCO средствами Active Directory / Хабр

Что такое сервер доступа к сети?

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

Сервер доступа к сети:

  • Единая точка доступа к удаленному ресурсу.

  • Сервер удаленного доступа, поскольку он обеспечивает удаленный доступ к сети.

  • Начальная точка входа в сеть.

  • Шлюз для защиты защищаемого ресурса.

Единая точка доступа к удаленному ресурсу.

Сервер удаленного доступа, поскольку он обеспечивает удаленный доступ к сети.

Начальная точка входа в сеть.

Шлюз для защиты защищаемого ресурса.

Примеры включают в себя:

  • Проверка доступа в Интернет с использованием идентификатора пользователя и пароля.

  • VoIP, FoIP и VMoIP требуют действительный номер телефона или IP-адрес.

  • Телефонная карта предоплаты использует номер карты предоплаты.

Проверка доступа в Интернет с использованием идентификатора пользователя и пароля.

VoIP, FoIP и VMoIP требуют действительный номер телефона или IP-адрес.

Телефонная карта предоплаты использует номер карты предоплаты.

На следующем рисунке показана базовая архитектура Radius.

Что такое диаметр

Диаметр – плановая замена RADIUS. Это протокол AAA для таких приложений, как доступ к сети и мобильность IP. Ниже перечислены некоторые моменты, которые вам нужно знать о диаметре:

  • Он предназначен для работы как в локальных, так и в роуминговых ситуациях AAA.

  • Диаметр всего в два раза превосходит протокол предшественника Радиус.

  • Он использует TCP или SCTP, а не UDP.

  • Он использует безопасность транспортного уровня (IPSEC или TLS).

  • Он имеет 32-битный идентификатор вместо 8-битного.

  • Он поддерживает режимы без сохранения состояния и состояния.

  • Он поддерживает подтверждение уровня приложения, определяет отказоустойчивость.

  • Он предлагает лучшую поддержку роуминга.

  • Он использует AVP.

  • Диаметр позволяет определять новые команды и атрибуты. Это легко расширить.

Он предназначен для работы как в локальных, так и в роуминговых ситуациях AAA.

Диаметр всего в два раза превосходит протокол предшественника Радиус.

Он использует TCP или SCTP, а не UDP.

Он использует безопасность транспортного уровня (IPSEC или TLS).

Он имеет 32-битный идентификатор вместо 8-битного.

Он поддерживает режимы без сохранения состояния и состояния.

Он поддерживает подтверждение уровня приложения, определяет отказоустойчивость.

Он предлагает лучшую поддержку роуминга.

Он использует AVP.

Диаметр позволяет определять новые команды и атрибуты. Это легко расширить.

Что дальше?

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

Что такое ааа?

AAA означает Аутентификацию, Авторизацию и Учет.

. Практическая безопасность сетей

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

Для начала рассмотрим настройку Authentication (первая А). Это позволит избежать некоторой путанницы в голове. Процесс настройки можно разбить на 4 основных этапа:

1) Создание пользователя в локальной базе. Собственно мы уже делали это ранее (username admin privilege 15 secret cisco). Здесь может возникнуть некоторое недопонимание. Мы же используем ААА для того, чтобы централизованно хранить все учетные записи. Так зачем нам локальная учетная запись? А теперь представьте, что по какой-то причине ААА-сервер стал недоступен. Это может случиться из-за сетевого сбоя, либо из-за хакерской атаки. Тогда вы просто не сможете зайти на оборудование, т.к. сетевое устройство будет пытаться обратиться к ААА-серверу для проверки введенных данных. В этом случае и необходима локальная учетная запись. По сути, она является резервным вариантом входа, когда нет возможности обратиться к ААА-серверу.


Никогда не настраивайте вход ТОЛЬКО через ААА-сервер. Вы не сможете зайти на устройство, если сервер станет недоступен. Используйте локальную учетную запись, как резервный вариант входа.

2) Включение функции ААА. Данное действие мы тоже уже выполняли (aaa new-model).

3) Настройка ААА-сервера. Здесь имеется в виду указание IP – адреса ААА-сервера (или даже нескольких серверов) и секретного ключа (key). Эти данные используются устройством для подключения к ААА-серверу и дальнейшему общению. Ключ используется для шифрования всей передаваемой информации.

4) Создание метода аутентификации (method list). И здесь мы уже попробовали свои силы (aaa authentication login default local). Мы создавали method list под названием default, что означает его применимость сразу ко всем доступным линиям (console, vty). И в конце команды мы указывали способ аутентификации – local, т.е. использование локальной базы учетных записей. Далее мы рассмотрим настройку другого способа – tacacs либо radius.

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

Ниже представлена настройка маршрутизатора: 

enable secret cisco /задаем пароль на enable

username admin privilege 15 secret cisco /создаем локального пользователя

aaa new-model /включаем ААА

tacacs-server host 192.168.56.101 /указываем адрес ААА-сервера

tacacs-server key cisco123 /указываем ключ

aaa authentication login default group tacacs local /создаем method list

Думаю стоит немного пояснить последнюю команду. В качестве имени method list мы использовали default, т.е. применили его ко всем линиям. Далее, с помощью параметра group, мы определяем несколько возможных вариантов аутентификации. Первым по приоритету идет tacacs , т.е. если для роутера доступен ААА-сервер, то для аутентификации будет использоваться именно этот способ. Если же по каким-то причинам это невозможно, то будет использован второй способ – local, т.е. локальная база учетных записей. В данном случае этот способ является резервным и именно для него мы создали локальную учетку admin. Кроме того, мы можем использовать в качестве резервного варианта пароль от enable. В этом случае последняя команда выглядела бы так:

aaa authentication login default group tacacs enable

Иногда бывает необходимо создать разные политики доступа к оборудованию. Для примера рассмотрим случай с консольным портом. Предположим, что мы уже настроили аутентификацию с помощью ААА и создали method list с именем default. Но при этом мы хотим, чтобы вход по консоли был без пароля (крайне не рекомендую). Для этого достаточно создать еще один method list и “повесить” его на консольный порт:

R1(config)#aaa authentication login FREE none

R1(config)#line console 0

R1(config-line)#login authentication FREE

В method list с именем FREE использует параметр none, который разрешает вход без пароля.

Настройка RADIUS для аутентификации практически идентична и заключается лишь в замене слова “tacacs”.

radius-server host 192.168.56.2

radius-server key cisco123

aaa authentication login default group radius local

Таким образом мы рассмотрели процесс базовой настройки аутентификации с помощью ААА-сервера. При попытке подключения к маршрутизатору получим следующее:

User Access Verification

Username: admin15

Password:

R1>

Как видим, вход с помощью учетной записи admin15 – успешен. Но стоит обратить внимание на уровень привилегий. Данный пользователь был создан с уровнем 15 (Level15), но знак “>” говорит о том, что мы все еще в пользовательском режиме, т.е. уровень 1. Причина в отсутствии настроек авторизации (вторая А). Именно авторизация позволяет пользователю при входе на устройство автоматически попадать на свой уровень.

1.3.6 Настройка Authorization

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

aaa authorization exec default group tacacs local

Для начала мы настраиваем авторизацию для входа в соответствующий режим – пользовательский (user exec mode) или привилегированный (privileged exec mode). Именно после этой команды мы сможем автоматически попадать в нужный режим сразу после входа на устройство. Думаю значение default group tacacs local вам и так понятно.

aaa authorization config-command

aaa authorization commands 1 default group tacacs local

aaa authorization commands 15 default group tacacs local

Здесь мы настраиваем авторизацию каждой вводимой команды, как на уровне 1, так и на уровне 15. 

aaa authorization console

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

Теперь если попробовать подключиться к маршрутизатору с помощью учетной записи admin15, получим следующее:

User Access Verification

Username: admin15

Password:

R1#

Как видим по знаку “#” мы попадаем в нужный нам режим (privileged exec mode) без необходимости ввода пароля enable.

Можно еще раз проверить работу авторизации и войти под учетной записью admin1:

User Access Verification

Username: admin1

Password:

R1>

Как и ожидалось, мы попадаем в пользовательский режим. При этом, если вы помните, данный пользователь ограничен всего тремя командами, в соответствии с настройками на ААА-сервере (это ping, show run и exit). Попробовав выполнить другие команды получим следующее:

R1>show cdp neighbors

Command authorization failed.

Команда не авторизована и не может быть выполнена. И даже если войти в привилегированный режим с помощью enable, мы все равно не сможем выполнить неавторизованные команды:

R1>en

Password:

R1#conf t

Command authorization failed.

1.3.7 Настройка Accounting

Последним этапом будет настройка учета (accounting) или простым языком – логирование всех действий пользователей. Делается это элементарно:

aaa accounting exec default start-stop group tacacs

aaa accounting commands 1 default start-stop group tacacs

aaa accounting commands 15 default start-stop group tacacs

Здесь мы включили логирование всех вводимых команд, как на уровне 1, так и на уровне 15. После этого на ААА-сервер можно увидеть следующую информацию: 

Мы видим на каком устройстве, в какое время, кем и как были произведены какие-либо действия. Данная информация может существенно помочь при поиске причин “внезапной” недоступности какого-либо устройства после неудачной настройки. Это и есть основное предназначение функции Accounting.

1.3.8 Ограничения ААА

Следует отметить, что мы весьма поверхностно рассмотрели возможности ААА. Описанные выше команды, лишь пример минимально необходимых настроек. Более подробное рассмотрение данной технологии выходит за рамки нашей книги. Однако остался еще один момент, который я не могу обойти стороной.

Ранее было сказано, что при настройке ААА необходимо обязательно оставлять резервный вариант входа в виде локальной учетной записи (либо пароля на enable). Но как же централизованно администрировать эти учетки? Ведь ААА не позволят менять локальные пароли на устройствах. Неужели придется это делать вручную? А если устройств сотни, как у интернет провайдеров? Не менять пароли локальных учеток также плохая идея. 

Как правило, для решения данной проблемы используются менеджеры конфигураций (network configuration manager) либо самописные скрипты. Яркими примерами менеджеров конфигураций являются SolarWinds Network Configuration Manager (платный) и rConfig (бесплатный). 


Для централизованной смены паролей локальных учетных записей используйте менеджеры конфигураций (network configuration manager).

Данный софт позволяет централизованно изменять настройки сетевых устройств, даже если они разных производителей (Сisco, Juniper, HP и т.д.). Описание данных программ выходит за рамки нашей книги.

Radius – обзор

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

Radius – операции

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

Как только Клиент настроен правильно, тогда:

  • Клиент запускается с Access-Request.

  • Сервер отправляет Access-Accept, Access-Reject или Access-Challenge.

  • Access-Accept сохраняет все обязательные атрибуты для предоставления услуг пользователю.

Клиент запускается с Access-Request.

Сервер отправляет Access-Accept, Access-Reject или Access-Challenge.

Access-Accept сохраняет все обязательные атрибуты для предоставления услуг пользователю.

Коды радиуса (десятичные) назначаются следующим образом:

  • 1 запрос доступа
  • 2 Access-Accept
  • 3 Доступ-Отклонить
  • 4 Бухгалтерский учет-запрос
  • 5 Бухгалтерский учет-Ответ
  • 11 Access-Challenge
  • 12 Status-Server (экспериментальный)
  • 13 Статус-Клиент (экспериментальный)
  • 255 зарезервировано
  • Концепция No Keep Alive – хорошо или плохо ??

Коды 4 и 5 относятся к функциональности учета радиуса. Коды 12 и 13 зарезервированы для возможного использования.

Radius – особенности

Вот список всех ключевых особенностей Radius:

Radius – пакетный формат

Формат пакета Radius, как показано ниже:

Код: это 1 октет (1 байт) длиной и идентифицирует различные типы пакетов. Обычно 1 октет означает 1 байт.

Идентификатор: это снова длина в 1 октет и помогает сопоставлять ответы с запросами.

Длина: это длина 2 октета и указывает длину пакета, включая код, идентификатор, длину и аутентификатор. (Минимальный пакет составляет 20 октетов, а максимальный – 4096 октетов).

Аутентификатор: это 16 октетов длиной и заполняется в случае некоторых запросов и ответов.

Список атрибутов: существует список из 63 атрибутов, и атрибут Radius также будет иметь определенный формат, который описан в следующей главе.

Radius – формат атрибутов

Атрибут Radius состоит из следующих трех частей:

  • Тип: 1 октет длиной, идентифицирует различные типы атрибутов. Это код атрибута, указанный ниже.

  • Длина: длина 1 октет, длина атрибута, включая тип.

  • Значение: 0 или более октетов, содержит информацию, специфичную для атрибута.

Тип: 1 октет длиной, идентифицирует различные типы атрибутов. Это код атрибута, указанный ниже.

Длина: длина 1 октет, длина атрибута, включая тип.

Значение: 0 или более октетов, содержит информацию, специфичную для атрибута.

Tacacs

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

Ааа и nas?

Прежде чем начать изучать Radius, важно, чтобы вы поняли:

  • Что такое ААА?
  • Что такое NAS?

Итак, давайте сначала разберемся с этими двумя темами.

Авторизация

  • Относится к предоставлению пользователям определенных видов услуг (в том числе «без обслуживания») на основе их аутентификации.

  • Может основываться на ограничениях, например, ограничениях времени суток, ограничениях физического местоположения или ограничениях на несколько входов одного и того же пользователя.

  • Примеры услуг включают в себя фильтрацию IP-адресов, назначение адресов, назначение маршрутов, шифрование, QoS / дифференциальные услуги, управление полосой пропускания / управление трафиком и т. Д.

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

Может основываться на ограничениях, например, ограничениях времени суток, ограничениях физического местоположения или ограничениях на несколько входов одного и того же пользователя.

Примеры услуг включают в себя фильтрацию IP-адресов, назначение адресов, назначение маршрутов, шифрование, QoS / дифференциальные услуги, управление полосой пропускания / управление трафиком и т. Д.

Аутентификация

  • Относится к подтверждению того, что пользователь, запрашивающий услугу, является действительным пользователем.

  • Выполняется путем представления личности и учетных данных.

  • Примеры учетных данных включают пароли, одноразовые токены, цифровые сертификаты и телефонные номера (звонящие / вызываемые).

Относится к подтверждению того, что пользователь, запрашивающий услугу, является действительным пользователем.

Выполняется путем представления личности и учетных данных.

Примеры учетных данных включают пароли, одноразовые токены, цифровые сертификаты и телефонные номера (звонящие / вызываемые).

Бухгалтерский учет

  • Относится к отслеживанию потребления сетевых ресурсов пользователями.

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

  • Может использоваться для управления, планирования, выставления счетов и т. Д.

Относится к отслеживанию потребления сетевых ресурсов пользователями.

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

Может использоваться для управления, планирования, выставления счетов и т. Д.

AAA-сервер предоставляет все вышеперечисленные услуги своим клиентам.

Гибкая аутентификация

AAA Сервер поддерживает аутентификацию на основе одного или нескольких атрибутов (набор атрибутов настраивается), таких как IMSI, MSISDN, IMEI, NAI, Realm/Domain, имя пользователя и т.д.

Комбинации этих параметров настраиваются в Policy Engine, который определяет статические правила, применяемые при процедуре аутентификации.

AAA Сервер поддерживает несколько политик аутентификации, которые могут быть настроены в Policy Engine.

Упорядоченный список правил настраивается в Policy Engine. Каждое правило состоит из одного условия и одного действия.

  • Условие указывает атрибут и его значение, который должен присутствовать в запросах с типом Access или Accounting. Для максимальной гибкости могут быть использованы любые атрибуты из запроса.
  • Действие определяет, что AAA Сервер должен выполнить с запросом при выполнении условия. Действие также может ссылаться на другое правило, для возможности создания сложных правил аутентификации с вложенными условиями.

Гибкие механизмы аутентификации

Радиус поддерживает следующие протоколы для аутентификации:

  • Двухточечный протокол – PPP

  • Протокол аутентификации пароля – PAP

  • Протокол аутентификации при вызове – CHAP

  • Простой UNIX-вход

Двухточечный протокол – PPP

Протокол аутентификации пароля – PAP

Протокол аутентификации при вызове – CHAP

Простой UNIX-вход

Диаметр

Диаметр – плановая замена Радиуса.

Интеграция cisco aaa и microsoft active directory

Наверняка многие системные администраторы рано или поздно сталкиваются с проблемой аутентификации на сетевых устройствах. Если руководствоваться best-practices, то учетные записи должны быть персонифицированными, пароли должны отвечать критериям устойчивости, время жизни паролей должно быть ограничено.

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

Active Directory

, почему бы не использовать его?

image
Рис.1 Топология системы

Все не так просто – устройства Cisco не предоставляют механизма для аутентификации средствами LDAP, коим является MS ActiveDirectory, напрямую. Для решения этой задачи CISCO в своих решениях предоставляет механизм AAA(Authentication Authorization Accounting).

Дабы не растягивать статью, за деталями отсылаю к первоисточнику [1], также вот неплохая статья описывает основные возможности [2]. Вкратце, клиент AAA отправляет ученые данные к серверу аутентификации, и основываясь на его ответе (либо отсутствии ответа) принимает решении об отказе или предоставлении запрашиваемого доступа.

В качестве сервера аутентификации AAA позволяет использовать RADIUS либо TACAS сервер. На первый взгляд по описанию возможностей предпочтительней TACAS , но основной его недостаток в том, что это закрытое решение от CISCO и его реализация существует только для *nix систем [3].

Протокол же RADIUS является открытым промышленным стандартом, для которого существует множество реализаций, в том числе и встроенная в Windows Server 2000/2003 служба IAS (Internet Authentication Service). В Windows Server 2008 вместо службы IAS поставляется служба Network Policy Server [4].

Интеграция с in и billing системами (prepaid и postpaid)

AAA Сервер поддерживает следующие протоколы для реализации тарификации в режиме реального времени:

  • DIAMETER DCCA
  • SOAP (OSA/Parlay)

AAA Сервер поддерживает генерацию, доставку и хранение записей CDR для всех событий, которые необходимо протарифицировать.
Формат CDR и набор полей в записях может быть различным в зависимости от требований оператора.
Например: CSV, ASN.1, XML и др.

Контроллер доступа к терминалу система контроля доступа (tacacs)

TACACS – это протокол удаленной аутентификации, который используется для связи с сервером аутентификации, обычно используемым в сетях Unix. TACACS позволяет серверу удаленного доступа обмениваться данными с сервером аутентификации, чтобы определить, имеет ли пользователь доступ к сети.

Методы аутентификации

AAA Сервер поддерживает следующие методы: CHAP, PAP, MSCHAPv1/v2, EAP (EAP-MD5), Microsoft PEAP, EAP-MSCHAP-v2 for PEAP, EAP-AKA, EAP-SIM, и EAP-TLS

AAA Сервер поддерживает функцию «Черный список». Если пользователь в ходе аутентификации вводит неправильные пароли, при достижении определенного количества неудачных попыток AAA Сервер может заблокировать пользователя. В течение определенного времени AAA Сервер будет неуспешно аутентифицировать пользователя даже в случае предоставления корректного пароля.

Функциональность «Черный список» может быть конфигурируемым по APN, realmdomain, NAS и т.д.

Модель клиент / сервер

  • NAS работает как клиент для сервера Radius.

  • Сервер Radius отвечает за получение запросов на подключение пользователя, проверку подлинности пользователя, а затем возвращает всю информацию о конфигурации, необходимую клиенту для предоставления обслуживания пользователю.

  • Сервер Radius может выступать в качестве прокси-клиента для других серверов Radius.

NAS работает как клиент для сервера Radius.

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

Сервер Radius может выступать в качестве прокси-клиента для других серверов Radius.

Настройка ms activedirectory

Предполагаем, что политики безопасности для длины, сложности паролей, времени их жизни и пр. уже внедрены. И так, для начала создадим две группы безопасности (Security group)

Настройка ms internet authentication service

Если на сервере еще не установлена служба IAS, то ее необходимо установить. Для этого необходимо в панели управления выбрать “Add/remove programs” -> “Add/remove Windows components”, выбрать пункт “Network Services”, нажать кнопку Details (Дополнительно), выбрать пункт “Internet Information Service (IIS)” и еще раз нажать Details (Дополнительно), выбрать Internet Authentication Service.

Открываем оснастку Internet Authentication Service и создаем новую политику удаленного доступа (Remote Access Policies -> RClick -> New Remote Access Policy) с названием CiscoAAA_AD. В открывшемся окне Select Attribute выбираем Authentication Type и добавляем CHAP,

критерий – принадлежность пользователей к ранее созданной группе

Обзор решения

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

Основные особенности AAA Сервера:

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

Отладка

Не всегда все идет хорошо. На этот случай следует воспользоваться командами отладки Cisco IOS:

# debug radius events# debug aaa authentication# debug aaa authorization# debug aaa protocols# debug radius [authentication | elog | verbose]А так же не забываем смотреть в Event log AD и IAS.

Пакеты pod и coa

AAA Сервер использует CoA сообщения для динамического изменения активной сессии пользователя. RADIUS атрибуты в CoA могут содержать инструкции для NAS создать, изменить или завершить сервис абонента. CoA сообщения содержат информацию для динамической реавторизации сессии абонента.

Для CoA сообщений используются следующие коды команд: CoA-Request (43), CoA-ACK (44), CoA-NAK (45).

Аналогичным образом AAA Сервер отправляет PoD сообщения на NAS по факту получения от OCS сообщений об удалении абонента, изменении статуса абонента и т.д. Правила формирования и отправки PoD и CoA сообщений настраиваются в Policy Engine.

Пример запроса радиуса

Давайте посмотрим на пример запроса радиуса:

NAS по адресу 192.168.1.16 отправляет UDP-пакет запроса доступа на сервер RADIUS для пользователя с именем Nemo, который входит в порт 3 с паролем «arctangent».

Аутентификатор запроса – это 16-октетное случайное число, генерируемое NAS.

Пароль пользователя состоит из 16 октетов, дополненных нулями, XOR и D5 (Shared Secret | Request Authenticator).

01 00 00 38 0f 40 3f 94 73 97 80 57 bd 83 d5 cb 98 f4 22 7a 01 06 6e 65 6d 6f 02 12 0d be 70 8d 93 d4 13 ce 31 96 e4 3f 78 2a 0a ee 04 06 c0 a8 01 10 05 06 00 00 00 03

1 код = запрос доступа (1)

1 идентификатор = 0

2 Длина = 56

16 Запрос аутентификатора

Список атрибутов

Пример ответа радиуса

Вот пример пакетов ответа:

Сервер Radius аутентифицирует Nemo и отправляет UDP-пакет Access-Accept на NAS, сообщая его telnet Nemo для размещения 192.168.1.3

Аутентификатор ответа представляет собой 16-октетную контрольную сумму MD5 кода (2), id (0), длины (38), аутентификатора запроса сверху, атрибутов в этом ответе и общего секрета.

02 00 00 26 86 fe 22 0e 76 24 ba 2a 10 05 f6 bf 9b 55 e0 b2 06 06 00 00 00 01 0f 06 00 00 00 00 0e 06 c0 a8 01 03

1 код = доступ-принятие (2)

1 идентификатор = 0 (такой же, как в запросе доступа)

2 Длина = 38

16 Аутентификатор ответа

Список атрибутов:

Проверяем работу

imageРис. 5. Проверка работы

Протоколы ааа

Радиус – это протокол AAA для таких приложений, как доступ к сети или мобильность IP. Помимо Radius, у нас есть следующие протоколы в AAA:

Расширяемый протокол

Радиус расширяемый; большинство поставщиков аппаратного и программного обеспечения Radius реализуют свои собственные диалекты.

Протокол без сохранения состояния, использующий UDP, работает на порту 1812.

Режим proxy

AAA Сервер включает в себя высокопроизводительный Proxy Engine.

Proxy Engine поддерживает балансировку запросов, механизмы fault detection и failover.

Proxy Engine может использовать различные сервера для проксирования аутентификационных и аккаунтинговых сообщений.

Взаимодействие между RADIUS серверами осуществляется в соответствии с RFC 2865. Для аутентификации и шифрования используется разделяемый ключ (shared secret).

Условия, при которых AAA Сервер проксирует ACCESS или ACCOUNTING сообщения на внешний сервер, задаются в правилах Policy Engine. Условия проксирования могут быть заданы на основании любых атрибутов, присутствующих в ACCESS или ACCOUNTING сообщении, таких как domain, NAS, APN, subscriber id и т.д.

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

Если первый сервер группы не отвечает в установленное время, AAA Сервер перепосылает запросы на следующий сервер в группе. Если ответ не получен ни от одного сервера в группе, то согласно настроенным правилам, в ответ на запрос может быть отправлен отрицательный ответ (reject) либо положительный (accept) с локальной авторизацией пользователя.

Объединение внешних серверов в группы в режиме балансировки нагрузки (load-sharing) позволяет распределять запросы ACCESS и ACCOUNTING между несколькими серверами по циклическому (round-robin) алгоритму.

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

Сетевая безопасность

  • Транзакции между клиентом и сервером аутентифицируются с помощью общего ключа. Этот ключ никогда не отправляется по сети.

  • Пароль зашифрован перед отправкой по сети.

Транзакции между клиентом и сервером аутентифицируются с помощью общего ключа. Этот ключ никогда не отправляется по сети.

Пароль зашифрован перед отправкой по сети.

Управление ip адресами

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

Когда абонент устанавливает соединение, для его сессии назначается IP адрес. Абонент может иметь статический IP адрес, либо IP адрес может назначаться из пула адресов AAA Сервером или NAS. Пулы IP адресов могут быть определены в AAA Сервере для каждого NAS.

Заключение

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

Похожее:  Test Drive Unlimited Gold код активации

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

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