Идентификация топологии сети
Можно назвать два метода определения топологии сети (network topology detection), используемых злоумышленниками: «изменение TTL» («TTL modulation») и «запись маршрута» («record route»). Программы traceroute для Unix и tracert для Windows используют первый способ определения топологии сети. Они задействуют для этого поле Time to Live («время жизни») в заголовке IP-пакета, значение которого изменяется в зависимости от числа пройденных сетевым пакетом маршрутизаторов. Утилита ping может быть использована для записи маршрута ICMP-пакета.
Зачастую сетевую топологию можно выяснить при помощи протокола SNMP, установленного на многих сетевых устройствах, зашита которых неверно сконфигурирована. При помощи протокола RIP можно попытаться получить информацию о таблице маршрутизации в сети и т. д.
Многие из упомянутых методов используются современными системами управления для построения карт сетей. И эти же методы могут быть с успехом применены злоумышленниками.
Идентификация узлов
Идентификация узла (host detection), как правило, осуществляется путем ссылки при помощи утилиты ping команды ECHO_REQUEST протокола ICMP. Ответное сообщение ECHO_REPLY говорит о том, что узел доступен. Существуют программы, которые автоматизируют и ускоряют процесс параллельной идентификации большого числа узлов, например, fping или nmap. Опасность данного метода в том, что стандартными средствами узла запросы ECHO_REQUEST не фиксируются. Для этого необходимо применять средства анализа трафика, межсетевые экраны или системы обнаружения атак.
Это самый простой метод идентификации узлов. Однако эта легкость имеет ряд недостатков. Во-первых, многие сетевые устройства и программы блокируют ICMP-пакеты и не пропускают их во внутреннюю сеть (или наоборот не пропускают их наружу). Например, MS Proxy Server 2.0 не разрешает прохождение пакетов по протоколу ICMP. В результате возникает неполнота идентификации хостов. С другой стороны, блокировка ICMP-пакета говорит злоумышленнику о наличии «первой линии обороны» — маршрутизаторов, межсетевых экранов и т. д.
Во-вторых, применение ICMP-запросов позволяет с легкостью обнаружить их источник, что, разумеется, не должно входить в задачу злоумышленника.
Существует еще один метод определения узлов сети — использование «смешанного» («promiscuous») режима сетевого интерфейса, который позволяет определить различные узлы в сегменте сети. Но он не применим в тех случаях, в которых трафик сегмента сети недоступен нападающему со своего узла, т. е. действует только в локальных сетях. Другим способом идентификации узлов сети является так называемая, разведка DNS [Ерхов1-98], которая позволяет идентифицировать узлы корпоративной сети при помощи службы имен доменов.
Идентификация сервисов или сканирование портов
Идентификация операционной системы
Основной механизм удаленного определения ОС (OS detection) – анализ TCP/IP-стека. В каждой ОС стек протоколов TCP/IP реализован по-своему, что позволяет при помощи специальных запросов и ответов на них определить, какая ОС установлена на удаленном узле.
Другой, менее эффективный и крайне ограниченный, способ идентификации ОС узлов — анализ сетевых сервисов, обнаруженных на предыдущем этапе. Например, открытый 139-й порт позволяет сделать вывод, что удаленный узел работает под управлением ОС семейства Windows. Для определения ОС могут быть использованы различные программы. Например, nmap.
Определение роли узла
Последним шагом на этапе сбора информации является определение роли узла, например, межсетевого экрана или Web-сервера. Выполняется этот шаг на основе уже собранной информации об активных сервисах, именах узлов, топологии сети и т. п. Например, открытый 80-й порт может указывать на наличие Web-сервера, блокировка ICMP-пакета свидетельствует о потенциальном наличии межсетевого экрана, а имя узла proxy.domain.ru или fw.domain.ru говорит само за себя.
Определение уязвимостей узла
Последняя стадия на этапе сбора информации – поиск уязвимостей (searching vulnerabilities). На этом шаге злоумышленник при помощи различных автоматизированных средств или вручную определяет уязвимости, которые могут быть использованы для реализации атаки. В качестве таких автоматизированных средств могут быть использованы ShadowSecurityScanner, nmap, Retina и т. д.
Реализация атаки
С этого момента начинается попытка доступа на атакуемый узел. При этом доступ может быть как непосредственный, т. е. проникновение на узел, так и опосредованный, как при реализации атаки типа «отказ в обслуживании».
Реализация атак в случае непосредственного доступа также может быть разделена на два этапа:
Проникновение
Проникновение подразумевает под собой преодоление средств защиты периметра (например, межсетевого экрана). Реализовываться это может различными путями. Например, использованием уязвимости сервиса компьютера, «смотрящего» наружу, или путем передачи враждебного содержания по электронной почте (макровирусы) или через апплеты Java [Лукацкий1-98] Такое содержание может задействовать так называемые «туннели» в межсетевом экране (не путать с туннелями VPN), через которые затем и проникает злоумышленник. К этому же шагу можно отнести подбор пароля администратора или иного пользователя при помощи специализированной утилиты (например, L0phtCrack или Crack).
Кража паролей
Установление контроля
После проникновения злоумышленник устанавливает контроль над атакуемым узлом. Это может быть осуществлено путем внедрения программы типа «троянский конь» (например, NetBus или BackOrifice). После установки контроля над нужным узлом и «заметания» следов злоумышленник может производить все необходимые несанкционированные действия дистанционно без ведома владельца атакованного компьютера. При этом установление контроля над узлом корпоративной сети должно сохраняться и после перезагрузки операционной системы. Это может быть реализовано путем замены одного из загрузочных файлов или вставкой ссылки на враждебный код в файлы автозагрузки или системный реестр. Известен случай, когда злоумышленник смог перепрограммировать EEPROM сетевой карты и даже после переустановки ОС он смог повторно реализовать несанкционированные действия. Более простой модификацией этого примера является внедрение необходимого кода или фрагмента в сценарий сетевой загрузки (например, для ОС Novell NetWare).
Определение топологии сети на уровнях 2/3 модели OSI
Одной из важных технологий любой серьезной системы мониторинга сетей является метод обнаружения связей сетевых элементов на 2-м и 3-м уровне модели OSI.
С точки зрения алгоритмов эта задача является одной из самых интересных встреченных нами во время разработки нашей системы.
Мы решили немного поделиться нашим опытом, чтобы вы могли представить, каким образом красивый граф связей между узлами появляется на дэшбордах вашей системы мониторинга.
Топология сети — это способ описания конфигурации сети, схема расположения и соединения сетевых устройств. Мы будем рассматривать TCP/IP сеть, основу которой образуют сетевые устройства трёх типов: коммутаторы, маршрутизаторы и конечные станции. Мы также будем предполагать, что сетевые устройства, коммутаторы и маршрутизаторы, предоставляют открытый интерфейс для опроса по SNMP.
Для описания топологии удобно рассматривать OSI-модель сети как многоэтажное здание в основе которого лежит фундамент — это физический уровень, а этажи образуют канальный и сетевой уровни, каждый последующий уровень надстраивает здание и таким образом обеспечивает целостность и функциональность всей конструкции. Задача всего здания обеспечить его жителей, то есть различные приложения, связью друг с другом.
В Network Manager реализован алгоритм поиска связей между разнородными устройствами, поддерживающие различные протоколы конфигурации топологии сети, протокол связующего дерева (STP, Spanning Tree Protocol), протоколы LLDP (Link Layer Discovery Protocol) и CDP (Cisco Discovery Protocol). Архитектура программной системы позволяет реализовать поддержку новых протоколов для обнаружения как связей на 2-м и 3-м уровне модели OSI, так и любых других логических связей между элементами ИТ-инфраструктуры.
На канальном уровне связи между устройствами называются связями второго уровня (или L2-связи). Они могут быть заданы указанием пары портов двух непосредственно связанных коммутаторов, или коммутатора и конечной станции, или коммутатора и маршрутизатора.
Коммутаторы поддерживают динамическую таблицу переадресации (AFT, address forwarding table), хранящую соответствие MAC адреса узла порту коммутатора. Эта информация доступна через динамические таблицы доступные по SNMP в BRIDGE-MIB коммутатора (dot1dBasePortTable, dot1dTpFdbTable).
Будем говорить, что коммутатор видит на данном порту данное сетевое устройство, если в его динамической таблице переадресации содержится запись, которая указывает перенаправлять дейтаграммы предназначенные этому сетевому устройству через данный порт.
Для коммутатора с поддержкой базы данных BRIDGE-MIB можно, считывая dot1dBasePortTable, определить соответствие между номером интерфейса и номером порта, а доступные интерфейсы определяются базой данных MIB-II (таблица ifTable). Это позволяет единым образом рассматривать данные о связях 2-го и 3-го уровня.
Для хранения промежуточных результатов в Network Manager используется топологическая база данных, которая предоставляет общий интерфейс для работы с графом сети и его специализациями, предназначенными для работы на канальном и сетевом уровнях.
Автоматическое определение топологии сети разбивается на две фазы: сбор данных и их последующий анализ. Данные с сетевых устройств собираются в топологической базе данных, с помощью SNMP запросов к базам данных сетевых устройств, и определяются типы устройств и их сетевые интерфейсы.
На втором этапе, происходит анализ доступных данных по выбранным протоколам определения топологии сети, для реализации алгоритмов используются доступные в Интернет сети статьи 1, 2 и 5.
Сложность определения топологии разнородной сети состоит в том, что таблицы переадресации коммутаторов динамические, хранят запись соответствия МАС адреса назначения и соответствующего ему порта некоторое ограниченное время, заданное в конфигурации устройства и в общем случае, на момент исследования не все сетевые устройства обменялись дейтаграммами и как результат маршрутизаторы не могут иметь полной информации о всех доступных сетевых устройствах и их связях. Кроме того, во многих корпоративных сетях встречаются неуправляемые коммутаторы, а некоторые коммутаторы могут быть не подключены к системе мониторинга или некорректно поддерживать нужные SNMP MIBы. Однако, если существует сетевое устройство, видимое на всех коммутаторах сети, то по неполным таблицам переадресации можно однозначно восстановить конфигурацию сети (3).
Разнородность сети также влияет на интерпретацию данных полученных от коммутаторов, на которых настроена поддержка протоколов LLDP и CDP, потому что для их корректной работы необходимо, чтобы все ближайшие сетевые устройства поддерживали или LLDP, или CDP протокол. В итоге, информация, полученная из этих протоколов даёт лишь возможность заключить, что два данных сетевых устройства видят друг друга на определённых портах, но не даёт возможности непосредственно определить их как ближайших «соседей».
Алгоритм поиска топологии разнородной сети, реализованный в AggreGate Network Manager, в первую очередь определяет связи между коммутаторами. Общую суть алгоритма можно описать следующим образом:
Рассмотрим два коммутатора «А» и «Б», расположенные в одной подсети. Если коммутатор «А» видит на порту «а» коммутатор «Б», а коммутатор «Б» видит на порту «б» коммутатор «А» и в их таблицах нет другого сетевого устройства, которое одновременно видимо на портах «а» и «б», то коммутаторы «А» и «Б» соединены напрямую на канальном уровне (см. 1, 3 и 5). После нахождения связи мы убираем соответствующие ей интерфейсы из кэша таблиц форвардинга и продолжаем анализ оставшейся в таблицах информации, постепенно находя методом исключения остальные связи.
На следующем этапе определяются возможные связи между коммутаторами и конечными станциями. Для этого используется поиск ближайшего коммутатора: если коммутатор видит на данном порту конечную станцию и на том же самом порту он видит другой коммутатор, то, при отсутствие сетевых концентраторов, данный коммутатор не может быть ближайшим (см. 4). С другой стороны, если коммутатор на исследуемом порту видит только одну конечную станцию, то этот коммутатор и станция ближайшие соседи в нашей сети.
С топологией IP-уровня (L3) дела обстоят значительно проще. Линки 3-го уровня достаточно легко определяются по таблицам маршрутизации (ipRouteTable), также доступным по SNMP.
Понимая, что универсальность нашего продукта заставит нас в будущем иметь дело с самыми разными видами топологии, мы спроектировали визуальный компонент «граф топологии» таким образом, чтобы он мог работать с произвольными таблицами, содержащими описания узлов и ребер графа топологии. И, как обычно, при наличии инструмента быстро нашлись ему новые применения:
Все технологии, описанные в данной статье, протестированы и внедрены в нашем продукте AggreGate Network Manager. Работа алгоритмов определения связей в условиях недостаточности данных (не все коммутаторы и маршрутизаторы подключены по SNMP, некорректная поддержка нужных MIBов и т.д.) далеко не тривиальна, поэтому мы и по сей день продолжаем совершенствовать их.
5 лучших программ для отображения топологии сети
Значение компьютерных сетей для роста организации довольно очевидно. Вот почему все больше и больше компаний принимают эту концепцию. Это упрощает общение, а также обмен данными. Но что более важно, это рентабельно. Это позволяет совместно использовать ресурсы, которые в противном случае нужно было бы покупать в количестве. Список сетевых преимуществ бесконечен, и я мог бы продолжать и продолжать, но не в этом суть этой публикации.
Видите ли, как бы хороша ни была компьютерная сеть, вам нужно будет постоянно контролировать свою сеть, чтобы убедиться, что все работает без сбоев. Отказ одного компонента может привести к простою всей вашей сети. Но проблема в том, что сети находятся в постоянном росте, а также увеличиваются в сложности, и может быть немного сложно угнаться за архитектурой. Особенно, если вы делаете это вручную. Да, некоторые системные администраторы предпочитают рисовать архитектуру вручную, но это требует большого терпения, осторожности и усилий. С другой стороны, средство отображения топологии сети автоматически обнаруживает сетевые узлы и создает полную карту, показывающую, как они соединяются друг с другом. В нем указано расположение маршрутизаторов, точек доступа, межсетевых экранов, VLAN, ноутбуков и других хостов в вашей сети.
Одна вещь, о которой многие люди, похоже, забывают, — это то, что вам необходимо полное представление о вашей ИТ-инфраструктуре, чтобы вы могли правильно ее контролировать. Будет намного проще решить проблему, если вы знаете ее точное местоположение. Опять же, сетевой картограф более гибкий и более приспособленный к изменениям в сети по сравнению с чертежом, который вы должны каждый раз обновлять вручную.
Итак, в этом посте я подготовил список из 5 лучших программ, которые, как мне кажется, снимут с вас бремя картографирования вашей сети. Ознакомьтесь с тем, что они все могут предложить, и выберите тот, который имеет наилучшее сочетание функций для вас.
SolarWinds — основное имя в сетевой нише. Они облегчают жизнь системным администраторам уже около 20 лет благодаря своим различным инструментам автоматизации. Вы, наверное, слышали о Network Performance Monitor, поскольку он один из лучших, но сегодня я познакомлю вас с их Network Topology Mapper. Просто взглянув на обзор его функций, вы поймете, почему многие его предпочитают.
После настройки SolarWinds NPM автоматически обнаруживает все компоненты вашей сети и генерирует полную карту. Это означает, что теперь у вас есть с чего начать, а не начинать сопоставление с нуля. Затем вы можете редактировать различные аспекты карты, включая добавление устройств вручную.
Картограф сетевой топологии SolarWinds
Другие функции редактирования карты включают возможность изменять внешний вид карты сети, изменяя размер и модифицируя значки, а также изменяя расположение текста, следующего за значками. Чтобы легко понять карту, SolarWinds NTM позволяет группировать ваши устройства на основе их ролей, поставщика, местоположения, подсети, VLAN или неопознанных узлов. Но мне нравится то, что вам не нужно постоянно проверять сеть на предмет каких-либо изменений. Вы можете просто запланировать автоматическое сканирование, которое обнаружит новые устройства или любые другие изменения и соответствующим образом обновит карту.
Другой выдающейся особенностью этого картографа топологии является возможность находить ваши сетевые устройства с использованием различных протоколов, таких как SNMP, ICMP и WMI, и создавать разные карты для каждого из них. Это также верно для компонентов VMware и Hyper-V. Для многих других инструментов вам придется повторно сканировать вашу сеть отдельно для каждого протокола, что отнимает много времени и является громоздким.
После создания вы можете экспортировать карту в различные форматы, включая Microsoft Office Visio, PDF, PNG и сетевой атлас Orion.
SolarWinds NTM
SolarWinds NTM также является действительно надежным инструментом отчетности. Это позволяет вам выполнять инвентаризацию вашей аппаратной инфраструктуры и создавать автоматический отчет. Вы также можете создавать отчеты для данных порта коммутатора, виртуальных локальных сетей и подсетей, а также для ARP-кеша устройства. Все это будет важно для подтверждения соответствия PCI и другим нормам, таким как SOX и HIPAA, которые требуют, чтобы у вас всегда была обновленная схема сети.
В заключение, я думаю, что за предлагаемые им функции вы получите действительно хорошую сделку, используя SolarWinds Network Topology Mapper. У него есть 14-дневный пробный период, который вы можете использовать, чтобы протестировать его, прежде чем принять решение о покупке.
Lucidchart — отличный инструмент для создания диаграмм, который поставляется с обширной библиотекой форм сетевых диаграмм. К ним относятся AWS, Azure, GCP и Cisco. Инструмент также включает в себя полные шаблоны сетевых диаграмм, которые вы можете использовать в качестве начального руководства, а затем вносить соответствующие изменения в зависимости от вашей сети.
Мне также нравится, что это онлайн-инструмент. Никаких проблем с установкой, никакой нагрузки на ваши системные ресурсы и, самое главное, он доступен из любого места, если у вас есть подключение к Интернету. У них также есть приложения для iOS и Android.
Но моя любимая функция в картографе топологии Lucidchart — это групповой чат, который позволяет вам совместно работать над сетевой диаграммой. Несколько человек могут редактировать диаграмму одновременно без конфликтов.
Lucidchart
Вы должны знать, что этот инструмент поддерживает импорт и экспорт формата Visio, поэтому, если вы ранее использовали Microsoft Visio, вам не нужно переделывать какие-либо карты, над которыми вы работали.
С другой стороны, в Lucidchart отсутствует функция автоматического обнаружения сети. Однако его можно интегрировать с UVexplorer, который автоматически фиксирует сетевые устройства и существующие отношения между ними, а затем экспортирует данные в Lucidchart.
Существует бесплатная версия Lucidchart, но в ней отсутствует функция импорта / экспорта. И для меня это является препятствием, потому что это функция, которая упрощает так много работы, и поэтому вы почувствуете ее отсутствие. Этот инструмент доступен для всех популярных мобильных и компьютерных ОС, включая Linux и Chrome OS.
InterMapper — это комплексный инструмент для построения диаграмм, который даже дает вам актуальную информацию о том, что происходит в вашей сети. Он обменивается данными с сетевыми устройствами с помощью сообщений SNMP и использует цветовые коды, чтобы указать, что устройства работают или не работают.
Зеленый означает, что система работает, желтый — предупреждение, оранжевый — проблема, и, конечно, красный — что устройство полностью выключено. При обнаружении проблемы с вашими устройствами Intermapper отправляет вам мгновенные оповещения по электронной почте / SMS, чтобы вы могли действовать до того, как проблема обострится.
InterMapper
Этот инструмент поставляется с несколькими шаблонами карт, которые вы можете использовать, чтобы упростить процесс создания карты. Он также включает в себя все важные значки сети, чтобы вы могли точно представить свою сеть и легко понять. Подобно SolarWinds NTM, InterMapper может автоматически обнаруживать устройства и автоматически генерировать для вас карту. Затем ваша задача будет заключаться в изменении значков, макета карты и фоновых изображений, чтобы создать идеальную карту. Вы можете использовать иерархические карты и дополнительные карты, чтобы выделить определенные сетевые области, такие как этаж здания или классная комната.
Helpsystems Insite — это дополнительная функция, которая позволяет просматривать сервер InterMapper и матрицу устройств с любого мобильного устройства, так как это веб-интерфейс.
Мне нравится, что InterMapper — это больше, чем просто средство отображения топологии. Это инструмент, который можно использовать для получения некоторой информации о производительности, а также для планирования емкости. Он отслеживает данные о производительности вашей сети, которые вы можете использовать, чтобы определить, когда ваша рабочая нагрузка превышает доступные ресурсы.
ConceptDraw — это мощное решение для бизнес-рисования и построения диаграмм, которое будет так же хорошо для создания карты вашей сети, как и для создания бизнес-презентаций, графиков и диаграмм. В нем есть все значки, необходимые для создания комплексной карты топологии сети, которая включает Wi-Fi, компьютеры, стойки, физические межсоединения и другие значки. Более того, он поставляется с более чем сотней различных шаблонов и тысячами трафаретов, которые вы можете использовать для создания и сохранения пользовательских значков.
Но именно трехмерная векторная графика действительно выделяет его. Это приводит к уникальным топологическим картам, которые дают лучшее представление о реальной сети, чем стандартные значки. Еще одна впечатляющая вещь в ConceptDraw — это конструктор планов здания и функция интеллектуального соединителя, которые позволяют автоматизировать процесс создания карты сети.
ConceptDraw 3D вектор
Вы заметите много общего между ConceptDraw и MS Visio. Он даже позволяет экспортировать карту топологии в Visio и другие форматы файлов, такие как PDF, PowerPoint, FLASH и HTML.
Инструмент доступен для использования как в Windows, так и в Mac OS и может быть загружен как отдельное программное обеспечение или как часть пакета ConceptDraw Office Suite. В последнем есть дополнительные инструменты для управления проектами и планирования.
К сожалению, ConceptDraw не может автоматически определять ваши сетевые устройства и создавать карту. Но у него действительно простой интерфейс, который упрощает навигацию по процессу отображения топологии.
Концепция
Тем не менее, это не тот инструмент, который я бы рекомендовал, если вы отображаете большую и сложную топологию сети. Слишком много работы. Однако, если это небольшая сеть, подобная той, что у вас есть в начинающем бизнесе, ConceptDraw будет идеальным вариантом. Это поможет вам понять используемую топологию, взаимосвязь между различными компонентами, а также показать физическую и логическую структуру сети.
Microsoft Visio, вероятно, самый популярный инструмент, который используется для сопоставления топологии. На самом деле это основная причина, по которой большинство других инструментов включают возможность импорта и экспорта файловых форматов Visio. Но, опять же, популярность не обязательно означает, что это лучшее. В сцене сопоставления топологии произошло много изменений, и Visio не успевает за тенденциями. Например, у него нет функции автоматического обнаружения хоста. Следовательно, его постепенно вытеснили другие инструменты, хотя этот вариант все еще стоит рассмотреть.
Инструмент имеет более 70 шаблонов карт, из которых вы можете выбирать, которых может быть достаточно, но значительно меньше, чем у большинства других инструментов. Он также имеет множество значков, которые вы можете использовать для представления различных компонентов вашей сети.
Microsoft Visio Professional
Но вы должны отдать это MV. У него очень удобный интерфейс, что делает его идеальным инструментом для новичка. В попытке преодолеть отсутствие автоматического обнаружения Microsoft позволяет интегрировать этот инструмент с Visio Connector, который будет выполнять обнаружение. Это надстройка для Microsoft Baseline Security Analyzer.
В последней версии Microsoft Visio люди могут добавлять комментарии к схемам вашей карты либо через инструмент, либо через его онлайн-панель. Это облегчает совместную работу команды при разработке топологии. Выпуски Business позволяют интегрироваться со Skype для обмена мгновенными сообщениями в Microsoft Visio во время процесса сопоставления.