Анализ конфигураций сетевых устройств инструментальными средствами

Двадцатый век подарил нам множество чудесных открытий: перечислить их все в рамках одной статьи не представляется возможным, а выделять те, что могут показаться важнее других – занятие абсолютно неблагодарное: как можно сравнить, например, открытие пенициллина и создание транзистора? Тем не менее, можно попробовать выделить одну отрасль, которая преобразила наш мир: это кибернетика, а также – связанные с ней информационные технологии. В [1] авторы утверждают, что именно сбор, обработка и хранение информации стали превалирующей технологией в ХХ и продолжает оставаться ХХI веке. В ХХ веке были изобретены радио и телевидение, появились глобальные телефонные сети и компьютерная индустрия, космические спутники связи и, конечно же, Интернет, который уже перестал быть Web 1.0, оформился как Web 2.0 и предлагает ответить на вопрос: каким будет Web 3.0?

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

Задача обеспечения безопасности при передаче информации по сетям связи не имеет одного универсального решения. Более того, для каждого уровня взаимодействия информационных систем в сети (согласно сетевой модели OSI) потребуется свое решение: так для защиты от считывания информации с медных кабелей (первый уровень) можно рассматривать как их размещение в специальных трубах, так и их замену на волоконно-оптические (разумеется, с заменой сетевого оборудования). На сетевом уровне (третий уровень) возможным решением будет применение межсетевых экранов – и так далее. В настоящей статье речь пойдет о трех методах обеспечения безопасности в сети путем правильного подхода к конфигурированию и управлению изменениями в конфигурации сетевого оборудования: коммутаторов, маршрутизаторов, межсетевых экранов и т. п.       

Подход к управлению конфигурациями хорошо описывается циклом Шухарта - Деминга, также известным как «PDCA Cycle». Аббревиатура PDCA образуется словами Plan («планирование»), Do («действие»), Check («проверка» или «контроль»), Act («корректировка») и описывает циклически повторяющийся процесс принятия решений. Для анализа конфигураций сетевого оборудования разработано довольно много программных продуктов. Среди наиболее популярных решений можно выделить американское программное обеспечение «Orion NCM», open-source проект «rConfig», а также российскую разработку «Efros Config Inspector». Полноценное сравнение решений достойно отдельной статьи; сегодня для примера рассмотрим только отечественное решение.

Для начала следует озаботиться инвентаризацией оборудования. Для этого лучше всего воспользоваться сканером сети, который обнаружит все доступные устройства в заданном диапазоне IP-адресов. Сканеры обнаруживают как сам факт присутствия устройства в сети, так и определяют его тип: например, маршрутизатор под управлением операционной системы IOS, межсетевой экран «Dionis-NX» и т. п.

После того, как объекты защиты обнаружены и данные о них заведены в средство анализа конфигураций, разумным будет провести проверку на наличие известных уязвимостей. Эксперты в области ИБ отмечают, что зачастую первым этапом повышения уровня защищенности от угроз информационной безопасности проводят тестирование на проникновение («pentest»), но это не приводит к желаемым результатам. Причиной тому может являться обнаружение одной из многих уязвимостей и демонстрация одного сценария атаки из всех доступных. Поэтому сперва рекомендуется устранить известные уязвимости, повысить общий уровень информационной безопасности и лишь потом приглашать специалиста по «взлому». Выявить уязвимости в используемых версиях сетевых устройств можно и вручную, воспользовавшись бесплатными сервисами Vulners или Efros Checker: сервисы предоставляют информацию об известных уязвимостях со ссылками на рекомендации по их устранению. В случае небольшой сети такой анализ может проводиться вручную, но практика показывает, что автоматизация этого процесса приводит к существенному повышению продуктивности, что особенно ощущается с ростом числа анализируемых устройств. Итак, PDCA-цикл будет таков: запланировать и выполнить мероприятия по анализу сетевой инфраструктуры на наличие уязвимостей, устранить известные уязвимости, следуя рекомендациям производителей и экспертов, запланировать регулярные обновления баз знаний об уязвимостях и проверки инфраструктуры и устранять вновь выявленные уязвимости.

