Иметь под рукой актуальную и архивные конфигурации сетевого оборудования важно и для ИТ, и для ИБ. Быстрый доступ к конфигурациям позволяет:
Восстановить оборудование в случае его поломки;
Обнаружить и откатить нежелательные изменения, сравнив актуальную и архивные версии конфигурации;
Быстро найти нужный параметр среди сотен устройств;
Построить процесс контроля безопасности конфигураций.
Давайте разберем как можно автоматизировать процесс сбора конфигураций для сетевого оборудования Cisco. Задачу архивирования конфигураций Cisco можно решить несколькими способами:
Специализированными продуктами, например Cisco Prime, Efros Config Inspector недостаток: продукты платные, нужно устанавливать дополнительное ПО;
Штатной функцией архивирования Cisco (описано на хабре тути тут) недостаток: сбой в случае неверной настройки устройства, необходимость поднятия TFTP сервера;
Скриптом, который обходит оборудование и собирает конфигурации.
Предлагаю вариант с реализацией через скрипт. Скрипт на PowerShell, запускается по расписанию, берет из списка (cisco_ip_list.txt) перечень всех коммутаторов и маршрутизаторов, подключается к ним, собирает все необходимые данные, сохраняет в архив в виде текстовых файлов. Для каждой даты и устройства своя папка, обеспечиваем хранение N архивных версий. Скрипт собирает:
Конфигурацию (show running-config view full)
Таблицы соединений с другим коммутационным оборудованием (show cdp neighbors detail) Полезно чтобы построить физическую схему сети
Таблицы розданных IP по DHCP (show ip dhcp binding) Полезно чтобы узнать у кого был какой динамический IP в заданный временной период
Таблицы подключенных MAC адресов (show mac address-table) Полезно чтобы найти связь IP / MAC, при условии что включен port-security
Хранить скрипт и результаты его работы в недоступном для детей посторонних месте, например на сервере ИБ;
Для работы скрипта использовать учетную запись с правами только на чтение конфигураций;
Настроить запуск по планировщику ежедневно или еженедельно;
Запланировать ежеквартальную задачу по проверке работоспособности скрипта, а также актуальности списка сканируемого оборудования.
Из недостатков предложенного решения стоит отметить, что пароль для доступа к оборудованию сохранен в тексте скрипта, что, конечно, моветон, но это компенсируется настройкой непривилегированной учетной записи, которая может только читать конфигурацию но не изменять ее.
Скрипт не сложен, практически не дает сбоев и не раз уже выручал ИТ и ИБ в различных нештатных ситуациях и инцидентах безопасности. А еще по результатам его работы удобно вести контроль соответствия конфигураций сетевого оборудования требованиям безопасности, но об этом процессе напишу отдельно.
UPD Коллеги в FB подсказали еще один инструмент для снятия резервных копий и контроля конфигураций - open source ПО RANCID .
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
Твой код — безопасный?
Расскажи, что знаешь о DevSecOps.
Пройди опрос и получи свежий отчет State of DevOps Russia 2025.