AAA – платформа или общее название процессов, связанных с обеспечением защиты данных в информационных системах. AAA - это основанная на стандартах платформа, используемая для контроля того, кому разрешено использовать сетевые ресурсы (посредством аутентификации), что они уполномочены делать (посредством авторизации) и фиксировать действия, выполняемые при доступе к сети (посредством учета).
Основные компоненты AAA:
- Authentication (аутентификация) - сопоставление персоны (запроса) и существующей учётной записи в системе безопасности. Осуществляется по логину, паролю, сертификату, смарт-карте и т.д.
- Authorization (авторизация, проверка полномочий, проверка уровня доступа) - сопоставление учётной записи в системе (и персоны, прошедшей аутентификацию) и определённых полномочий (или запрета на доступ).
- Accounting (учёт) - слежение за потреблением ресурсов (преимущественно сетевых) пользователем. В accounting включается также и запись фактов получения доступа к системе (англ. access logs).
Основные протоколы AAA:
- RADIUS - протокол клиент-сервер, который позволяет серверам удалённого доступа общаться с центральным сервером для аутентификации.
- TACACS+ - Протокол удалённой аутентификации, который позволяет серверу удалённого доступа общаться с сервером аутентификации для проверки пользователя.
- DIAMETER. Протокол, который обычно используется только мобильными операторами.
Протокол RADIUS
RADIUS (Remote Authentication Dial-In User Service) — это сетевой протокол, который обеспечивает централизованную аутентификацию, авторизацию и учёт пользователей AAA (Authentication, Authorization, and Accounting). Он использует протокол транспортного уровня UDP и описан в стандартах и .
Основные функции протокола:
- Аутентификация — процесс проверки подлинности пользователя.
- Авторизация — процесс предоставления пользователю прав на выполнение действий.
- Учёт — процесс записи информации об использовании ресурсов пользователем.
RADIUS определяет, может ли пользователь получить доступ к локальной или удалённой сети. Затем устанавливает, какие привилегии разрешены пользователю. После записывает активность пользователя во время подключения к ресурсу. Особенность RADIUS в том, что он собирает эти функции в сетевой инфраструктуре организации. Используется, например, при аутентификации пользователей WiFi, VPN и других подобных случаях.
Работа протокола RADIUS
Протокол RADIUS использует модель клиент-сервер. Важно различать протокол, клиент и сервер RADIUS:
- Протокол обеспечивает взаимодействие между сервером и клиентом.
- Сервер отвечает за приём клиентских запросов, проверку подлинности пользователей и возврат клиенту обработанной информации.
- Клиент — NAS (Network Access Server), устройство, которое требует аутентификацию. Сервером сетевого доступа может быть виртуальная частная сеть (VPN, Virtual Private Network), беспроводная точка доступа или другие сетевые устройства.

Детали работы протокола RADIUS
Чтобы получить доступ к ресурсу, пользователь отправляет запрос клиенту RADIUS. В запросе пользователь предоставляет свою идентификационную информацию.
Когда клиент принимает эти данные, он начинает процесс идентификации: создаёт пакет Access-Request (запрос доступа), который содержит имя пользователя, пароль, идентификатор клиента и порта. RADIUS-сервер проверяет учётные данные пользователя и корректность информации.
Затем сервер отправляет клиенту ответ. Тип ответа зависит от результата проверки:
Access-Reject: пользователю не разрешён доступ.
Access-Accept: пользователю разрешён доступ.
Access-Challenge: запрос дополнительной информации от пользователя, например, второй пароль или OTP-код.
Пример использования RADIUS

