Сегодня существует множество платных и бесплатных инструментов, созданных для помощи сетевым администраторам в их повседневной работе. В этой статье я расскажу вам о приложении с уникальными функциями, которые отсутствуют в аналогичных продуктах. Речь пойдет о приложении IN Active, которое было создано ещё в 2014 году, а в 2020 оно стало бесплатным и с открытым исходным кодом. Это веб-приложение разработано на языке программирования Java, хранит данные в базе данных PostgreSQL и работает под управлением сервера приложений Apache Tomcat. Рассмотрим подробнее возможности приложения IN Active и как оно может быть полезно для обслуживания сетевого оборудования и предотвращения угроз в компьютерной сети.
IN Active позволяет вести реестр сетевого оборудования и группировать его на уровне карт и объектов. Карты и объекты удобно использовать для разделения по географическому признаку, а также для разграничения доступов.
Каждому объекту можно назначить функцию «контроль конфигураций» или «управление устройствами», это определяет какие действия можно выполнять над сетевым оборудованием внутри объекта.
Контроль конфигураций
Этот тип объекта предназначен для отслеживания изменений в конфигурациях сетевого оборудования, их аудита и оповещения ответственных лиц при обнаружении несанкционированных изменений. Приложение сохраняет в базе данных все изменения конфигураций и в дальнейшем их можно просмотреть и сравнить с любой прошлой конфигурацией. Также имеется возможность подключиться к сетевому оборудованию по SSH или Telnet и произвести с ним любые манипуляции прямо из браузера. Приложение позволяет настраивать периодичность проверки конфигураций устройств и определять скрипт для получения конфигурации для каждого типа сетевого оборудования. При обнаружении изменения в конфигурации, немедленно отправляется электронное письмо ответственному лицу, который назначен на объект. Также имеется функция по поиску данных во всех конфигурациях сетевого оборудования внутри объекта, это может быть полезно, когда необходимо найти все настройки относительно какого-то IP адреса.
Управление устройствами
Этот тип объекта предназначен для автоматизации процессов по мониторингу, обслуживанию, управлению сетевым оборудованием путём запуска на них TCL скриптов. Скрипт можно выполнить как на конкретном устройстве, так и на большом количестве сетевого оборудования. Для каждого объекта с таким типом можно определять собственные поля для хранения данных в базе данных причем разных типов, такие как текст, дата, IP адрес, флаг, справочник. В TCL скриптах можно как считывать, так и записывать в БД значения всех полей. Это может быть полезно для автоматизации таких процессов как получение данных о сетевом оборудовании, изменение паролей, сбор статистики, массовое изменение конфигурации устройств. В этом интерфейсе также прямо из браузера можно подключаться к сетевому оборудованию через SSH и Telnet. Причём все команды, выполненные на устройстве, будут сохранены в специальный журнал и в дальнейшем их можно проанализировать и выяснить какой пользователь вносил изменения в конфигурацию сетевого оборудования. Также имеется возможность экспортировать и импортировать список всех устройств со всеми полями из файла формата Excel. Это может быть полезно при первичной загрузке данных о всём сетевом оборудовании в приложение. IN Active позволяет выполнять скрипты по расписанию и за счёт этого можно создавать механизмы по оповещению о любых нештатных ситуациях на сетевом оборудовании. Также используя эту возможность можно настроить автоматическое обновление необходимой информации о сетевом оборудовании в базе данных и вы всегда будете иметь актуальную информацию о своём парке устройств. TCL скрипты поддерживают обмен данными с устройствами по протоколу SNMP и это открывает возможность получать от вашего сетевого оборудования больше информации, при условии что они поддерживают работу по этому протоколу.
Разграничение доступов
В IN Active реализована ролевая модель. В приложении можно вести список ролей и указывать к каким объектам и с каким уровнем доступа эти роли имеют доступ. Есть два уровня доступа: «только для чтения» и «полный доступ». Также на уровне ролей можно настраивать какие скрипты доступны для выполнения на сетевом оборудовании. О скриптах будет подробнее рассказано далее.
Далее эти роли назначаются пользователям системы.
С помощью ролевой модели легко администрировать и поддерживать доступы в актуальном состоянии. Настраивать роли и список пользователей может только администратор приложения, таким образом возможность несанкционированного доступа к сетевому оборудованию полностью исключена.
Скрипты
В IN Active можно разрабатывать скрипты на языке TCL и производить в них любые манипуляции над сетевым оборудованием. Во время выполнения скрипта имеется доступ ко всем данным по устройству, а также есть возможность сохранять изменения в базу данных. С помощью специальных команд, в скрипте можно задавать входные параметры, и при выполнении такого скрипта пользователю отобразится окно, в котором он может ввести значения. Информация о всех выполненных скриптах и результатах их работы сохраняются в специальный журнал в базу данных, для того чтобы в дальнейшем была возможность провести анализ действий над сетевым оборудованием в случае необходимости. Для избежания дублирования кода в скриптах предусмотрена возможность создания общих модулей. В них целесообразно размещать функции и блоки кода, которые часто используются в разных скриптах. С помощью скриптов также можно создавать различные отчёты с использованием HTML разметки. В целях разграничения доступов, скрипты могут выполняться как во всех объектах, так и в заданном списке объектов, также имеется возможность разрешить или запретить выполнение скриптов на уровне ролей пользователей.
Журналы изменений
В приложении IN Active имеется пять различных журналов изменений. «Console commands journal» может быть полезен для поиска причин некорректной конфигурации сетевого оборудования, в случаях, когда пользователи приложения проводят конфигурацию в ручном режиме. «Maps changes journal» и аналогичный журнал для объектов содержат все изменения в картах и объектах и полезны в тех случаях, когда нужно понять кто и когда вносил изменения в эти данные. «Device changes journal» содержит все изменения в данных сетевого оборудования, причем как со стороны пользователей приложения, так и в результате выполнения скриптов. Эти данные помогают восстановить хронологию событий и понять причины возникновения той или иной проблемы с сетевым оборудованием. «Run scripts history» содержит историю выполнения всех скриптов запущенных как в ручном режиме, так и по заданному расписанию. Помимо самого скрипта также сохраняются входные параметры, которые были введены пользователем приложения, все логи выполнения и все данные, которые были возвращены сетевым оборудованием. Данные из этого журнала также оказывают помощь при поиске и анализе причин возникновения каких-либо проблем.
Итоги
Это приложение было внедрено в эксплуатацию в нескольких крупных компаниях России и зарекомендовало себя как надёжный и эффективный инструмент для решения повседневных задач для обслуживания сетевого оборудования. Также оно помогает обнаруживать и оперативно оповещать ответственных лиц о несанкционированных изменениях в конфигурациях сетевого оборудования. Благодаря возможности выполнения TCL скриптов на большом количестве устройств, открывается возможность для автоматизации рутинной ручной работы и повышается качество обслуживания сетевого оборудования. На данный момент IN Active является полностью бесплатным и с открытым исходным кодом и доступен по адресу https://github.com/opexos/in-active.
Владимир Коровин
Эксперт в области информационных технологий. Разработчик приложения «Программа управления активным оборудованием IN Active», используемого для обеспечения работы сетевого оборудования во многих крупных компаниях, в том числе на Московской Бирже, в ЗАО «МФК ДжамильКо». Разработчик программного обеспечения для касс самообслуживания X5 Group (торговые сети «Перекресток», «Карусель», «Пятерочка»). Член всемирно известной технологической организации IEEE. Член респектабельной организации Leaders Excellence at Harvard Square. Член профессионального сообщества лидеров цифровой трансформации GlobalCIO.