четверг, 27 мая 2010 г.

ISSP \ Домен 05. Телекоммуникации и сетевая безопасность. Часть 5

В этой части рассмотрены следующие вопросы:
  • Протоколы маршрутизации
  • Сетевые устройства
  • Повторители
  • Мосты
  • Таблицы пересылки


Отдельные сети в Интернет называются автономными системами (AS – autonomous system). Эти AS независимо управляются различными корпорациями и организациями. AS создаются с помощью маршрутизаторов, самостоятельно администрируемых каждой компанией, которой принадлежит соответствующая AS. Границы AS определяются граничными маршрутизаторами, на границах используюется протокол IGP (Interior Gateway Protocol - Внутренний шлюзовой протокол). Граничные маршрутизаторы одной AS соединяются с граничными маршрутизаторами других AS, при этом применяются внутренние и внешние протоколы маршрутизации. Внутренние маршрутитизаторы соединяются с другими маршрутизаторам в рамках одной AS, при этом применяются внутренние протоколы маршрутизации. Таким образом, Интернет – это в действительности просто сеть, созданная из автономных систем и протоколов маршрутизации.

Архитектура Интернет, поддерживающая эти различные AS, создана таким образом, чтобы при подключении к отдельной AS не требовалось знать и понимать используемые внутри нее протоколы. Для взаимодействия с AS используются те же внешние протоколы маршрутизации (см. Рисунок 5-27). В качестве аналогии представьте, что вам нужно передать пакет другу, который живет в другой стране. Вы передаете пакет брату, который собирается ехать на поезде в город на границе с этой страной, чтобы он отправил пакет по почте на границе. При этом вы знаете, как ваш брат доедет до границы – на поезде, но вы не знаете, как почтовая служба доставит ваш пакет вашему другу домой (на грузовике, автобусе или машине), и это вас не волнует. Пакет достигнет цели без вашего участия. Точно также при взаимодейтсвии сетей, одна сеть кладет пакеты данных на внешний протокол (поезд), после чего этот пакет перемещается на граничный маршрутизатор другой сети (граница страны). Таким образом, данные будут переданы в любом случае, какой бы внутренний протокол не использовался в сети получателя. Протоколы маршрутизации используются маршрутизаторами для определения маршрута между системами отправителя и получателя.

Рисунок 5-27. Автономные системы

Протоколы маршрутизации могут быть динамическими или статическими. Динамический протокол маршрутизации (dynamic routing protocol) может находить маршруты и строить таблицу маршрутизации. Маршрутизаторы используют таблицы маршрутизации для принятия решения о наилучшем маршруте для поступивших пакетов. Динамический протокол маршрутизации может изменять записи в таблице маршрутизации на основе изменений различных маршрутов. Когда маршрутизатор, использующий динамический протокол маршрутизации, обнаруживает, что какой-либо маршрут не работает или перегружен, он отправляет соответвующее уведомление об этом другим маршрутизаторам вокруг него. Получившие это уведомление маршрутизаторы обновляют на основе него свои таблицы маршрутизации, что необходимо для реализации эффективной маршрутизации. Статический протокол маршрутизации (static routing protocol) требует ручной настройки таблицы маршрутизации администратором.

Такие изменения маршрутов, вызванные постоянным изменением доступности маршрутизаторов, называются колебанием маршрутов (route flapping). Если маршрутизатор не получил уведомление о неработоспособности какого-либо маршрута, он продолжит пересылать пакеты по этому маршруту, который в этом случае будет называться черной дырой (black hole).

