RADIUS и TACACS+: настройка AAA, FreeRADIUS и Eltex ESR — эфир CyberED - CyberED
Повышение цен ▲
на все программы в 2026 году
Интенсивы Взлом Защита Безопасная разработка Основы
Мероприятия Календарь О нас Отзывы
+7 495 181-00-79
+7 495 181-00-79
заказать звонок

Безопасный доступ к сети компании

Тема:Защита и инфраструктура
Когда прошло 1 октября2 ч 38 мин611 участников
Андрей Шабалин
Андрей Шабалин
Инструктор Академии Eltex и Астра Университета

О чём эфир

Посмотришь по шагам, как закрыть доступ к сетевому оборудованию. Всё на маленьком стенде в GNS3: Windows, Debian и маршрутизатор Eltex.

Сначала база: SSH для удалённого управления, модель AAA и чем RADIUS отличается от TACACS+.

Дальше практика: FreeRADIUS на Debian, пользователь с 10-м уровнем привилегий, подключение Eltex к серверу и вход по SSH через RADIUS. Узнаешь, что станет с доступом, если RADIUS недоступен, и как подготовить аварийный вход заранее.

В конце коротко про 802.1X на порту и ответы на вопросы: отечественное оборудование, книги по сетям, мониторинг, OSPF и BGP.

Забери материалы эфира

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

Скачать материалы

Разбор эфира по темам

Удалённое управление по SSH: почему консоли и локальных учёток мало

Первую настройку маршрутизатора делают через консольный порт: ноутбук, короткий кабель, работа прямо в серверной. Для старта надёжно, для постоянной работы неудобно. Поэтому для сетевого оборудования включают удалённое управление, и стандартом здесь давно стал SSH. Трафик шифруется: при первом подключении клиент принимает публичный ключ сервера, приватный остаётся на устройстве, и в Wireshark вместо команд видны только зашифрованные пакеты.

SSH шифрует трафик между клиентом и сервером
SSH шифрует трафик между клиентом и сервером

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

Если заводить пользователей на каждой железке, увольнение одного техника превращается в обход всего парка.

Что такое AAA: аутентификация, авторизация и учёт

Модель AAA разбивает подключение к сетевому устройству на три шага.

Модель AAA по шагам
Модель AAA по шагам

Классический способ аутентификации: логин и пароль. Права после проверки у главного инженера и техника разные, а журнал учёта показывает, кто подключился, когда, с какого IP-адреса и когда отключился.

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

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

Андрей Шабалин

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

RADIUS и TACACS+: в чём разница

Протоколов для централизованной AAA три: RADIUS, Diameter и TACACS+. Все описаны в RFC, поэтому их реализуют разные вендоры. Diameter развивает RADIUS, но встречается реже. TACACS изначально придумала Cisco, стандартом стала версия TACACS+.

Сравнение TACACS+ и RADIUS
Сравнение TACACS+ и RADIUS

Главное для практики: RADIUS, подтверждая пароль, сразу присылает права, а TACACS+ проверяет каждую команду администратора и может записать её в журнал. Если в RADIUS нужно шифровать всё, а не только пароль, добавляют TLS.

Отсюда формула: RADIUS для сетевого доступа, TACACS+ для администрирования.

На TACACS+ построены крупные платные решения, например Cisco ISE. Самый известный RADIUS-сервер FreeRADIUS, на Windows Server есть роль NPS. Открытая реализация TACACS+ называется tac_plus: проект забрасывали, но в 2026 году снова начали выпускать версии. В пакетах Debian его нет, собирать из исходников.

Как работает протокол RADIUS: NAS, запросы и атрибуты

Устройство, которое пересылает запрос к RADIUS-серверу (маршрутизатор, коммутатор, межсетевой экран), называют NAS, Network Access Server. Его не стоит путать с сервером AAA. Обмен выглядит так:

Как NAS проверяет вход через RADIUS-сервер
Как NAS проверяет вход через RADIUS-сервер
  1. 1

    Пользователь подключается к NAS по SSH и вводит логин и пароль.

  2. 2

    NAS отправляет серверу Access-Request.

  3. 3

    Сервер отвечает Access-Accept или Access-Reject, а в Accept сразу кладёт права.

  4. 4

    После входа NAS шлёт Accounting-Request со статусом Start, сервер подтверждает Accounting-Response.

  5. 5

    При выходе уходит такой же запрос со статусом Stop. В журнале две записи: начало и конец работы.

Данные упакованы в атрибуты формата TLV: тип, длина, значение. Номера, которые полезно узнавать в дампе: 1 имя пользователя, 2 пароль, 4 IP-адрес NAS, 6 тип услуги, 40 учёт. Стандартных атрибутов вендорам не хватило, поэтому им отдали 26-й, Vendor-Specific. У Cisco внутри него Cisco-AVPair, и Eltex использует тот же атрибут для выдачи и повышения прав. Число 9 рядом в дампе означает идентификатор вендора Cisco.

Настройка Eltex ESR: commit, confirm и уровни привилегий

Стенд собран в GNS3 и VirtualBox: Windows 10, Debian и виртуальный маршрутизатор Eltex ESR. Виртуальная версия годится для обучения, но скорость интерфейсов в ней ограничена 1 Мбит/с.

Группы привилегий Eltex
Группы привилегий Eltex

У ESR Cisco-подобная командная строка, логин и пароль по умолчанию admin/password.

Главное отличие ESR от Cisco: изменения не применяются на лету.

  • Команды попадают в кандидат-конфигурацию. Работающая видна в show running-config, кандидат в show candidate-config, разница в show configuration changes.
  • commit применяет изменения и сразу сохраняет их на флешку. У Cisco running-config живёт в оперативной памяти.
  • После commit есть 600 секунд на confirm, иначе конфигурация откатится к предыдущей.
  • Коммитить достаточно после осмысленного блока, не после каждой команды.

Если пинг в одну сторону проходит, а в обратную нет, скорее всего трафик режет межсетевой экран. На ESR он встроенный, на учебном стенде его отключают командой ip firewall disable.

Права раздаются уровнями привилегий, как у Cisco: чем выше уровень, тем больше прав. С 4-м доступен только базовый мониторинг, с 15-м всё. В справочнике команд ESR (около 1600 страниц) у каждой команды указан нужный уровень, почти вся конфигурация требует 10-го. Рабочая схема для инженера: 10-й уровень по умолчанию, а для перезагрузки или обновления он временно поднимает права до 15-го командой enable и отдельным паролем. Пароль секретный, ведь любой, кто его знает, получает 15-й уровень. На 10-м команд reload и poweroff нет даже в подсказке, после enable они появляются.

Настройка FreeRADIUS на Debian

RADIUS-сервер для стенда поднимают на Debian за три шага.

  1. 1

    Установить freeradius через apt и проверить systemctl status freeradius: служба активна и в автозагрузке.

  2. 2

    Убедиться, что открыты UDP-порты 1812 и 1813.

  3. 3

    Открыть конфигурацию в /etc/freeradius/3.0/: нужны два файла, clients.conf и users.

В clients.conf описывают устройства, которым разрешено обращаться к серверу. По умолчанию там только localhost. Для маршрутизатора указывают IP-адрес и, главное, общий секрет. Запросы с других адресов или с другим секретом сервер игнорирует. Связность нужна только между маршрутизатором и RADIUS, компьютеру администратора доступ к серверу не нужен.

В users описывают пользователей. Источником учёток может быть этот файл, пользователи Linux, SQL-база, LDAP или Active Directory. Пользователю задают пароль, тип услуги (административный доступ) и уровень привилегий через Cisco-AVPair. После правок systemctl restart freeradius: если служба поднялась без ошибок, конфигурация её устраивает. Для проверки сервера есть утилита radtest.

Подключаем маршрутизатор к RADIUS-серверу и проверяем вход

