Aaa сервер что это
Перейти к содержимому

Aaa сервер что это

  • автор:

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

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

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

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

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

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

В современных сетях используют два основных решения для AAA: Remote Authentication Dial-In User Service (RADIUS) и Cisco’s Terminal Access Controller Access-Control System Plus (TACACS+) протоколы. Существует еще и третий AAA-протокол, известный как DIAMETER, но он обычно используется только мобильными операторами. Мы рассмотрим и сравним RADIUS и TACACS+, чтобы помочь вам определить, какой из них лучше подходит для вашей сети.

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

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

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

Авторизация (authorization) – следующий шаг после успешной аутентификации. Заключается в проверке прав доступа к помещению того человека, который прошел аутентификацию. Возможно, у человека есть право проникнуть в первое помещение, но запрещено прохождение дальше. На сетевых устройствах права доступа чаще всего определяют перечень команд, которые может выполнить пользователь, прошедший аутентификацию. Например, сетевому инженеру с 1-м уровнем доступа разрешен только просмотр конфигурации устройства с помощью команды show, а инженеру с 2-м уровнем доступно внесение изменений. На AAA-серверах операторов связи право доступа может определять принадлежность абонента к какому-либо тарифному плану.

Учет (аccounting) – параллельный с аутентификацией и авторизацией этап, который записывает в журнал успех или неудачу данных процессов, смог человек проникнуть в помещение или нет, получил ли пользователь доступ к сетевому устройству и, если да, то какие действия на нем совершал. Этот процесс важен с точки зрения безопасности и контроля доступа, так как позволяет определять потенциальные угрозы и искать «дыры» в системе.

На практике в сетях операторов связи AAA-процесс выглядит следующим образом:

  1. Абонент подключается к устройству доступа AGW (Access Gateway) или Network Access Server (NAS) и вводит свой логин и пароль.
  2. AGW (NAS) формирует и посылает запрос аутентификации к AAA-серверу и ожидает ответ.
  3. AAA-сервер обращается к DPI-системе или серверу биллинга по протоколу RADIUS для проверки логина абонента и пароля.
  4. AAA-сервер формирует ответ и отсылает его обратно на AGW (NAS).
  5. Если аутентификация пройдена, то AGW (NAS) пропускает абонента в сеть, но пока еще не предоставляет ему никаких услуг.
  6. Если пользователь пытается выйти в Интернет (вводит URL в строке браузера), AGW (NAS) формирует новый запрос AAA-серверу для авторизации.
  7. ААА-сервер вновь обращается к DPI-системе или серверу биллинга, чтобы получить информацию о тарифном плане и подключенных абоненту услугах.
  8. Получив положительный ответ от биллинга, ААА-сервер посылает ответ на AGW (NAS), и абонент получает доступ к Интернету в соответствии с настройками, установленными для тарифного плана.

О применении СКАТ DPI для тарификации и политик абонентов мы рассказывали в статье про реализацию L3 BRAS, но вскоре остановимся на этой функции подробнее.

RADIUS

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

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

TACACS+

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

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

8 Лекция. Протоколы AAA

AAA ( Authentication, Authorization, Accounting ) — используется для описания процесса предоставления доступа и контроля за ним.

  • Authentication — аутентификация.
  • Authorization — авторизация (проверка уровня доступа).
  • Accounting — учёт, контроль (слежение за потреблением ресурсов пользователем, например, для тарификации (биллинга)).

Рис. Для чего нужен протокол AAA

Представьте организацию (например университет) с множеством систем (серверы, АТС, WI-FI, здания, помещения и т.д.). Необходимо регистрировать в каждой системе одного и того-же пользователя. Чтобы этого не делать, ставится сервер AAA и все пользователи регистрируются только в нем. Все системы организации обращаются к серверу AAA.

  1. пользователь посылает запрос на аутентификацию системе (пароль, ключ и т.д)
  2. система пересылает его серверу AAA (т.к. не может провести аутентификацию)
  3. сервер AAA посылает ответ системе
  4. пользователь получает или не получает доступ

Основные протоколы AAA:

  • RADIUS, DIAMETER
  • TACACS, TACACS+ (компании Cisco)

Наибольшее распространение получил RADIUS ему на смену создан DIAMETER. Закрытые протоколы не выдерживают конкуренции.

RADIUS ( Remote Authentication in Dial-In User Service )

Протокол опубликован в 1997, был опубликован как RFC 2058 и RFC 2059.

Последние версии (2012) RFC 2865 (rus PDF) и RFC 2866 (rus PDF).