Двумя основными типами используемых протоколов маршрутизации являются протокол дистанционно-векторной маршрутизации (distance-vector routing protocol) и протокол маршрутизации по состоянию канала (link-state routing protocol). Протоколы дистанционно-векторной маршрутизации принимают решения о маршрутах на основе расстояния (или количества «прыжков» (hop)) и вектора (направления). Протокол использует эти переменные в алгоритме определения лучшего маршрута для пакета. Протоколы маршрутизации по состоянию канала строят более точную таблицу маршрутизации, поскольку они строят топологическую базу данных сети. Эти протоколы анализируют большее количество переменных, чем просто количество «прыжков» между двумя системами – в своих алгоритмах определения наилучшего маршрута для пакета они используют такие параметры, как размер пакета, скорость соединения, задержки, загруженность и надежность.

Таким образом, протокол дистанционно-векторной маршрутизации смотрит только на число «прыжков» между двумя системами, считая все «прыжки» одинаковыми. Протоколы маршрутизации по состоянию канала рассматривают больше частей этой головоломки – они анализируют не просто количество «прыжков», но и понимают состояние каждого из этих «прыжков», учитывая это при принятии решения о маршруте. Как вы узнаете далее, RIP – это пример протокола дистанционно-векторной маршрутизации, а OSPF – пример протокола маршрутизации по состоянию канала. OSPF более предпочтителен и чаще используется в больших сетях. RIP также применяется, но его используют в основном в маленьких сетях.

Ниже приведены примеры некоторых внутренних протоколов маршрутизации, используемых в настоящее время:
  • RIP (Routing Information Protocol - Протокол информации маршрутизации) – это стандарт, который описывает, как маршрутизаторы обмениваются данными таблиц маршрутизации. Он основан на протоколе дистанционно-векторной маршрутизации, т.е. он рассчитывает самое короткое расстояние между отправителем и получателем. Он считается унаследованным протоколом, поскольку имеет низкую производительность и небольшую функциональность. Его следует использовать только в небольших сетях. Следует также учитывать, что RIP версии 1 не имеет аутентификации, RIP версии 2 отправляет пароли открытым текстом, либо хэширует с помощью MD5.
  • OSPF (Open Shortest Path First - Протокол маршрутизации по принципу выбора кратчайшего пути) использует для отправки данных таблиц маршрутизации алгоритмы, учитывающие состояние канала. Применение этих алгоритмов позволяет выполнять небольшие, но более частые обновления таблиц маршрутизации, что обеспечивает большую стабильность сети (по сравнению с RIP), но требует больше памяти и ресурсов процессора для поддержания этих процессов. OSPF позволяет использовать иерархическую маршрутизацию сети, которая имеет магистраль, соединяющую вместе все подсети. На сегодняшний день OSPF заменил RIP во множестве сетей. В OSPF аутентификация может осуществляться с помощью пароля, передаваемого открытым текстом, либо хэш-функции пароля, но также существует возможность отключить аутентификацию на маршрутизаторах с ис ользованием этого протокола.
  • IGRP (Interior Gateway Routing Protocol - Протокол внутренней маршрутизации между шлюзами) – это протокол дистанционно-векторной маршрутизации, который был разработан Cisco и является ее собственностью. В то время как RIP использует только один критерий для поиска наилучшего маршрута между отправителем и получателем, IGRP использует 5 критериев для принятия решения о наилучшем маршруте. Сетевой администратор может настроить вес этих различных критериев, чтобы обеспечить максимально эффективную работу этого протокола в конкретной сети.
