Терминальная система контроля доступа пользователей

«Сравнение RADIUS и TACACS+ часто сводится к открытому стандарту против проприетарного, но реальный выбор — это компромисс между детальным учётом сетевых сессий и максимальной безопасностью админ-доступа к инфраструктуре. Первый протокол создан для учёта миллионов подключений, второй — для контроля каждого введённого администратором символа.»

В инфраструктуре управления доступом к сетевым устройствам и сервисам централизованные системы аутентификации, авторизации и учёта (AAA) вытеснили локальные базы пользователей на каждом устройстве. Подход AAA обеспечивает единую точку контроля, упрощает управление учётными записями и позволяет вести консолидированный журнал действий. Для взаимодействия устройств с AAA-сервером используются два основных протокола: RADIUS и TACACS+.

Архитектурные отличия: учёт сессий против контроля команд

Ключевое различие между RADIUS и TACACS+ лежит в их исходном предназначении, которое определило архитектуру.

RADIUS (Remote Authentication Dial-In User Service) изначально проектировался для массовой аутентификации удалённых пользователей, подключающихся по dial-up. Его задача — проверить логин и пароль, выдать параметры сессии (например, IP-адрес) и аккуратно записать факт начала и окончания соединения. Поэтому RADIUS объединяет этапы аутентификации и авторизации в едином запросе, но выделяет учёт в отдельный поток. Это сделало протокол эффективным для учёта большого количества сетевых сессий, но менее гибким для сложных сценариев контроля доступа.

TACACS+ (Terminal Access Controller Access-Control System Plus), в свою очередь, был создан для контроля доступа к сетевым устройствам, таким как маршрутизаторы и коммутаторы. Его архитектура строго разделяет три функции AAA. Аутентификация (кто вы?), авторизация (что вам можно делать?) и учёт (что вы сделали?) выполняются независимыми сессиями. Это позволяет, например, использовать один источник для проверки пароля (Active Directory), а другой — для проверки прав на выполнение конкретных команд (локальная база TACACS+). Главное преимущество — гранулярный контроль на уровне каждой команды.

Безопасность передачи данных

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

RADIUS шифрует только поле с паролем в пакете запроса на доступ (Access-Request). Имя пользователя, назначенные атрибуты сервиса (например, VLAN, ACL), а также все сообщения учёта передаются в открытом виде. Это делает протокол уязвимым к пассивному прослушиванию трафика, когда злоумышленник может узнать, кто из администраторов и к каким устройствам подключается.

Детальное сравнение протоколов

Критерий TACACS+ RADIUS
Модель AAA Полное разделение аутентификации, авторизации и учёта. Независимые сессии. Совмещение аутентификации и авторизации. Учёт выделен отдельно.
Транспортный протокол TCP (порт 49). Гарантированная доставка, управление сессией. UDP (порты 1812/1813 или 1645/1646). Меньшие накладные расходы, но нет гарантий доставки.
Шифрование Всё тело пакета. Только атрибут с паролем в запросе доступа.
Гранулярность авторизации Контроль на уровне команд (command authorization). Можно разрешить или запретить конкретные команды для пользователя или группы. Авторизация на уровне сессии. Нет контроля выполнения отдельных команд на устройстве.
Поддержка CHAP Двусторонняя аутентификация (mutual challenge-response). Односторонняя аутентификация (сервер проверяет клиента).
Учёт (Accounting) Менее развит, ориентирован на логирование фактов доступа и введённых команд. Очень развит. Оптимизирован для детального учёта параметров сетевых сессий (время, трафик, сервисы).
Стандартизация Фактический стандарт Cisco (опубликован как открытая спецификация IETF draft). Открытый стандарт (RFC). Широкая поддержка у вендоров.

Контекст выбора для российских реалий

Выбор протокола часто определяется не только техническими особенностями, но и регуляторными требованиями. При построении систем защиты информации, подпадающих под действие 152-ФЗ и приказов ФСТЭК, ключевыми становятся требования к контролю доступа привилегированных пользователей и учёту их действий.

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

RADIUS, несмотря на слабое шифрование, остаётся незаменим для сценариев массового доступа: аутентификации пользователей корпоративного Wi-Fi, VPN или портала самообслуживания. Его развитые возможности учёта (Network Accounting) идеально подходят для биллинга или анализа сетевой активности.

В современных реалиях часто используется гибридный подход: TACACS+ для административного доступа к критической инфраструктуре (маршрутизаторы, коммутаторы, межсетевые экраны), а RADIUS — для контроля доступа конечных пользователей к сетевым сервисам.

Учёт (Accounting) как основа для аудита

Функция учёта в AAA — это основа для анализа инцидентов и проверок. Она не просто регистрирует факт входа, но и детально фиксирует действия пользователя внутри сессии. Это критически важно для соответствия требованиям регуляторов по хранению и защите журналов аудита.

AAA-учёт можно разделить на несколько типов, каждый из которых фиксирует определённый слой активности:

  • Учёт сессий (EXEC Accounting): записывает начало и окончание сеанса пользователя на устройстве (например, подключение по SSH), имя пользователя, IP-адрес.
  • Учёт команд (Command Accounting): фиксирует каждую команду, введённую в интерфейсе командной строки, с отметкой времени и уровнем привилегий. Это ключевой тип учёта для TACACS+.
  • Сетевой учёт (Network Accounting): собирает данные по сетевым соединениям (PPP, VPN) — объём переданных данных, длительность сессии.
  • Учёт соединений (Connection Accounting): логирует установление всех исходящих соединений с устройства (например, Telnet с маршрутизатора на внешний хост).
  • Системный учёт (System Accounting): фиксирует события уровня системы, такие как перезагрузка или изменение конфигурации протокола учёта.

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

Оставьте комментарий