Основные особенности:

  • используется транспортный протокол UDP протокол
  • поддерживает аутентификацию PAP, CHAP, EAP.
  • предоставляет более 50 пар атрибут/значение с возможностью создавать специфичные для производителя пары
  • учетные данные могут хранится локально или во внешних источниках (базы SQL, Kerberos, LDAP, Active Directory)

Рис. Запрос клиента и варианты ответа сервера RADIUS

Пользователь посылает свои данные для аутентификации и авторизации серверу (FTP,POP,WWW,PROXY и т.д.), такие серверы называются Network Access Server (NAS).

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

NAS (клиент) формирует запрос серверу RADIUS Access Request, сервер RADIUS может ответить:

Access Request — может содержать:

Ответ Ac­cess-Chal­lenge может использоваться для посылки случайного числа пользователю, для дальнейшего хеширования его с паролем (см. CHAP).

При выполнении всех условий в отклик Access-Accept включается список всех конфигурационных параметров для данного пользователя.

К таким параметрам относятся тип сервиса (например, SLIP, PPP, Login User) и все требуемые для предоставления этого сервиса значения.

Для протоколов SLIP и PPP могут включаться такие параметры, как

Взаимодействие с PAP и CHAP

PAP

CHAP

DIAMETER

Название DIAMETER — игра слов, отражающая превосходство нового протокола над предшественником RADIUS (диаметр — удвоенный радиус).

Таблица. Сравнение протоколов Diameter и RADIUS

Транспортный протокол
Ориентированные на соединение протоколы (TCP и SCTP)
Протокол без установления соединения (UDP)
Защита
Hop-to-Hop, End-to-End
Hop-to-Hop
Поддерживаемые агенты
Relay, Proxy, Redirect, Translation
Полная поддержка, означающая, что поведение агента может быть реализовано на RADIUS-сервере
Возможности по согласованию
Согласовывает поддерживаемые приложения и уровень безопасности
Не поддерживается
Обнаружение узлов
Статическая конфигурация и динамическое обнаружение
Статическая конфигурация
Сообщение инициации сервера
Поддерживается. Например, сообщение повторной аутентификации, завершения сессии
Не поддерживается
Максимальный размер данных атрибутов
16,777,215 октетов
255 октетов
Поддержка сторонних производителей
Поддерживает сторонние атрибуты и сообщения
Поддерживает только сторонние атрибуты

LDAP ( Lightweight Directory Access Protocol )