ПРИМЕЧАНИЕ. Несмотря на то, что большинство протоколов маршрутизации имеет функции аутентификации, на большинстве маршрутизаторов аутентификация не включена.
Внешние протоколы маршрутизации, используемые для соединения маршрутизаторами различных AS, обычно называются внешними шлюзовыми протоколами (EGP – Exterior Gateway Protocol). BGP (Border Gateway Protocol – Граничный шлюзовой протокол) позволяет маршрутизаторам различных AS совместно использовать информацию маршрутизации для обеспечения оптимальной и эффективной маршрутизации между различными сетями. BGP обычно применяется интернет-провайдерами для маршрутизации данных в Интернете из одного места в другое.
ПРИМЕЧАНИЕ. Ранее существовал внешний протокол маршрутизации, который назывался EGP, но он был повсеместно заменен на BGP и сейчас термин «граничный шлюзовой протокол» и аббревиатура «EGP» используются в основном для указания типа протокола, а не самого протокола.
BGP использует комбинацию алгоритмов дистанционно-векторной маршрутизации и маршрутизации по состоянию канала. Он строит базу данных сетевой топологии, используя для этого свою функциональность контроля состояния канала, и передает обновления таблицы маршрутизации на периодической основе, аналогично протоколам дистанционно-векторной маршрутизации, а не непрерывно. Сетевой администратор может указать вес для различных переменных, используемых этим протоколом для контроля состояния канала при выборе наилучшего маршрута. Эти настройки в общем виде называются политикой маршрутизации (routing policy).

Существует несколько типов атак на маршрутизаторы, которые проводятся посредством используемых ими протоколов маршрутизации. Целью большинства таких атак является нарушение маршрутов трафика путем использования ложных ICMP-сообщений. Атакующий может выдавать свой компьютер за другой маршрутизатор и изменить с помощью него таблицу маршрутизации на маршрутизаторе-жертве. После применения маршрутизатором этой ложной информации, он может начать отправлять трафик неправильным подсетям или компьютерам, либо вообще несуществующим адресам (черная дыра). Эти атаки чаще всего оказываются успешными, если на маршрутизаторе не включена аутентификация для протокола маршрутизации. Если аутентификация не выполняется, маршрутизатор принимает и применяет обновления таблиц маршрутизации, не зная, является ли отправитель этих обновлений легитимным маршрутизатором. Атакующий может изменить маршруты трафика компании для получения конфиденциальной информации или просто нарушения потока трафика, что будет аналогично DoS-атаке.

Существуют и другие типы DoS-атак, такие как флудинг порта маршрутизатора, переполнение буфера, SYN-флуд. Существует множество различных типов атак, а также множество соответствующих им конрмер, о которых следует знать для эффективного противодействия этим атакам. Большинство этих контрмер используют аутентификацию и шифрование передаваемых данных маршрутизации с использованием общих ключей или IPSec. Хорошее описание этих атак и соответствующих контрмер приведено в документе SAFE компании Cisco: «SAFE: Best Practices for Securing Routing Protocols».
Атака «червоточина» (wormhole). Атакующий может перехватить пакеты в одном месте в сети и посредством туннеля передать их в другое место в сети. В атаке такого типа участвуют двое атакующих – по одному на каждом конце туннеля. Например, один атакующий может перехватить аутентификационный токен, отправленный на сервер аутентификации, и передать этот токен другому атакующему, который может воспользоваться им для получения несанкционированного доступа к ресурсу. Это может происходить как в проводных, так и в беспроводных сетях, но проще делать это в беспроводных сетях, поскольку атакующему для этого не нужно физически подключаться к сетевому проводу.

Контрмерой для этого типа атак является использование «поводка» (leash), который реально является определенными данными, помещенными в заголовок отдельных пакетов. Такой «поводок» ограничивает максимальное расстояние передачи пакетов. «Поводок» может быть географическим, гарантируя, что пакет остается в пределах определенного расстояния от отправителя, либо временным, ограничивая время жизни пакета. Это все равно, что одеть ошейник на собаку, чтобы она не смогла отойти от вас дальше, чем на метр.

В средах LAN, MAN, WAN используется большое количество различных типов устройств, обеспечивающих взаимодействие между компьютерами и сетями. Применение тех или иных устройств зависит от их функциональности, возможностей, интеллектуальности и положения в сети. Мы рассмотрим следующие устройства:
  • Повторители
  • Мосты
  • Маршрутизаторы
  • Коммутаторы

