Учётные записи сетевого оборудования централизованно: TACACS+, RADIUS и аварийный доступ

0
9
Обложка статьи: Учётные записи сетевого оборудования централизованно: TACACS+, RADIUS и аварийный доступ

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

Конфигурации самих устройств надо хранить и проверять: Oxidized. Базовая настройка защиты оборудования: hardening коммутатора. RADIUS для контроля доступа к сети: 802.1X.

Как это устроено

Учётные записи сетевого оборудованияАдминистратор входит на устройство, оно обращается к серверу TACACS+ или RADIUS, который проверяет пользователя в каталоге и пишет журнал команд.Администраторименнаяучётка и MFAУстройствокоммутатор,маршрутизаторTACACS+аутентификация,права икомандыКаталогпользователии группыЖурналкто, где,что выполнилЛокальная аварийная учётка остаётся на каждом устройстве, пароль хранится всейфе и проверяется раз в квартал.
Централизованная схема даёт именной вход, одно место отзыва и журнал команд.

AAA означает аутентификацию (кто входит), авторизацию (что ему можно) и учёт (что он делал). Именно третья часть делает схему полезной при расследовании: видно, кто и какие команды выполнил на устройстве.

RADIUS или TACACS+

RADIUS TACACS+
Для чего задуман Доступ в сеть (802.1X, VPN, Wi-Fi), годится и для входа администратора Администрирование устройств
Авторизация команд Ограничена: уровень привилегий при входе Каждая команда проверяется на сервере
Учёт Начало и конец сессии Каждая выполненная команда
Шифрование Только пароль Весь пакет
Когда выбрать Небольшая сеть, уже есть FreeRADIUS, оборудование разных производителей Нужны запись команд и ограничение команд по ролям, оборудование поддерживает

Для небольшой компании разумный путь: начать с RADIUS (он уже понадобился для 802.1X), добавив TACACS+ там, где нужен журнал команд. Оба протокола поддерживает большинство серьёзного сетевого оборудования; у дешёвых устройств поддержки может не быть, и это стоит учитывать при закупке.

Шаг 1. Сервер: FreeRADIUS для входа администраторов

Установка и базовая проверка описаны в статье про 802.1X. Для входа на оборудование добавьте устройства как клиентов (с собственным секретом для каждого) и опишите пользователей с уровнем привилегий. Файл /etc/freeradius/3.0/mods-config/files/authorize:

ivanov   Cleartext-Password := "ВРЕМЕННЫЙ_ПАРОЛЬ"
         Service-Type = Administrative-User,
         Cisco-AVPair = "shell:priv-lvl=15"

petrov   Cleartext-Password := "ВРЕМЕННЫЙ_ПАРОЛЬ"
         Service-Type = NAS-Prompt-User,
         Cisco-AVPair = "shell:priv-lvl=1"
sudo freeradius -CX | tail -n 2
sudo systemctl restart freeradius
radtest ivanov ВРЕМЕННЫЙ_ПАРОЛЬ 127.0.0.1 0 ЛОКАЛЬНЫЙ_СЕКРЕТ

Ожидаемо: Access-Accept с атрибутами привилегий. Пароли в файле годятся для проверки; в рабочей схеме пользователей берут из каталога (LDAP или AD через ntlm_auth), группы каталога сопоставляются с уровнями привилегий, а второй фактор проверяется сервером. Так отзыв доступа сводится к отключению учётной записи в каталоге.

Шаг 2. Настройка устройств

Синтаксис зависит от производителя; ниже два примера. Сначала переведите вход на RADIUS, оставив локальную учётную запись как запасной вариант: если сервер недоступен, устройство должно впустить вас по ней.

# коммутатор в синтаксисе Cisco IOS
aaa new-model
radius server RAD1
 address ipv4 192.0.2.60 auth-port 1812 acct-port 1813
 key ОБЩИЙ_СЕКРЕТ_ДЛЯ_ЭТОГО_УСТРОЙСТВА
aaa authentication login default group radius local
aaa authorization exec default group radius local
aaa accounting exec default start-stop group radius
ip ssh version 2
line vty 0 15
 transport input ssh
# MikroTik RouterOS
/radius add address=192.0.2.60 secret=ОБЩИЙ_СЕКРЕТ_ДЛЯ_ЭТОГО_УСТРОЙСТВА service=login
/user aaa set use-radius=yes accounting=yes default-group=read