После устранения известных уязвимостей следует озаботиться стандартизацией конфигураций. Международная организация Center for Internet Security (CIS) разработала набор правил безопасной конфигурации для огромного количества оборудования и программного обеспечения, включая коммутаторы и маршрутизаторы, среды виртуализации и операционные системы, а также для большого количества прикладного программного обеспечения: веб-серверов, СУБД и т. п. Эти правила и проверки также часто называют термином «compliance» - соответствие, проверка на соответствие.  Набор правил только лишь для устройств Cisco под управлением операционной системы IOS содержит более 80 рекомендаций. Разумеется, проверять объекты защиты на соответствие рекомендациям CIS вручную – крайне непродуктивное занятие. Гораздо более эффективным подходом является автоматизация этого процесса и выделение из всего набора правил только тех, что являются актуальными для конкретного устройства или группы устройств. Разберем на конкретном примере: одна из рекомендаций предписывает отказаться от использования SNMP trap, т.к. они могут предоставить злоумышленнику важную информацию об объекте защиты. Однако, если эти сообщения передаются по строго заданным маршрутам, а все другие возможности передачи заблокированы, они могут быть полезны администраторам для оценки состояния оборудования. Другая рекомендация предписывает использовать для подключения вторую версию протокола SSH, которая является более безопасной по сравнению с первой. Если такая возможность есть, лучше использовать более «свежую» версию: все помнят эпидемию шифровальщика WannaCry, использующего более старую версию протокола SMB, протокол SNMP ранних версий тоже менее защищен, чем его современная реализация. Для выполнения проверок соответствия требованиям или рекомендациям можно рассмотреть такой подход: составить перечень рекомендаций, выполнить проверку автоматизированным средством (например, «Efros Config Inspector 3») и устранить несоответствие. Современные средства проверки конфигурации позволяют сформировать различные шаблоны для разных групп устройств, а также – «собрать» пользовательский набор проверок, который будет вмещать лучшие рекомендации из различных источников: CIS не является единственным законодателем, многие производители составляют собственные наборы правил compliance.

Наконец, немаловажной задачей является контроль целостности конфигураций. В самом деле: ценность описанных выше шагов невелика, если администратор или другой привилегированный пользователь сможет незаметно внести изменения в конфигурацию устройства. Для контроля целостности и ведения истории изменений в конфигурациях разработано много решений, включающих даже своего рода экзотику: использование Git или SVN (системы контроля версий ПО), но большинство администраторов ИТ и ИБ склоняются к специализированным решениям, описанным выше. Для контроля целостности конфигураций целесообразно применять следующий PDCA-цикл: создать базу данных эталонных (прошедших проверки на наличие уязвимостей и соответствие стандартам информационной безопасности) конфигураций, запланировать и выполнять регулярные проверки на наличие изменений, принимать согласованные и отклонять незапланированные изменения. Также следует принять во внимание, что качественное современное средство управления конфигурациями не только выполняет запланированные проверки по расписанию, но и своевременно реагирует на изменения в конфигурациях сетевого оборудования в режиме реального времени путем приема syslog-сообщений с контролируемых устройств. Возможный уровень последствий от недостаточно щепетильного подхода к защите конфигураций сетевых устройств хорошо показан в фильме «Парк Юрского Периода», именно намеренные действия инсайдера по изменению настроек ряда систем привели к трагедии. Остается посочувствовать ИТ и ИБ специалистам этого парка: возможно, обладай они доступными сегодня средствами обеспечения целостности конфигураций, фильм не был бы такими захватывающим.

Возвращаясь к основным чертам информационного века, коим, несомненно, XXI век является: именно своевременное получение информации, ее правильная обработка и использование во благо, а также поддержание информации в актуальном состоянии может обеспечить как информационную безопасность в части сетевых устройств, так и повысить устойчивость и защищенность рабочих процессов в целом. Только после того, как вы стали уверены, что сделали все (в пределах разумного, конечно) для обеспечения кибербезопасности вашей организации, можно задуматься о пентесте – вдруг какие-то бреши все же остались незакрытыми?


Статья в журнале INSIDE

Список использованной литературы:

  1. Таненбаум Э., Уэзеролл Д. Компьютерные сети. 5-е изд. – СПб.: Питер, 2012. – 960 с.: ил. ISBN 978-5-459-00342-0.
  2. https://www.cisecurity.org
  3. https://vulners.com