Облегченный (относительно DAP) протокол для доступа к службе каталогов X.500 (http://ru.wikipedia.org/wiki/X.500).

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

Хотя LDAP и не протокол AAA, это больше «Электронный отдел кадров», но т.к. в электронной карточке сотрудника может содержаться, например, пароль, то LDAP тоже можно использовать для централизованного управления доступом.

Его можно использовать, например, для web-сайта, для аутентификации. Кроме этого, web-сайт может получить ФИО, email, телефон и д.р. информацию о пользователе из LDAP, что позволяет исключить подмену информации о себе пользователем или допустить ошибку при вводе информации пользователем, а так же уменьшает количество ручной работы по вводу информации.

Протоколы AAA такой информации не дают, но, например, коммутаторы могут работать только с RADIUS, и не могут работать с LDAP.

Примеры использования служб каталогов:

  • Идентификация компьютеров
  • Аутентификация пользователей
  • Группировка пользователей
  • Адресные книги
  • Представление штатно-кадровой структуры организации
  • Учет закрепления имущества организации за сотрудниками
  • Телефонные справочники
  • Управление пользовательскими ресурсами
  • Справочники адресов электронной почты
  • Хранение конфигурации приложений
  • Хранение конфигурации АТС
  • и т.д. .

Рис. Дерево каталога LDAP (традиционное именование записей)

dc (domain component) — компонент домена

ou (organizational unit) — организационную единицу

uid (user id) — идентификатор пользователя

Имя запись пользователя напоминает записи DNS.

Так же как и DNS серверы LDAP:

  • могут быть распределенными;
  • имеют средства репликации.

Построение дерева может быть также основано на доменных именах Internet. Этот подход к именованию записей становится всё более популярным, поскольку позволяет обращаться к службам каталогов по аналогии с доменами DNS.

Аутентификация в Cisco IOS

AAA (Authentication Authorization and Accounting) — система аутентификации авторизации и учета событий, встроенная в операционную систему Cisco IOS, служит для предоставления пользователям безопасного удаленного доступа к сетевому оборудованию Cisco. Она предлагает различные методы идентификации пользователя, авторизации, а также сбора и отправки информации на сервер.

Однако мало того, что ааа по умолчанию выключена; конфигурация этой системы — дело довольно запутанное. Недочеты в конфигурации могут привести либо к нестабильному, небезопасному подключению, либо к отсутствию какого-либо соединения в принципе. В данной статье мы подробно разберем схему настройки аутентификации при помощи aaa.

В общем виде схема аутентификации выглядит так:

Рис. 1. Схема аутентификации (по клику открывается в полном размере)

Рис. 2. Схема аутентификации (продолжение, по клику открывается в полном размере)

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

Но обо всем по порядку.

Отсутствие aaa new-model

В данном случае речь идет о правой части схемы (см. рис. 1).

Рис. 3. Схема аутентификации без aaa new-model

Как уже было сказано, по умолчанию сервис aaa new-model выключен. Подключение к устройству может быть выполнено либо физически, путем подключения через консольный порт (line console 0) без ввода каких-либо учетных данных, либо через протокол TELNET (line vty). Причем в последнем случае, даже если задать IP-адрес на Cisco, получить доступ к устройству не получится ввиду отсутствия пароля (способ аутентификации “line”, см. рис. 3). Если пароль на линии vty задан, то устройство потребует от вас только ввести пароль, что существенно снижает безопасность подключения, так как для входа не требуется вводить логин; впрочем, тут все, конечно, зависит также от сложности пароля, который вы настроили.

При выполнении команды “login local” устройство, установив соединение, будет требовать ввести логин и пароль для входа.

Итак: в случае отсутствия aaa new-model максимум, которого вы можете требовать от Cisco IOS, — это использование пароля (способ аутентификации “line”) и использование логина и пароля из локальной базы данных (способ аутентификации “local”).

Рис. 4. Способы аутентификации без aaa new-model

Конфигурация aaa new-model

Преимущество конфигурации aaa в том, что она содержит множество методов аутентификации (в отличие от предыдущего случая). Включение aaa происходит путем добавления команды aaa new-model в режиме глобальной конфигурации. Далее предстоит выбор методов аутентификации. Все методы организуются в списки, которым присваивается либо значение default, либо конкретное имя списка (list-name). Таким образом, на разные типы линий (aux, vty, con. ) можно «повесить» разные методы аутентификации, разграничив доступ между пользователями.

Пример настройки aaa new-model и списков аутентификации:

Router(config)#aaa new-model
Router(config)#aaa authentication login method1 [method2…]
Router(config)#line line-numbers
Router(config-line)#login authentication

Методы

Как было сказано ранее, методов аутентификации в aaa довольно много. Попробуем перечислить наиболее распространенные:

Local — база данных логинов и паролей храниться на самом сетевом устройстве. Требует username .
Local-case — тот же самый метод, что и local, но чувствительный к регистру при ввде логина.
Enable — для аутентификации требуется enable .
Line — для аутентификации требуется пароль line (см. рис. 4 способ аутентификации “line”).
None — аутентификация не требуется, доступ к устройству предоставляется без ввода логина и пароля.
Group — подключение серверов с установленным Tacacs+ (http://www.cisco.com/en/US/docs/ios/12_2/security/configuration/guide/scftplus.html#wp1000899) или Radius (http://www.cisco.com/en/US/docs/ios/12_2/security/configuration/guide/scfrad.html#wp1000902)для расширения возможностей конфигурации aaa.
Group — позволяет настроить группу серверов с установленным Tacacs+ или Radius или настроить частный сервер группы.

Наиболее интересным методом аутентификации является group: он довольно часто встречается в средних и крупных компаниях.

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

Пример добавления группы серверов и частного сервера Radius:

Router(config)#aaa authentication login default group servradius1
Router(config)#aaa group server radius servradius1
Router(config-sg-radius)#server 192.168.1.1
Router(config-sg-radius)#server 192.168.1.2
Router(config-sg-radius)#server 192.168.1.3
Router(config-sg-radius)#server-private 192.168.1.10

На этом примере видно, что настроены три Radius-сервера. Но возникает вопрос: как они будут работать? Первое, что приходит в голову: скорее всего, они будут работать по очереди: при недоступности 192.168.1.1 идет обращение к 192.168.1.2 и т. д. Но это не так. В данном примере допущена ошибка: 192.168.1.1, 192.168.1.2, 192.168.1.3 настроены некорректно, а поэтому в аутентификации использоваться не будут. В данной конфигурации не хватает команды Router(config)#radius-server host для каждого из серверов. Более подробное описание настроек можно найти на ресурсах вендора (например: http://www.cisco.com/en/US/docs/ios/12_2/security/configuration/guide/scfrad.html). Схематично это можно представить следующим образом:

Рис. 5. Настройка аутентификации для метода group

Вот, собственно, и вся информация, которая поможет вам успешно настроить аутентификацию на вашем сетевом устройстве. Следуйте схеме, и если ваши настройки привели к “true”, значит будет счастье, а если к “false” — посмотрите на конфигурацию внимательно: возможно, где-то допущена ошибка или доступ к устройству возможен без ввода логина и пароля (способ аутентификации “none”). Надеюсь, статья оказалась полезной и помогла вам разобраться в нюансах конфигурации aaa.
Мы же, в свою очередь, всегда стараемся автоматизировать такие сложные проверки. Как пример — результат проверки MaxPatrol относительно службы ААА:

AAA Security

Authentication, authorization, and accounting (AAA) is a security framework that controls access to computer resources, enforces policies, and audits usage. AAA and its combined processes play a major role in network management and cybersecurity by screening users and keeping track of their activity while they are connected.

Authentication

Authentication involves a user providing information about who they are. Users present login credentials that affirm they are who they claim. As an identity and access management (IAM) tool, a AAA server compares a user’s credentials with its database of stored credentials by checking if the username, password, and other authentication tools align with that specific user.

The three types of authentication include something you know, like a password, something you have, like a Universal Serial Bus (USB) key; and something you are, such as your fingerprint or other biometrics.

Authorization

Authorization follows authentication. During authorization, a user can be granted privileges to access certain areas of a network or system. The areas and sets of permissions granted a user are stored in a database along with the user’s identity. The user’s privileges can be changed by an administrator. Authorization is different from authentication in that authentication only checks a user’s identity, whereas authorization dictates what the user is allowed to do.

For example, a member of the IT team may not have the privileges necessary to change the access passwords for a company-wide virtual private network (VPN). However, the network administrator may choose to give the member access privileges, enabling them to alter the VPN passwords of individual users. In this manner, the team member will be authorized to access an area they were previously barred from.

Accounting

Accounting keeps track of user activity while users are logged in to a network by tracking information such as how long they were logged in, the data they sent or received, their Internet Protocol (IP) address, the Uniform Resource Identifier (URI) they used, and the different services they accessed.

Accounting may be used to analyze user trends, audit user activity, and provide more accurate billing. This can be done by leveraging the data collected during the user’s access. For example, if the system charges users by the hour, the time logs generated by the accounting system can report how long the user was logged in to the router and inside the system, and then charge them accordingly.

Why Is the AAA Framework Important in Network Security?

AAA is a crucial part of network security because it limits who has access to a system and keeps track of their activity. In this way, bad actors can be kept out, and a presumably good actor that abuses their privileges can have their activity tracked, which gives administrators valuable intelligence about their activities.

There are two main types of AAA for networking: network access and device administration.

Доступ к сети

Network access involves blocking, granting, or limiting access based on the credentials of a user. AAA verifies the identity of a device or user by comparing the information presented or entered against a database of approved credentials. If the information matches, access to the network is granted.

Device Administration

Device administration involves the control of access to sessions, network device consoles, secure shell (SSH), and more. This type of access is different from network access because it does not limit who is allowed into the network but rather which devices they can have access to.

Types of AAA Protocols

There are several protocols that incorporate the elements of AAA to ensure identity security.

Remote Authentication Dial-In User Service (RADIUS)

RADIUS is a networking protocol that performs AAA functions for users on a remote network using a client/server model. RADIUS simultaneously provides authentication and authorization to users trying to access the network. RADIUS also takes all AAA data packets and encrypts them, providing an extra level of security.

RADIUS works in three phases: the user sends a request to a network access server (NAS), the NAS then sends a request for access to the RADIUS server, which responds to the request by either accepting it, rejecting it, or challenging it by asking for more information.

Diameter

The Diameter protocol is a AAA protocol that works with Long-Term Evolution (LTE) and multimedia networks. Diameter is an evolution of RADIUS, which has long been used for telecommunications. However, Diameter is custom-designed to optimize LTE connections and other kinds of mobile networks.

Terminal Access Controller Access-Control System Plus (TACACS+)

Similar to RADIUS, TACACS+ uses the client/server model to connect users. However, TACACS+ enables more control regarding the ways in which commands get authorized. TACACS+ works by providing a secret key known by the client and the TACACS+ system. When a valid key is presented, the connection is allowed to proceed.

TACACS+ separates the authentication and authorization processes, and this differentiates it from RADIUS, which combines them. Also, TACACS+, like RADIUS, encrypts its AAA packets.

How Fortinet Can Help

In a zero-trust network access (ZTNA) system, all users and devices are distrusted by default and cannot be allowed to access the system until they have adequately proven their authentication and authorization rights. This is often accomplished using two-factor authentication (2FA).

The Fortinet ZTNA framework utilizes AAA, as it applies stringent controls to identity and access management. Further, FortiAuthenticator uses AAA services to ensure that unauthorized users are restricted from accessing your network.

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

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