[Из песочницы] Графический интерфейс к демону tacacs — TacacsGUI
Хочу представить вам графический интерфейс для демона tacacs (ссылка в конце поста). К счастью или к сожалению, я разработчик этого проекта, на который было потрачено около 3-х месяцев. Этот проект ориентирован на Cisco устройства, и не тестировался на устройствах других производителей (но как утверждает man tacacs, есть поддержка и других производителей, например, Juniper).
Давайте разберемся, что же этот «интерфейс» (дальше TacacsGUI) умеет:
- Умеет создавать конфигурацию для демона tacacs, это основная цель создания проекта. TacacsGUI не просто создает конфигурацию, он упрощает настройку tacacs — автоматическое шифрование паролей (к сожалению, tac_pwd умеет только des), настройка правил доступа для группы пользователей, предварительный просмотр и мини-debug, на случай ошибок в конфигурации. На данный момент, нет поддержки LDAP, групп и еще некоторых полезностей.
- TacacsGUI так же оснащен некоторыми полезными утилитами, все они работают с базой данных устройств, которая используется для создания файла конфигурации tacacs. Каждая утилита имеет своего пользователя, с определенными правами доступа, по умолчанию пользователи выключены. Начнем с первой утилиты — Backup Maker. Сразу из названия можно догадаться, для чего предназначена эта утилита. Следует отметить, что работает она исключительно с Cisco устройствами (как и все остальные утилиты). Backup Maker делает резервное копирование с преднастроенной периодичностью, на оборудовании выполняется команда
copy startup-config tftp:
, при этом есть возможность сохранить конфигурацию перед резервным копированием. К сожалению, пока что TFTP-сервером должен выступать сам сервер TacacsGUI, который собирает все бэкапы в удобную базу данных (ИМХО). Есть возможность автоматически сливать все резервные копии, но об этом в отдельном пункте (предпоследний пункт). - Subnet Searcher — еще одна утилита, которая помогает определить настроенные подсети на устройствах, так же есть возможность угадывать номер Vlan для подсети. Немного подробнее о работе утилиты. Subnet Searcher заходит на устройство и выполняет команду
show runn | in (rface|dress|encap)
, основываясь на информации о ip адресе и маске подсети (secondary ip так же учитываются) вычисляется номер подсети, если интерфейс называется Vlan или есть строчка encapsulation, то определяется vlan. В итоге, мы получаем базу данных известных подсетей в сети + номер Vlan (если был замечен) + для каждой подсети имеется список участников. - CDP MapMaker — утилита, которая строит топологию сети основываясь на информации полученной от CDP. Эта утилита использует туже JavaScript библиотеку (jsPlumb), что и UNetLab (очень крутой эмулятор), так что есть некоторые сходства. На самом деле эта утилита делиться на два «движка»: CDP Search и MapMaker. CDP Search собирает информацию со всех устройств и создает временную базу данных, которую в дальнейшем использует MapMaker. Помимо автоматического создания топологии, существует возможность ручного добавления элементов сети и установки связей. Так же есть экспорт, но только в XML файл, которой можно открыть при помощи сервиса draw.io.
- Есть возможность создания пользователей для управления TacacsGUI, пока что без разграничения прав доступа. Ведется логгирование действий пользователя, и попыток несанкционированного доступа. Так же есть возможность делать резервную копию всех настроек, файла конфигурации tacacs и всех резервных копий, сделанных при помощи Backup Maker, при этом есть выбор куда (FTP, SCP, Win Share) и когда сливать backup.
- Естественно информация, которая храниться на этом сервере, должна передаваться между пользователем и сервером по https. Настроить https очень просто, при помощи представленного на сайте скрипта. Так же, если вы хотите, что бы у вас https светился «зелененьким», надо сделать DNS запись для вашего сервера — tacacs.gui и установить корневой сертификат, подробнее на сайте.
На данный момент система тестировалась в лабораторке, созданной при помощи UNetLab, а также была развернута на одном из предприятий. Проект остается «жиденьким», есть что доделать/переделать/улучшить, но он работает. Еще в планах сделать Path Searcher — утилита, которая основываясь на информации, полученной из CDP MapMaker и Subnet Searcher, будет рисовать маршрут между двумя узлами в сети, и это будет не просто трассировка, т.к. на схеме будут присутствовать коммутаторы и прочие устройства, которые моли быть добавлены пользователем вручную. Вдобавок планируется написать «движок», который будет анализировать ACL, таким образом, на схеме в Path Searcher будет появляться информация по какому правилу был пропущен/заблокирован пакет. Но пока что это только в планах.
Если вы стали счастливым пользователем и нашли баг или «очепятку» (английский у меня не идеален), то можете воспользоваться контактной информацией на сайте, учтите, я понимаю английский и русский языки, но русский чуть лучше.
Сайт проекта можно найти тут → www.tacacsgui.com. Всем добра!