Описание
Протокол TACACS+ предназначен для централизованной аутентификации и авторизации администраторов сетевого оборудования. Протокол позволяет выполнять авторизацию каждой выполняемой на сетевом устройстве команды. Так же он позволяет выполнять отправку сведений о выполняемых командах (аккаунтинг). NAICE может выступать в качестве сервера авторизации TACACS+. При взаимодействии сетевого оборудования с сервером по протоколу TACACS+ используется по умолчанию TCP порт 49. Данный порт должен быть доступен для подключения со стороны сетевого оборудования.
Для настройки взаимодействия потребуется выполнить следующие действия:
- Создать группу и пользователей (если предполагается использовать внутреннюю БД пользователей) или настроить внешний источник идентификаций.
- Включить использование протокола TACACS+ в профиле устройства.
- Добавить устройство с указанным профилем, указать пароль TACACS+ в настройках устройства.
- Создать и настроить профиль TACACS+ (можно использовать профили по умолчанию).
- Создать и настроить наборы команд TACACS+, разрешенных к выполнению на сетевом устройстве (опционально).
- Настроить политики сетевых устройств.
- Настроить на сетевом устройстве проверку подключения пользователей на сервере NAICE с использованием протокола TACACS+.
Требования и ограничения
- Функционал TACACS-сервера NAICE лицензируется отдельно и требует приобретения. Подробее в разделе: v0.8_2. Лицензирование.
- Поддерживаемые протоколы аутентификации: ASCII/PAP.
- Используемые сетевые устройства должны поддерживать взаимодействие по протоколу TACACS+.
- По умолчанию взаимодействие сетевых устройств с сервером авторизации выполняется по протоколу TCP порт 49. Данный порт должен быть открыт для взаимодействия со стороны сетевых устройств. Порт может быть глобально переопределен в настройках NAICE. Использовать несколько разных портов для взаимодействия нельзя.
- Смена пароля пользователя с использованием протокола TACAСS+ не поддерживается.
- Режим "Single Connection Mode" не поддерживается.
Настройка NAICE
Подробная информация о настройках для каждого раздела содержится во встроенной документации, которую можно просмотреть, нажав кнопку
вверху справа.Добавление группы пользователей
Перейти в раздел Администрирование → Управление идентификацией → Группы пользователей сети. Добавить группу с названием "Администраторы TACACS
":
Нажать кнопку Добавить.
Добавление пользователя во внутренний источник идентификации
Перейти в раздел Администрирование → Управление идентификацией → Пользователи сети. Добавить пользователя, указав его имя и пароль:
Чтобы добавить пользователя в ранее созданную группу "Администраторы TACACS
" необходимо в блоке "Группы пользователя" нажать на и в открывшемся модельном окне выбрать группу и нажать , в результате чего группа переместиться направо в "Выбранные*":
Нажать Добавить. В результате назначенная группа начнет отображаться в блоке "Группы пользователя". Нажать Добавить, что бы сохранить пользователя во внутренний источник идентификации.
Подготовка профиля устройства
Перейти в раздел Администрирование → Сетевые ресурсы → Профили устройств. Создать или отредактировать существующий профиль устройства, включив в нем использование протокола TACACS+ в блоке "Поддерживаемые протоколы":
Нажать кнопку Сохранить.
Настройка сетевого устройства
Перейти в раздел Администрирование → Сетевые ресурсы → Устройства. Создать или отредактировать существующее сетевое устройство, указав пароль TACACS+, который будет использоваться данным устройством:
Секретный ключ
". Нажать Сохранить. Пароль, который будет использоваться для взаимодействия по протоколу TACACS+, необходимо указать в блоке настроек "Настройки аутентификации TACACS+" в поле "
Настройка политик сетевых устройств
Перейти в раздел Контроль сетевых устройств → Политики сетевых устройств. После установки в наборе есть только одна политика по умолчанию Default
. Её нельзя удалить и она всегда будет последней в списке политик.
В данной политике можно изменить или добавить политика аутентификации и авторизации, или же создать новую. Нажать в политике справа и провалиться в политику.
Политика аутентификации по умолчанию используется цепочку Default sequence, в которую по умолчанию добавлен внутренний источник идентификации Internal DB
.
В блоке "Политика авторизации" нажать слева кнопку Условия*:
откроется модальное окно редактора условий: : сверху (то есть с наибольшим приоритетом) добавиться новая политика авторизации. Нажать на в колонке
User identity·Identity Group Равно Администраторы TACACS
" и нажать Использовать внизу в правой части окна. После этого модальное окно закроется, а условия появится в колонке Условия*.
Задать условие: "
При необходимости можно сохранить условие в библиотеке. Для этого надо нажать кнопку Сохранить. Данное действие не является обязательным.
В колонке "Профиль TACACS*
" выбрать системный профиль "Maximum privilege
". Этот профиль предполагает, что по умолчанию администратор устройства будет авторизован с уровнем привилегий 15. Вы можете добавить собственный профиль с другим поведением и использовать его.
В колонке "Набор команд TACACS*
" выбрать системный набор "Allow all
". Данный набор команд предполагает разрешение выполнения на устройстве любой команды с любыми аргументами. Вы можете добавить собственный набор команд с другими настройками и использовать его.
Нажать кнопку Сохранить, которая станет доступна после выполнения всех необходимых настроек.
В итоге будет настроена политика авторизации, которая позволяет выполнять подключение с максимальным уровнем привилегий к сетевым устройствам пользователей из внутреннего источника идентификации, которые находятся в группе "Администраторы TACACS
", и разрешает для них выполнение любой команды.
Настройка сетевого устройства
Возможно взаимодействие с сетевыми устройствами любых производителей, которые поддерживают протокол TACACS+.
Далее рассматривается настройка для популярных моделей сетевого оборудования Eltex. Получить полную информацию по возможностям сетевого оборудования компании Eltex можно на сайте https://eltex-co.ru/ в разделе Поддержка
.
Настройка коммутаторов семейства MES23XX/MES2300-XX
Предполагается, что минимально необходимая конфигурация (IP-адрес, vlan) на коммутаторе уже настроена и есть IP-связность с сервером NAICE.
Настройка авторизации и аутентификации
Указать IP-адрес NAICE в качестве TACACS сервера, при этом key
должен совпадать с ключом, указанным в настройках устройства в NAICE:
tacacs-server host 192.168.0.1 key testing123
Указать протокол аутентификации и авторизации TACACS как основной:
aaa authentication login authorization default tacacs local
Данных настроек минимально достаточно для возможности авторизации по протоколу TACACS+.
Настройка аутентификации команды повышения уровня привилегий enable через TACACS сервер
Выполнить команду:
aaa authentication enable default tacacs
Настройка авторизации команд
Выполнить команду:
aaa authorization commands default group tacacs+ local
Настройка отправки accounting событий аутентификации и авторизации TACACS
Отправлять аккаунтинг событий подключения пользователей:
aaa accounting login start-stop group tacacs+
Отправлять аккаунтинг событий выполняемых команд:
aaa accounting commands stop-only group tacacs+
Настройка коммутаторов семейства MES24XX
Предполагается, что необходимая конфигурация (IP-адрес, vlan) на коммутаторе уже настроена и есть IP-связность с сервером NAICE.
Настройка авторизации и аутентификации
Указать IP-адрес NAICE в качестве TACACS сервера, при этом key
должен совпадать с ключом, указанным в настройках устройства в NAICE:
tacacs-server host 192.168.0.1 key testing123
Указать протокол аутентификации и авторизации TACACS как основной:
aaa authentication default tacacs local
Данных настроек минимально достаточно для возможности авторизации по протоколу TACACS+.
Настройка метода аутентификации
По умолчанию данный тип коммутаторов использует метод аутентификации PAP, который задается командой:
tacacs-server authentication type pap
Чтобы включить метод аутентификации ASCII необходимо выполнить команду:
tacacs-server authentication type ascii
Настройка авторизации команд
На коммутаторах данной серии требуется включать авторизацию команд для каждого уровня привилегий. По умолчанию все команды распределены по уровням 1,7,15.
Выполнить команды:
aaa authorization command 1 tacacs local aaa authorization command 7 tacacs local aaa authorization command 15 tacacs local
Просмотр событий TACACS
Для мониторинга событий аутентификации и авторизации TACACS необходимо открыть раздел Мониторинг → TACACS+ → Журнал подключений.
В данном разделе отображаются события аутентификации и авторизации. Информация о возможных действиях содержится во встроенной документации, которую можно просмотреть, нажав кнопку
вверху справа.Информация о событиях аутентификации и авторизации сохраняется в БД с задержкой, по умолчанию интервал равен 60 с. Данные в таблице вычитываются из БД, поэтому события на странице могут отображаться с задержкой.
События TACACS+ типа accounting не отображаются в журнале подключений.
Для просмотра подробной информации о событии необходимо нажать на кнопку Подробнее
для требуемого события. В новой вкладке браузера откроется окно с подробной информацией:
Отправка событий accounting на сторонний syslog сервер
Возможна настройка отправки событий аккаунтига в формате syslog
на сторонний сервер.
Возможны два варианта задания настроек отправки логов на syslog сервер, которые будут рассмотрены далее.
Настройка через файл .env
Настройки выполняются в переменных в файле .env
в папке установки NAICE (по умолчанию - /etc/docker-naice
):
SYSLOG_ENABLED: false SYSLOG_HOST: 127.0.0.1 SYSLOG_PORT: 514 SYSLOG_FACILITY: AUTHPRIV SYSLOG_LEVEL: INFO
В переменной SYSLOG_HOST
нужно указать адрес syslog-сервера, на который будет выполняться отправка, а также включить отправку логов с помощью SYSLOG_ENABLED: true
. При необходимости можно изменить остальные переменные. После этого в папке установке NAICE (по умолчанию - /etc/docker-naice
) выполнить перезапуск TACACS-сервера с помощью команды:
sudo docker compose down naice-aquila && sudo docker compose up -d naice-aquila
Если используется схема с резервированием NAICE, необходимо применить настройку на каждом сервере где развернут NAICE.
Перезапуск сервиса может занять несколько секунд. В это время авторизация пользователей по протоколу TACACS+ выполняться не будет.
Настройка с использованием плейбуков ansible
В файле переменных плейбука group_vars/all.yml
изменить настройки:
syslog_enabled: true syslog_host: <IP-адрес syslog-сервера> syslog_port: 514 syslog_facility: AUTHPRIV syslog_level: INFO
Выполнить плейбук:
- для однохостовой установки:
ansible-playbook install-naice.yml
- для установки с резервированием:
ansible-playbook reservation-naice-services.yml -i hosts-cluster.yml
При выполнении плейбука будет выполнен перезапуск всех сервисов NAICE. Это может знать несколько минут. В это время авторизация пользователей по протоколам RADIUS и TACACS+ выполняться не будет!
Вопросы и ответы
Как выдать разные привилегии разным пользователям?
Создать две разные группы и поместить в них пользователей согласно требуемым уровням привилегий. Пример:
tacacs.user
находиться в группе "Администраторы TACACS
".tacacs.user2
находится в группе "Пользователи TACACS
".
Открыть раздел Контроль сетевых устройств → Элементы политик → Профили TACACS. Создать профиль "tacacs privilige 7
":
Указать "Уровень привилегий по умолчанию
" 7. Нажать Добавить.
Перейти в раздел Контроль сетевых устройств → Политики сетевых устройств. Перейти в настройки политики, в которой требуется выдавать разные уровни привилегий и добавить две политики авторизации:
В первой политике авторизации настроить условие "User identity·Identity Group равно
Администраторы TACACS
", использовать профиль "TACACS Maximum Privilege
" и "Набор команд TACACS*
" "Allow all
".
Во второй политике авторизации настроить условие "User identity·Identity Group равно Пользователи
TACACS
", использовать профиль "tacacs privilige 7
" и "Набор команд TACACS*
" "Allow all
".
Нажать Сохранить.
Для проверки корректности настройки пройти авторизацию под разными добавленными пользователями и убедиться, что каждому выдается указанный уровень привилегий.
Как настроить отправку дополнительных атрибутов?
Открыть раздел Контроль сетевых устройств → Элементы политик → Профили TACACS. Создать профиль "Extra attrs"
:
В профиле авторизации указать: "Уровень привилегии по умолчанию
".
Нажать кнопку в блоке "Пользовательские атрибуты", указать имя и значение параметра. В приведенном примере задано два параметра: acl=test и timeout=60.
Можно просмотреть и отредактировать передаваемые атрибуты во вкладке "Передаваемые параметры
" рядом с "Атрибуты
":
Нажать кнопку Добавить.
Перейти в раздел Контроль сетевых устройств → Политики сетевых устройств. Провалиться в политику, в которой требуется выдавать разные уровни привилегий, и настроить политику авторизации:
В политике авторизации оставить ранее настроенное условие условие, использовать созданный выше профиль профиль "Extra attrs
", в "Набор команд TACACS*
" указать "Allow all
".
Пройти авторизацию на сетевом устройстве и проверить, что отправляемые атрибуты применяются.
Сетевое оборудование должно поддерживать обработку выдаваемых атрибутов!
Как настроить разрешение или запрет выполнения команд по TACACS?
Для работы данного функционала требуется настроить авторизацию команд на сетевом устройстве!
Для настройки разрешения или запрета выполнения команд на устройстве необходимо создать списки таких команд, называемые в NAICE наборами команд.
Настройка наборов команд выполняется в разделе Контроль сетевых устройств → Элементы политик → Наборы команд TACACS. Добавить новый набор команд с именем "restrict 1":
В приведенном выше примере настроено следующее:
- разрешены к выполнению:
- все команды просмотра, за исключением
show running-config
иshow startup-config
; - команда
exit
; - переход в режим конфигурации и выполнение любых настроек на интерфейсах типа
GigabitEthernet
;
- все команды просмотра, за исключением
- все остальные команды запрещены.
Более подробно настройка наборов команд и ее принципы описаны во встроенной документации, которую можно просмотреть, нажав кнопку
вверху справа.Перейти в раздел Контроль сетевых устройств → Политики сетевых устройств. Перейти в настройку политики, в которой требуется использовать настроенный ранее набор команд, и настроить в политике авторизации:
В политике авторизации оставить ранее настроенное условие условие, использовать профиль "TACACS Maximum Privilege
" и в "Набор команд TACACS*
" указать ранее созданный набор "restrict 1
".
Пройти авторизацию на сетевом устройстве и проверить, что можно выполнять только разрешенные команды.
Как настроить получение администраторов из Active Directory?
Настройка внешнего источника идентификаций не имеет особенностей и выполняется обычным образом. Настроить внешний источник идентификации согласно инструкции Создание источника идентификации и добавить необходимые для использования в условиях группы согласно инструкции Добавление групп.
Создать цепочку источников идентификаций, в которой будет использоваться новый источник идентификаций.
Перейти в раздел Контроль сетевых устройств → Политики сетевых устройств. Перейти в настройку политики, в которой требуется использовать настроенный ранее набор команд, и настроить политики аутентификации и авторизации:
В в блоке "Политика аутентификации
" выбрать для политики по умолчанию "Цепочка идентификации*
" ранее созданную цепочку идентификации, содержащую Active Directory как внешний источник пользователей.
В блоке "Политика авторизации
" добавить новое правило и настроить его:
- в колонке "
Условия*
" указать условие с использованием группы, полученной из Active Directory, членам которой требуется разрешить авторизацию, например: "AD·ExternalGroups Равно CN=TACACS admin,CN=Users,DC=test,DC=loc
"; - в колонке "
Профиль TACACS*
" выбрать требуемый профиль, например "TACACS Maximum Privilege
". - в колонке "
Набор команд TACACS*
" выбрать требуемый набор команд, например "Allow all
".
Нажать Сохранить для применения новых настроек.
Пройти авторизацию на сетевом устройстве пользователем из Active Directory, который является членом выбранной в условии группы и убедиться, что авторизация проходит успешно.