Повторитель (repeater) обеспечивает простейший тип связи, поскльку он только повторяет и усиливает электрические сигналы между сегментами кабеля, позволяя расширить сеть. Повторители работают на физическом уровне и являются дополнительными устройствами, позволяющими расширить сеть, увеличив расстояние, на которое могут передаваться данные. Это устройство усиливает сигналы, затухающие при прохождении по сети.

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

Концентратор (hub, хаб) – это многопортовый повторитель. Концентратор является физическим коммуникационным устройством, позволяющим нескольким компьютерам и другим устройствам взаимодействовать друг с другом. Концентратор не понимает и не работает с IP- или МАС-адресами. Когда одна система отправляет сигнал другой системе, подключенной к концентратору, сигнал рассылается широковещательно на все порты и, соответственно, на все системы, подключенные к этому концентратору.


Мост (bridge) – это устройство, используемое для соединения сегментов LAN. Мост работает на канальном уровне и поэтому использует МАС-адреса. Повторитель не использует адреса – он просто пересылает все получаемые им сигналы. Когда кадр поступает на мост, мост определяет, принадлежит ли его МАС-адрес локальному сетевому сегменту. Если МАС-адрес не принадлежит локальному сетевому сегменту, он пересылает кадр в нужный ему сетевой сегмент.

Мост используется для разделения перегруженной сети на небольшие сегменты, для обеспечения наилучшего использования полосы пропускания и управления трафиком. Мост усиливает электрические сигналы, также как это делает повторитель, но он интеллектуальнее повторителя. Мост применяется для расширения LAN, а также позволяет администратору фильтровать кадры, определяя какой кадр куда отправить.

При использовании мостов вам нужно внимательно следить за «широковещательными штормами» (broadcast storm). Поскольку мосты пересылают весь трафик, они будут пересылать и все широковещательные пакеты. Это может перегрузить сеть в результате «широковещательного шторма», что приведет к деградации пропускной способности и производительности сети.

Используется три основных типа мостов: локальный, удаленный и транслирующий. Локальный мост (local bridge) соединяет два или более сегментов LAN в пределах локальной сети. Удаленный мост (remote bridge) может соединить два и более сегментов LAN через MAN, используя телекоммуникационные каналы. Удаленный мост оборудуется телекоммуникационными портами, позволяющими ему соединить два и более сегментов LAN, которые разделяет большое расстояние. При этом такой мост может использовать, в том числе, телефонные линии. Транслирующий мост (translation bridge) необходим для соединения двух LAN различных типов, использующих разные стандарты и протоколы. Например, представим себе соединение между сетью Token Ring и сетью Ethernet. Кадры в сети каждого типа имеют разный размер, поля в них содержат информацию различных протоколов, а сами сети работают на разных скоростях. Если между ними будет установлен обычный мост, кадры Ethernet попадут в сеть Token Ring и наоборот, и никто не сможет понять сообщения, пришедшие из другого сетевого сегмента. Транслирующий мост, в соответствии со своим именем, транслирует пакеты между двумя сетями различных типов.

Ниже приведен список функций моста:
  • Сегментирует большую сеть на небольшие и лучше управляемые
  • Использует фильтрацию на основе MAC-адресов
  • Объединяет различные типы сетевых соединений, сохраняя тот же широковещательноый домен
  • Изолирует коллизионные домены в рамках одного широковещательного домена
  • Может обеспечивать функции моста как локально – в пределах одной LAN, так и для соединения территориально удаленных LAN
  • Может обеспечивать трансляцию кадров между протоколами различных типов
ПРИМЕЧАНИЕ. Не путайте мосты и маршрутизаторы. Маршрутизаторы работают на сетевом уровне и фильтруют пакеты на основе IP-адресов, тогда как мосты работают на канальном уровне и фильтруют кадры на основе МАС-адресов. Маршрутизаторы обычно не пропускают широковещательные пакеты, а мосты – пропускают.
Таблицы пересылки