Ожидаемо: вход по SSH под именной учётной записью проходит, права соответствуют группе, в журнале RADIUS появляются записи об аутентификации и об учёте сессии. Для TACACS+ на Cisco-подобных устройствах схема та же, но с командами tacacs server, aaa authorization commands 15 default group TACGROUP local и aaa accounting commands 15 default start-stop group TACGROUP: последние две строки включают проверку и учёт каждой команды. Сервер для TACACS+ выбирайте по поддержке вашей средой: открытых вариантов несколько, и их конфигурации сильно отличаются, поэтому сверяйтесь с документацией выбранного.

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

Шаг 3. Аварийная учётная запись

На каждом устройстве остаётся одна локальная учётная запись для случая, когда сервер недоступен. Правила обращения с ней:

  • Пароль длинный, уникальный для устройства, хранится в сейфе паролей или в запечатанном конверте, доступ к которому журналируется.
  • Входом пользуются только при сбое сервера. Любое использование аварийной записи — повод для записи в журнале и смены пароля после.
  • Раз в квартал проверяйте, что запись работает и пароль соответствует хранилищу: на каждом устройстве по очереди, в согласованное окно.
  • Остальные локальные учётные записи (старые пароли «admin» и имена сотрудников) удалите.

Шаг 4. Журнал и оповещения

Каждый вход и каждая выполненная команда должны оставлять след. Для RADIUS журнал учёта лежит в каталоге /var/log/freeradius/radacct/ по узлам, а неудачные входы в radius.log:

sudo grep -E "Login incorrect" /var/log/freeradius/radius.log | tail -n 10
sudo ls /var/log/freeradius/radacct/192.0.2.21/ | tail -n 3

Ожидаемо: список неудачных попыток с именем пользователя и адресом устройства и файлы учёта по каждому. Отправляйте эти журналы в SIEM и настройте оповещения на серию отказов и на использование аварийной учётной записи: журналы сетевых средств в Wazuh.

Шаг 5. Охват: все ли устройства на централизованной схеме

Если часть устройств остаётся на локальных паролях, схема не выполняется. Проверяйте по сохранённым конфигурациям (Oxidized держит их в Git): файл правил проверки из статьи про сканирование конфигураций:

{
  "must": ["aaa new-model", "aaa authentication login default group", "transport input ssh"],
  "forbid": ["username admin password", "transport input telnet", "enable password"]
}

Ожидаемо: скрипт проверки показывает устройства без нужных строк. Охват — доля устройств с централизованной аутентификацией от всего списка из реестра активов; цель — все критичные и не меньше девяти из десяти остальных. Ссылка на реестр: реестр ИТ-активов.

Какие артефакты хранить

Что хранить Что показывает
Документация системы: схема, список серверов, порядок восстановления Централизованное управление учётными записями сетевого оборудования внедрено
Выгрузка списка устройств на централизованной схеме и результат проверки конфигураций Охват и его регулярная проверка
Журналы входов и учёта команд за месяц Действия администраторов прослеживаются
Запись о проверке аварийных учётных записей за квартал Запасной вход не потерян и не стал лазейкой

Диагностика

Симптом Причина и что делать
Устройство не принимает именную учётную запись Не совпадает секрет или адрес устройства не внесён как клиент. Проверьте radius.log и freeradius -X
Вход проходит, но права минимальные Устройство не получило атрибут привилегий. Проверьте Cisco-AVPair и команды aaa authorization exec
Вход зависает на 30 секунд Сервер недоступен, устройство ждёт тайм-аут и идёт по локальной учётной записи. Проверьте связь и сократите тайм-аут
Остался общий пароль «admin» Устройство не вычищено. Удалите локальные записи, оставьте одну аварийную
Администраторы жалуются на неудобство Нет единого имени и пароля. Это и есть смысл: объясните, что входят под личной учётной записью

Где это в модели зрелости

Материал относится к направлению «Управление доступом» (хаб: управление доступом, карта: карта зрелости). На третьем уровне используются централизованные системы для управления учётными записями сетевого оборудования, включая хранение и контроль изменений. Демонстрация системы и её покрытия, техническая документация и журналы — подтверждения.

Как проверить

  1. Вход на тестовый коммутатор под именной учётной записью проходит, права соответствуют группе.
  2. При остановленном сервере вход по аварийной учётной записи работает.
  3. В журнале сервера видны вход и выполненные действия (для TACACS+ команды).
  4. На выборке устройств нет локальных учётных записей, кроме аварийной.
  5. Проверка конфигураций показывает охват не ниже заданного.

Источники

Комментарии закрыты.