Автоматизируем бэкап конфигураций Cisco

Автоматизируем бэкап конфигураций Cisco
Иметь под рукой актуальную и архивные конфигурации сетевого оборудования важно и для ИТ, и для ИБ. Быстрый доступ к конфигурациям позволяет:
  • Восстановить оборудование в случае его поломки;
  • Обнаружить и откатить нежелательные изменения, сравнив актуальную и архивные версии конфигурации;
  • Быстро найти нужный параметр среди сотен устройств;
  • Построить процесс контроля безопасности конфигураций.
Давайте разберем как можно автоматизировать процесс сбора конфигураций для сетевого оборудования Cisco.
Задачу архивирования конфигураций Cisco можно решить несколькими способами:
  1. Специализированными продуктами, например Cisco Prime, Efros Config Inspector
    недостаток: продукты платные, нужно устанавливать дополнительное ПО;
  2. Штатной функцией архивирования Cisco (описано на хабре тут и тут )
    недостаток: сбой в случае неверной настройки устройства, необходимость поднятия TFTP сервера;
  3. Скриптом, который обходит оборудование и собирает конфигурации.
Предлагаю вариант с реализацией через скрипт.
Скрипт на 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
Исходник скрипта на PowerShell можно взять тут

Пара рекомендаций по использованию:
  • Хранить скрипт и результаты его работы в недоступном для детей посторонних месте, например на сервере ИБ;
  • Для работы скрипта использовать учетную запись с правами только на чтение конфигураций;
  • Настроить запуск по планировщику ежедневно или еженедельно;
  • Запланировать ежеквартальную задачу по проверке работоспособности скрипта, а также актуальности списка сканируемого оборудования.
Из недостатков предложенного решения стоит отметить, что пароль для доступа к оборудованию сохранен в тексте скрипта, что, конечно, моветон, но это компенсируется настройкой непривилегированной учетной записи, которая может только читать конфигурацию но не изменять ее.

Скрипт не сложен, практически не дает сбоев и не раз уже выручал ИТ и ИБ в различных нештатных ситуациях и инцидентах безопасности. А еще по результатам его работы удобно вести контроль соответствия конфигураций сетевого оборудования требованиям безопасности, но об этом процессе напишу отдельно.

UPD Коллеги в FB подсказали еще один инструмент для снятия резервных копий и контроля конфигураций - open source ПО RANCID
.
Alt text

Больше пяти не собираться: роботы будут следить за улицами Сингапура, хакеры атаковали проект Jenkins, во Франции арестовали экологов, данные которых раскрыл ProtonMail, а россиян беспокоит идея «социальных рейтингов». Смотрите 31-й выпуск наших новостей.

Николай Казанцев

Об информационной безопасности в Северной столице