Мост должен знать, как передать кадр получателю, для этого он должен знать на какой порт отправить кадр и где находится система получателя. Раньше сетевые администраторы вводили в мосты статические маршруты, указывая, как они должны передавать кадры, направленные различным получателям. Это была очень нудная задача, часто приводившая к ошибкам. Сегодня мосты используют прозрачную маршрутизацию (transparent bridging).

При использовании прозрачной маршрутизации, мост начинает изучать сетевую среду сразу после включения, а также после изменений в сети. Для этого мост анализирует кадры и делает записи в таблицах пересылки (forwarding table). Когда мост получает кадр от нового компьютера-отправителя, он связывает адрес этого отправителя и порт, на который пришел кадр от него. Мост делает это для всех компьютеров, отправляющих кадры в сеть. В конечном счете, мост узнает адреса всех компьютеров в различных сетевых сегментах, а также к какому порту каждый из них подключен. Если мост получает кадр, который должен быть отправлен получателю, отсутствующему в его таблице пересылки, он отправляет специальный запрос в каждый сегмент сети, за исключением сегмента, откуда пришел кадр. Только компьютер получателя отвечает на этот запрос. Получив ответ, мост обновляет свою таблицу пересылки, указывая в ней новый компьютер и порт, к которому он подключен, а затем пересылает ему кадр.

Многие мосты используют алгоритм связующего дерева (STA – Spanning Tree Algorithm), повышающий их интеллектуальность. STA обеспечивает, что кадры не циркулируют по сети вечно, предоставляет избыточные пути в случае отключения моста, присваивает уникальные идентификаторы каждому мосту, присваивает значения приоритета каждому мосту, рассчитывает стоимость маршрутов. Это позволяет реализовать более эффективный процесс пересылки кадров каждым мостом. STA также позволяет администратору указать предпочтительные маршруты передачи трафика.

Если используется маршрутизация от источника (source routing) вместо прозрачной маршрутизации, кадры содержат всю необходимую информацию, чтобы сообщить мосту, куда их нужно отправить. Кадры содержат достаточную информацию для их пересылки, поэтому мостам и маршрутизаторам не нужно навязывать таким кадрам свой вариант маршрута. Но как компьютеру-отправителю узнать правильный маршрут до получателя, если он хочет самостоятельно указать маршрут пересылки и не зависеть от моста? Для этого компьютер-отправитель сначала отправляет специальные пакеты-исследователи, которые доставляются на компьютер-получатель. Такие пакеты содержат информацию о маршруте до пункта назначения, включая информацию о том, через какие мосты нужно проходить. После получания этих пакетов компьютером-получателем, он отправляет их обратно, а компьютер-отправитель извлекает из них информацию маршрутизации, вставляет ее в свой кадр и отправляет его компьютеру-получателю.
Вопросы и ответы.
Вопрос: В чем заключается отличие между двумя LAN, соединенными мостом, от двух LAN, соединенных маршрутизатором?
Ответ: Если две LAN соединены мостом, эти LAN, по сути, были просто расширены, поскольку обе они находятся в одном широковещательном домене. Маршрутизатор может быть настроен таким образом, чтобы он не пересылал широковещательные данные, поэтому результатом соединения двух LAN посредством маршрутизатора является объединенная сеть (internetwork). Объединенная сеть – это группа сетей, объединенных таким способом, который позволяет любому узлу в любой сети взаимодействовать с любым другим узлом. Интернет является примером объединенной сети.
ПРИМЕЧАНИЕ. Внешним устройствам и граничным маршрутизаторам не следует принимать пакеты с информацией маршрутизации от источника в заголовке, т.к. эта информация будет перекрывать информацию в таблицах пересылки и маршрутизации этих промежуточных устройств. Поскольку вы хотите управлять прохождением трафика по сети, вам не нужно, чтобы пакеты могли направляться куда хотят. Маршрутизация от источника может использоваться атакующим для обхода правил фильтрации моста и маршрутизатора.
Ссылки по теме:

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