По умолчанию на ESR (show aaa authentication) один список методов аутентификации default с локальной проверкой. ESR знает четыре метода: локальная база, RADIUS, TACACS+ и LDAP, их можно комбинировать. Настройка по шагам:

  1. 1

    Список для входа (aaa authentication login): сначала radius, потом local.

  2. 2

    Такой же для повышения прав (aaa authentication enable): сначала radius, потом локальный пароль enable.

  3. 3

    На линии SSH привязать оба списка через login authentication и enable authentication.

  4. 4

    Описать radius-server host с адресом Debian, key с тем же секретом, что в clients.conf, и адрес источника, чтобы маршрутизатор явно передавал свой IP.

  5. 5

    Включить учёт: aaa accounting login start-stop radius. Локально учёт на ESR не ведётся.

Если закоммитить списки методов раньше, чем описан RADIUS-сервер, ESR откажется применять конфигурацию.

Проверка с фильтром radius в Wireshark. Пользователя tech на маршрутизаторе нет, он есть только на сервере. При входе уходит Access-Request с именем, зашифрованным паролем и адресом клиента, возвращается Access-Accept с 10-м уровнем в 26-м атрибуте, дальше Accounting Start, после exit Stop. На сервере в /var/log/freeradius/radacct/ появляется папка с IP-адресом маршрутизатора и файл за текущую дату с каждым входом и выходом. Несуществующий пользователь получает Access-Reject, и в учёт такие попытки не попадают: он начинается только после успешного входа. Отказы можно собирать через syslog.

Аварийный доступ, если RADIUS недоступен, и ловушка режима chain

Вопрос для самопроверки: RADIUS работает, в списке сначала radius, потом local. Пустит ли ESR локального admin с правильным паролем? Большинство отвечает нет, а ESR пускает.

Причина в режиме по умолчанию chain: методы проверяются по цепочке. RADIUS отвечает Reject, такого пользователя у него нет, и маршрутизатор идёт в локальную базу. В Cisco логика другая, режим break: локальная учётка срабатывает, только когда сервер не отвечает. На ESR это включается командой aaa authentication mode break. После неё Reject останавливает проверку, а локальный вход работает, только если до RADIUS нет связи и запросы уходят без ответа.

Если RADIUS отказывает, у вас должна быть запасная лазейка. Нужна учётная запись-заглушка с 15-й привилегией, под которой вы при любых условиях сможете подключиться к устройству.

Андрей Шабалин
  • Без local в списке методов при падении RADIUS на устройство не попасть вообще.
  • Можно поднять два RADIUS-сервера с приоритетами, например 100 и 200. Не ответивший сервер NAS помечает как мёртвый, скажем на 5 минут, и шлёт запросы следующему.
  • Чаще всего запасным вариантом остаётся локальная учётка.

Без запасного входа оставаться нельзя.

Что такое 802.1X и что изучать по сетям дальше

802.1X тоже работает через RADIUS, но проверяет подключение к сети. Это функция коммутаторов, аутентификация на порту: порт заблокирован, пока компьютер не пройдёт проверку, нельзя даже получить адрес по DHCP. Сетевая карта отправляет логин и пароль, коммутатор превращает их в RADIUS-запрос, сервер одобряет, порт открывается.

Функции систем контроля доступа (NAC)
Функции систем контроля доступа (NAC)
  • Для стенда GNS3 проще и легче по ресурсам, чем EVE-NG и PNETLab.
  • Из книг по сетям начинать лучше с практических вендорских гайдов уровня Cisco CCNA, Таненбаума читать позже.
  • Для корпоративных сетей стандарт OSPF, BGP уже продвинутый уровень.
  • Suricata стала стандартом среди систем обнаружения вторжений: на ESR функция security ips работает на ней.

Если вы понимаете, как работают технологии на Cisco, переехать на условный MikroTik труда не составит. Когда есть понимание вещей, вендор не является проблемой.

Андрей Шабалин

Для любого направления в ИБ нужен один фундамент: как работают сети, Linux, Windows и средства защиты информации.

Ещё эфиры по теме