- Сотрудник запрашивает доступ на подключение к корпоративной сети.
- Клиентское устройство отправляет запрос к RADIUS-серверу — разрешён ли сотруднику доступ к определённому ресурсу.
- RADIUS-сервер проверяет личность пользователя, с помощью локальной базы данных, либо делегирует информацию поставщику удостоверений.
- Сервер возвращает информацию клиенту, что доступ пользователю предоставлен или запрещён.
Способы аутентификации
Протокол RADIUS не шифрует пакеты при обмене данными между клиентом и сервером. Но шифрует пароли. RADIUS поддерживает следующие протоколы аутентификации:
PAP (Password Authentication Protocol, аутентификация по паролю) — простой протокол проверки. Пароль шифруется с помощью общего секрета в пакете RADIUS.
CHAP (Challenge-Handshake Authentication Protocol, аутентификация с косвенным согласованием) — протокол использует механизм «вызов-ответ» и защищает пароль от перехвата. Сервер отправляет клиенту случайное значение — вызов, который содержит в себе открытый ключ. Клиент перенаправляет значение, вычисленное на основе секрета и открытого ключа, на сервер. На стороне сервера происходит сравнение результатов. Если значения совпадают, то проверка подлинности считается успешной.
EAP (Extensible Authentication Protocol), протокол расширенной проверки подлинности) — гибкий протокол, который поддерживает множество методов проверки подлинности: пароли, сертификаты, токены.
Чтобы добавить дополнительный уровень безопасности, можно объединить доступ по паролю с двухфакторной аутентификацией.
Двухфакторная аутентификация
Работа двухфакторной аутентификации в связке с RADIUS происходит в следующей последовательности:
- Сотрудник вводит учётные данные — имя пользователя и пароль в качестве первого фактора для получения доступа к корпоративной сети.
- Клиентское устройство отправляет запрос на аутентификацию к RADIUS-серверу.
- RADIUS-сервер отправляет данные, например, службе каталогов Active Directory.
- Если данные совпадают, RADIUS-сервер перенаправляет запрос на проверку второго фактора. В случае , сервер отправляет имя пользователя в API Kontur.ID.
- API отправляет уведомление на устройство сотрудника для подтверждения входа.
- Сотрудник подтверждает второй фактор.
- Если проверка второго фактора успешна, то сотрудник получает доступ к корпоративной сети.
Сочетания двух факторов аутентификации добавляет дополнительный уровень безопасности.
Недостатки протокола RADIUS
- Недостаточный уровень безопасности в некоторых реализациях. В случае использования нескольких промежуточных серверов RADIUS все они имеют возможность просматривать передающиеся через них аутентификационные данные - сертификаты и пароли.
- RADIUS, по крайней мере в его основной редакции, не имеет возможности отзыва ресурсов после того как авторизация была произведена. В некоторых случаях эта проблема решается производителем RADIUS-сервера самостоятельно.
- RADIUS это протокол без поддержки состояний. Он не сохраняет транзакционную информацию и не использует её в следующих сеансах.
- RADIUS имеет не всегда достаточный уровень масштабируемости.
Протокол TACACS+
Протокол TACACS+ (Terminal Access Controller Access Control System plus) —сеансовый протокол, разработан компанией Cisco и является развитием прошлых версий TACACS и XTACACS. Несмотря на схожесть названий, TACACS+ был сильно видоизменен и не имеет обратной совместимости с TACACS, который сейчас практически нигде не применяется. Основная сфера использования TACACS+ – это администрирование сетевых устройств, однако он может применяться для некоторых типов AAA при доступе в сеть.
Основные функции протокола:
- Аутентификация — процесс проверки подлинности пользователя.
- Авторизация — процесс предоставления пользователю прав на выполнение действий.
- Учёт — процесс записи информации об использовании ресурсов пользователем.
TACACS + использует Transmission Control Protocol (TCP) порт 49, а не UDP, так как он обладает большей надежностью и позволяет заранее получать информацию о потенциальных ошибках благодаря пакету TCP-RST. ТСP более медленный протокол, но обладает дополнительными преимуществами: возможность разделения аутентификации, авторизации и учета в качестве отдельных и независимых функций, множественная авторизация после одной аутентификации, шифрование всего содержимого пакета.
Основные характеристики RADIUS и TACACS+

Недостатки протокола TACACS+
При использовании протокола TACACS+ между клиентом и сервером не может быть брандмауэра, так как сервер должен получить запрос от клиента с его IP-адресом, а не с адресом брандмауэра. У RADIUS IP-адрес клиента содержится еще и в самом пакете, что позволяет ААА-серверу получить его оттуда.
Основные различия RADIUS и TACACS+
Основные различия сводятся к тому, что TACACS+ шифрует все содержимое пакета, оставляя только простой заголовок. Такой способ защищает от злоумышленников, которые прослушивают сообщения, передаваемые между устройствами. Также TACACS+ реализует функции AAA раздельно, что позволяет вынести каждую из них на отдельный сервер или даже использовать другой протокол (не TACACS+).
С сервером TACACS+ возможно реализовать управление командами с применением уровней доступа (которые далее настраиваются на самих устройствах). RADIUS позволяет частично реализовать эту возможность, но не так хорошо и гибко, как TACACS+.
Какой протокол для ААА-сервера использовать, необходимо выбирать в зависимости от задачи. Если это администрирование устройств, то TACACS+ станет лучшим вариантом, а если доступ к сети, то более универсальный и быстрый – RADIUS.
