понедельник, 26 июля 2021 г.

Автоматизируем бэкап конфигураций 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

Комментариев нет:

Отправить комментарий