Давайте разберемся, что же этот «интерфейс» (дальше 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. Всем добра!
23.05.2016 — исправлены грамматические ошибки.
Комментарии (12)
evg_krsk
23.05.2016 18:55Похоже, что вы переизобретаете NOC Project :-)
А так хотелось self-hosted фронт-энд для управленя tac_plus. Эх.gurkin33
23.05.2016 21:30Ничего не знал про NOC до этого дня. Действительно мощная штука. Но мой проект это и есть «self-hosted фронт-энд для управленя tac_plus», пусть не с полным функционалом (нет поддержки LDAP, PPP авторизации и т.п.), но с функцией авторизации пользователей и аккаунтингом эта штука справляется.
Вероятно, найдутся еще похожие проекты, я не против. Очень часто друзья и знакомые разворачивают мои идеи фразой: «ты делаешь велосипед». Так вот, теперь мое мнение такое — пусть даже это «велосипед», но в первую очередь это опыт для меня, и, может быть, я очень на это надеюсь, что «вот это» кому-нибудь пригодится.
Но мне очень интересно, что имеенно вы хотели бы видеть в «self-hosted фронт-энд для управленя tac_plus»?
GritsanY
24.05.2016 08:42Почему пароли и ключи принимает только цифробуквенные? На устройствах Cisco поддерживается ввод специальных символов в ключе tacacs+ и паролях пользователей
gurkin33
24.05.2016 08:48Очень хороший вопрос. В следующей версии планируется добавить специальные символы. Это я уже взял на заметку. Спасибо.
HunterXXI
24.05.2016 10:30Уж очень узкоспециализированное направление. Я не проводил исследований и возможно ошибаюсь, но на мой взгляд, подавляющее большинство сетевых устройств не нуждается в гибком администрировании локальной базы пользователей, так как ими управляют 2-3 человека от силы.
Мы ушли от реализации tacacs или radius для работа с локальными устройствами. Сейчас пушим через Conf Manager локальные учетки на устройства с необходимыми привелегиями. Если учетка скомпроментировала себя — так же удаляем через Conf Manager.
P.S. Да я понимаю, что есть оборудование операторов связи, к которому могут иметь доступ десятки людей, но это еденичные случаи. А для тех.поддержки первого уровня есть общая учетка с правами «посмотреть состояние интерфейсов», но и этот подход мы стараемся не практиковать.gurkin33
24.05.2016 10:47+1Согласен с вами, это действительно узкоспециализированное направление. К счастью, этот проект не должен меня прокармливать. Была задача реализовать графическую настройку демона tacacs и добавить запланированные плюшки. Задачу я выполнил,
но еще есть над чем поработатьи решил поделиться своим проектом. Мы уже посмеялись с друзьями, что этот проект «убийца ACS». Я не делаю большие ставки на этот проект, мне просто хотелось сделать что-то красивое и удобное.HunterXXI
24.05.2016 11:25Ну если желаемое и действительное сошлось в единой точке, могу Вас только поздравить!
WEB GUI для всяких демонов и сервисов это хорошо — так можно и что-то весьма полезное изобрести :)
dmitryrf
del
gurkin33
Спасибо и прошу прощения, грамматика страдает. Буду исправляться.