Главная > Технологии > Сети > Маршрутизация Принципы маршрутизации и преобразования IP-трафика в VPN-сети, созданной с использованием технологии ViPNet
Оглавление:
1. Введение
9. Заключение
1. ВведениеТехнология ViPNet предназначена для создания защищенных виртуальных сетей (VPN) в глобальных и локальных IP-сетях. В отличие от других технологий VPN, технология ViPNet обеспечивает прозрачное взаимодействие защищаемых компьютеров, независимо от способа и места подключения этих компьютеров к сети, а также типа выделяемого адреса. При этом обеспечивается не только гарантированная защита трафика, передаваемого между компьютерами, включенными в VPN, от перехвата и модификации, путем его шифрования, но также защита самих компьютеров от сетевых атак из любой точки сети за счет интегрированных в технологию ViPNet персональных и межсетевых экранов. Виртуальная сеть строится путем установки на компьютеры (сетевые узлы) двух типов программного обеспечения: ViPNet-клиента и ViPNet-координатора. ViPNet-клиент обеспечивает сетевую защиту и включение в VPN отдельных компьютеров. Компьютер с ViPNet-координатором обычно устанавливается на границах локальных сетей и их сегментов, обеспечивает включение в VPN открытых и защищенных компьютеров, находящихся в этих локальных сетях или их сегментах независимо от типа адреса, выделяемого им, разделение и защиту сетей от сетевых атак, а также оповещение ViPNet-клиента о состоянии других сетевых узлов, связанных с ним. Пакет программ ViPNet реализован для операционных систем Windows, Linux, Solaris. Компьютер с ViPNet-клиентом в дальнейшем именуется абонентским пунктом (АП). Компьютер с ViPNet-координатором - координатором. Абонентские пункты и координаторы являются сетевыми узлами или просто узлами сети ViPNet. Управление виртуальной сетью, допустимыми связями и распределением ключевой информации между узлами обеспечивается из Центра управления сетью (ЦУС). В настоящей статье рассматриваются основные принципы маршрутизации и преобразования трафика, реализованные в виртуальной сети ViPNet, обеспечивающие возможность безопасного взаимодействия компьютеров при любых способах их подключения к сети. Принципы управления сетью, ее ключевая структура, принципы служебного взаимодействия узлов, осуществляемого на прикладном уровне, технология фильтрации трафика, прикладные системы и почтовый транспорт технологии ViPNet, технология создания инфраструктуры электронной цифровой подписи не являются предметом рассмотрения настоящей статьи. ↑ Вернуться к оглавлению ↑2. Общие принципы взаимодействия узлов в виртуальной сетиСетевые узлы (абонентские пункты и координаторы) сети ViPNet могут работать в глобальной сети как автономно, то есть не устанавливаться ни за какие типы межсетевых экранов (Firewall), так и могут устанавливаться за различные типы Firewall и другие устройства, выполняющие функции преобразования адресов (NAT). Выбор того или иного режима работы модуля ViPNet определяется местом и способом подключения узла ViPNet к сети. Оповещение абонентского пункта о состоянии других узлов сети для взаимодействия с ними осуществляет сервер IP-адресов (функциональная составляющая координатора). По умолчанию функции сервера IP-адресов для абонентского пункта выполняет координатор, на котором этот абонентский пункт был зарегистрирован в ЦУСе. Этот координатор всегда владеет полным объемом информации обо всех узлах сети, связанных с данным абонентским пунктом. Однако пользователь, при необходимости, может выбрать в качестве сервера IP-адресов и любой другой координатор, доступный ему. В этом случае абонентский пункт также сможет получить информацию о большинстве связанных с ним узлов и рассказать им о себе. Команда о назначении сервера IP-адресов может быть прислана также из ЦУСа. Технология обмена информацией о сетевых настройках узлов в сети ViPNet выполняется на прикладном уровне операционной системы, но здесь подробно не рассматривается. Все основные технические решения, обеспечивающие создание туннельных VPN-соединений и фильтрацию трафика, реализованы в низкоуровневом драйвере модуля ViPNet. Этот драйвер взаимодействует с драйверами сетевых интерфейсов (реальных или их эмулирующих) операционной системы и для него нет принципиального значения, каким способом подключен компьютер к сети. Это может быть сеть Ethernet или PPPoE через XDSL-подключение, PPP через обычный Dial UP или ISDN, сеть сотовой связи GPRS или Wireless-устройства, сети MPLS или VLAN. Модуль ViPNet автоматически поддерживает разнообразные протоколы канального уровня. Для создания туннельных VPN-соединений между узлами используется два типа IP-протокола, в который упаковывается любой другой IP-протокол: IP/241 и IP/UDP (с портом 55777 по умолчанию.) При взаимодействии абонентских пунктов, доступных друг другу напрямую по реальному адресу узла (т.е. когда между ними отсутствуют устройства с NAT), система автоматически использует более экономичный протокол IP/241 (не имеющий дополнительных UDP-заголовков размером 12 байт). Этот же протокол используется при взаимодействии любых узлов, находящихся в одной локальной сети и принимающих друг от друга широковещательные пакеты, При взаимодействии узлов, недоступных друг другу напрямую по реальному адресу узла (т.е. между ними есть устройства, выполняющие NAT, в том числе координаторы), система автоматически использует протокол UDP, для которого легко обеспечивается прохождение IP-пакетов через любые типы Firewall и другие устройства с NAT. Для обеспечения возможности работы сетевых узлов из любых точек сети, модуль ViPNet имеет четыре основных режима работы через Firewal: a) Автономная работа (без установки за Firewall c NAT), Принцип выбора режима работы для конкретного сетевого узла вытекает из особенностей реализации в системе ViPNet технологии оповещения и авторегистрации состояния узлов и их местонахождения в сети, заключающихся в следующем: Если узел имеет IP-адрес, доступный по общим правилам маршрутизации пакетов в IP-сети со стороны любых других узлов, с которыми этот узел должен взаимодействовать, например, имеет реальный адрес сети Интернет или корпоративной сети, то этому узлу достаточно сообщить другим узлам только свои IP-адреса. В этом случае может выбираться режим a). Если узел имеет частный IP-адрес, по которому в соответствии с общими правилами маршрутизации нельзя получить доступ со стороны некоторых других узлов, т.е. при выходе во внешнюю сеть стоит Firewall или иное устройство, выполняющее преобразование адресов (NAT), то другие узлы должны узнать о данном узле существенно больше информации. Для бесперебойного доступа к данному узлу потребуется не только информация об адресах этого узла, но и информация об адресах и портах доступа в данный момент через устройство c NAT. В этом случае необходимо выбрать для данного узла один из режимов b), c), или d). Следует также отметить, что если узлы находятся в одной локальной сети в области доступности друг другу по широковещательным пакетам, то независимо от выбранного режима работы взаимодействие между ними всегда осуществляется напрямую по IP-адресу узла. Рассмотрим более подробно принципы работы сети ViPNet для каждого из этих режимов. 3. Работа узлов без использования FirewallВ этом случае опция "Использовать межсетевой экран (Firewall)" в настройках узла отключена. Такой режим следует использовать, если узел имеет хотя бы один IP-адрес, доступный напрямую с любого другого узла сети, связанного с данным узлом, например, реальный адрес Интернет. Любые узлы, установленные в этот режим, взаимодействуют между собой всегда напрямую по доступному адресу. При этом трафик между абонентскими пунктами в этом режиме инкапсулируется в IP-пакеты протокола IP/241 (Рисунок 3). Трафик таких узлов с координаторами, с узлами, находящимися за координаторами, другими типами Firewall, всегда упаковывается в протокол IP/UDP. Если узел в таком режиме находится в локальной сети с частными адресами, подключенной к внешней сети через Firewall или другие устройства, осуществляющие преобразование адресов, то он не сможет взаимодействовать с узлами, находящимися во внешней сети. ViPNet-координатор, находящийся в этом режиме и установленный на границе сетей, выполняет функции NAT для VPN-соединений между узлами ViPNet в сторону каждой из сетей. То есть во все IP-пакеты, инкапсулированные в UDP-формат и проходящие через ViPNet-координатор, в качестве адреса источника подставляется адрес соответствующего интерфейса координатора. ViPNet-координатор выполняет также шифрование, инкапсуляцию в UDP-формат (туннелирование) заданного открытого трафика локальной сети, который должен быть передан другим узлам ViPNet или открытым компьютерам, находящимся за другими координаторами (Рисунок 3). Туннелироваться может трафик любых устройств, находящихся со стороны любого сетевого интерфейса. При этом передача закрытого трафика производится от имени адреса интерфейса координатора, с которого уходит этот трафик, (то есть выполняется NAT). Если узел ViPNet взаимодействует с туннелируемым некоторым координатором компьютером, и этот компьютер находится в одной подсети, заданной для узла ViPNet, то в этом случае узел ViPNet взаимодействует с этим компьютером напрямую без шифрования трафика. Расшифрованные пакеты для туннелируемых компьютеров всегда отправляются в сеть от имени реального или виртуального (о технологии виртуальных адресов будет рассказано ниже) адреса компьютера, пославшего этот пакет. 4. Работа узлов с использованием типа Firewall "ViPNet-координаторЕсли на границе локальной сети установлен ViPNet-координатор, то узлы, имеющие связь с ним, могут встать за этот координатор, то есть выбрать этот координатор в качестве узла, через который и от имени которого будет осуществляться обмен информацией между узлами, находящимися в разных сетях. В этом случае выбирается режим использования типа Firewall "ViPNet-координатор". По умолчанию в качестве Firewall всегда выбирается координатор (если иное не задано в ЦУСе), на котором данный абонентский пункт зарегистрирован в ЦУСе. При необходимости в качестве такого Firewall пользователем (или по команде из ЦУСа) может быть выбран любой доступный данному узлу по прямому адресу координатор. Это дает возможность мобильным пользователям при приезде в другое место, где есть такой координатор, подключившись к локальной сети и получив там адрес, моментально получить доступ ко всем ресурсам, доступным из его собственной локальной сети. При этом в качестве сервера IP-адресов может оставаться его родной координатор, что позволяет одновременно получить полный объем информации для получения доступа к другим узлам, с которыми связан данный пользователь, поскольку чужой координатор может владеть такой информацией не в полном объеме. Команда о назначении другого координатора в качестве Firewall может быть прислана также из ЦУСа. Возможность выбора для работы в качестве Firewall различных координаторов полезна, например, в случае выхода из строя отдельного оборудования или каналов связи. Если узел установлен за координатор, то его трафик, предназначенный для других узлов, недоступных по широковещательным пакетам и: Автоматическая маршрутизация зашифрованных пакетов на собственный координатор позволяет не устанавливать шлюз по умолчанию на свой координатор, и тем самым обеспечить возможность маршрутизации открытых пакетов, если это необходимо, на другие шлюзы, и не делать дополнительных настроек на компьютере после установки модуля ViPNet. Технология ViPNet позволяет значительно упростить администрирование большой локальной сети, разделенной на сегменты различного рода маршрутизаторами и коммутаторами, на которых, как правило, в целях безопасности настраиваются допустимые для пропуска адреса и протоколы. Если узел такой сети установить за ViPNet-координатор, то не потребуется настройка множества допустимых внешних адресов и протоколов. В такой конфигурации будет циркулировать только UDP-трафик с внутренними адресами своего сегмента и внутренним адресом ViPNet-координатора. Если в локальной сети, на границе которой установлен ViPNet-координатор, требуется обеспечить защиту трафика некоторого внутреннего сегмента сети в целом, то на границе этого сегмента сети может быть также установлен ViPNet-координатор, который устанавливается за внешний ViPNet-координатор (Рисунок 5). То есть обеспечивается возможность каскадного включения координаторов с автоматической маршрутизацией трафика от внутреннего сегмента сети, как в локальную, так и внешнюю сеть. 5. Работа узлов с использованием типа Firewall "Со статическим NAT"В ряде случаев на границе локальной сети может быть уже установлен Firewall другого производителя, выполняющий функции NAT, и в соответствии с политикой безопасности организации любой трафик во внешние сети должен проходить именно через этот Firewall, или просто нет возможности получить дополнительные внешние адреса. Любой узел ViPNet может быть установлен за этот Firewall. Если на этом Firewall доступна настройка статических правил NAT, о которых будет сказано ниже, то в этом случае выбирается режим c использованием типа Firewall "Со статическим NAT". Если в локальной сети установлено несколько узлов ViPNet, то в такой ситуации наиболее удобно установить в этой сети также и ViPNet-координатор с одним или более сетевыми интерфейсами. На этом координаторе для одного из интерфейсов выбирается тип Firewall "Со статическим NAT". На компьютере с координатором настраивается маршрутизация на внешний Firewall (шлюз по умолчанию или маршруты для удаленных подсетей). Другие узлы ViPNet автоматически (если в ЦУСе не указано иное) по умолчанию установятся за этот координатор, (то есть станут в режим использования типа Firewall "ViPNet-координатор"). В этом случае пакеты от всех узлов на внешний Firewall будут попадать через координатор от имени его адреса. (Рисунок 6). Если в локальной сети нет ViPNet-координатора, то на каждом из абонентских пунктов должен быть выбран тип Firewall "Со статическим NAT" и произведена настройка маршрутизации на внешний Firewall. При этом на каждом узле должен быть назначен свой порт доступа. Для обеспечения свободного прохождения трафика через внешний Firewall на этом Firewall должны быть настроены статические правила NAT, обеспечивающие: 1. пропуск наружу UDP-пакетов с адресами и портами источников (с подменой адреса источника на свой адрес): 1а. если есть координатор, за который установлены все узлы, то только координатора (порт по умолчанию 55777, но его можно изменить), 1б. если нет такого координатора, то - всех автономных узлов 2. перенаправление входящих пакетов на внутренние адреса, соответствующие порту назначения входящего пакета. Если есть общий координатор, то только на него (порт по умолчанию 55777). Если общего координатора нет, то в соответствии с портом назначения, заданного для каждого из узлов локальной сети. 6. Работа узлов с использованием типа Firewall "С динамическим NAT"Этот режим наиболее универсален и может использоваться практически во всех случаях. Однако основное его назначение - обеспечить надежную двустороннюю связь с узлами, находящимися за устройствами NAT, на которых настройка статических правил NAT затруднена или невозможна. Такая ситуация типична для простых устройств NAT с минимумом настроек, используемых в частности в DSL-модемах, Wireless-устройствах, при использования технологии общего доступа Microsoft через компьютер, подключенный к Интернет по удаленному соединению. Затруднительно также произвести настройки на устройствах NAT, установленных у провайдера (в домовых сетях, GPRS и других сетях, где провайдер предоставляет частный IP-адрес). Однако все устройства NAT обеспечивают пропуск UDP-трафика в режиме автоматического создания так называемых динамических правил NAT. То есть пропускаются любые исходящие пакеты с подменой адреса и порта, фиксируются их параметры (создаются динамические правила пропуска для входящего трафика), и в течение некоторого промежутка времени пропускаются входящие пакеты, параметры которых соответствуют созданным правилам. По истечении заданного промежутка времени после последнего исходящего пакета, соответствующие динамические правила удаляются, и входящие пакеты начинают блокироваться. То есть инициативное соединение извне с узлами, стоящими за такими устройствами NAT, невозможно, если не будет соответствующего исходящего трафика. Для обеспечения возможности двусторонней работы на узле, стоящем за устройством с NAT, следует установить режим с использованием типа Firewall "С динамическим NAT". Одновременно должен присутствовать постоянно доступный координатор, находящийся во внешней сети. Для абонентского пункта по умолчанию - это его сервер IP-адресов (если иное не задано в ЦУСе). Пользователь, при необходимости может выбрать любой другой координатор, доступный ему. Для координатора - это любой другой постоянно доступный координатор, находящийся во внешней сети. Узел в этом режиме после подключения к сети с заданным периодом (по умолчанию - 25 секунд) производит отправку на свой координатор UDP-пакетов. Это позволяет любому внешнему узлу в любой момент через сервер IP-адресов узла, стоящего за устройством NAT, прислать на этот узел через VPN-соединение пакет любого типа. После первого полученного в ответ пакета (исходящие пакеты узел за устройством с NAT всегда отправляет адресату напрямую, минуя сервер IP-адресов) внешний узел автоматически начинает передавать весь трафик напрямую узлу, стоящему за NAT. Такая технология обеспечивает постоянную доступность узла за устройством с NAT и, одновременно, существенно увеличивает скорость обмена между узлами. Период опроса своего координатора - настраиваемый параметр. По умолчанию он составляет 25 секунд, что является достаточным для большинства устройств NAT с динамически создаваемыми правилами. В окне настроек режима есть опция "Любой трафик с внешними узлами направлять через сервер IP-адресов", которая по умолчанию отключена. При ее включении весь исходящий и входящий трафик будет идти только через сервер IP-адресов, находящийся во внешней сети, что может существенно снизить скорость обмена. Поэтому включение этой опции рекомендуется только в специальных случаях, о которых будет сказано ниже. Если в локальной сети за устройством NAT есть несколько узлов ViPNet, то в такой ситуации наиболее удобно установить также ViPNet-координатор с одним или более сетевыми интерфейсами. На этом координаторе: Другие узлы ViPNet автоматически по умолчанию (если иное не задано в ЦУСе) установятся за этот координатор, (то есть станут в режим использования типа Firewall "ViPNet-координатор"). Если в локальной сети нет ViPNet-координатора, то на каждом из абонентских пунктов должен быть выбран тип Firewall "С динамическим NAT" и произведена настройка маршрутизации на внешнее устройство с NAT. 7. Специальные случаи использования режимов с различными типами FirewallВ ряде случаев использование различных типов Firewall может быть полезным и в случаях, отличных от типовых случаев, описанных в предыдущих разделах. Если узел находится во внешней сети, например Интернет, имеет ее реальный адрес, сервер IP-адресов узла постоянно доступен, то при выборе режима с типом Firewall "Со статическим NAT" другие узлы, в том числе его сервер IP-адресов, будут считать этот узел, расположенным за Firewall (с внешним адресом, равным собственному IP-адресу узла). В этом случае между этими узлами вместо протокола IP/241 всегда будет использоваться протокол UDP, а главное этот узел будет доступен с других узлов не только по своему адресу, но и по некоторому виртуальному адресу, предложенному системой ViPNet. Это в ряде случаев бывает очень полезным при решении вопросов маршрутизации внутри локальной сети или организации разграничения доступа к информации по IP-адресу. Для данного случая допустимо использование и режима с типом Firewall "С динамическим NAT", но предпочтительным является тип Firewall "Со статическим NAT", поскольку в этом режиме не создается излишний трафик на свой сервер IP-адресов. Если узел мобильного пользователя находится во внешней сети, например Интернет, имеет ее реальный адрес, но его сервер IP-адресов находится за устройством c NAT и может быть не доступен, то можно выбрать режим с типом Firewall "ViPNet-координатор", а в качестве координатора, исполняющего роль Firewall, выбрать другой постоянно доступный и не установленный ни за какие Firewall координатор. В этом случае любой трафик такого мобильного пользователя, в том числе и с его сервером IP-адресов, будет проходить через этот координатор, и пользователь сможет получить доступ ко всем ресурсам, доступным из его собственной локальной сети. Если узел находится в локальной сети, в которой есть ViPNet-координатор, установленный на границе сети, то другие абонентские пункты этой локальной сети, как уже указывалось, целесообразно устанавливать за этот ViPNet-координатор. Вместе с тем будут работоспособны и узлы этой локальной сети, в которых выбран иной тип Firewall: Такие возможности могут быть использованы опытными администраторами для организации различных схем маршрутизации IP-пакетов. 8. Виртуальные адреса системы ViPNetНа каждом узле ViPNet для каждого другого узла, с которым имеет связь данный узел, автоматически формируется некоторый один или более виртуальных адресов. Виртуальные адреса никак не зависят от реальных адресов узлов и привязаны на данном узле к уникальным идентификаторам узлов, присвоенным им в ЦУСе. На каждом узле для всех узлов формируется свой набор виртуальных адресов. Большинство приложений может использовать эти адреса при обращении на соответствующий компьютер. Драйвер системы ViPNet при отправке и получении пакетов производит необходимые подмены адресов для стандартных сетевых протоколов, в том числе для протоколов служб имен DNS, WINS, NetBIOS. Модули ViPNet по умолчанию используют виртуальные адреса при взаимодействии с компьютерами, которые модуль ViPNet, определил, как установленные за устройства с NAT, и имеющие частные IP-адреса. При изменении расположения удаленного компьютера, что характерно для мобильных компьютеров, и получении этим компьютером вместо частного, реального адреса, автоматически изменяется статус видимости этого узла, если иное не задано пользователем. Данная технология становится совершенно незаменимой при необходимости организации соединений между компьютерами, расположенными в подсетях с конфликтующими IP-адресами. Эта ситуация сейчас особенно часто встречается в связи с широким распространением технологий Wireless, xDSL, Home Network и др., где адреса очень часто присваиваются из одной и той же подсети, например 192.168.*.*. Присвоенные модулем ViPNet неповторяющиеся виртуальные адреса полностью решают данную проблему. Другой областью использования виртуальных адресов является возможность их применения для разграничения доступа к информационным базам данных. Всегда считалось, что использование IP-адреса в качестве критерия разграничения доступа в связи с возможностью его легкой подделки, является крайне ненадежным средством. В связи с этим для разграничения доступа обычно используют пароли, формируемые с той или иной степенью сложности, но для которых, тем не менее, существует масса способов взлома. В современных технологиях для разграничения доступа начинают использоваться технологии, основанные на инфраструктуре открытых ключей (PKI) и цифровых сертификатов. Однако при ответственном отношении к этому вопросу создание всей инфраструктуры PKI является сложной и дорогой технической задачей. Модуль ViPNet, принимая из сети любой IP-пакет, передает его приложению, подставляя соответствующий виртуальный адрес отправителя, только в том случае, если пакет удалось расшифровать на ключах отправителя. Таким образом, обеспечивается гарантированная криптографическая защита IP-адреса от подделки, а, следовательно, и надежная криптографическая идентификация пользователя. Подделка адреса возможна только в случае, если злоумышленнику удалось завладеть соответствующими ключами. Однако сделать это через сетевые атаки практически невозможно, поскольку именно для предотвращения подобного типа проблем и предназначены технологические решения сетевой защиты ViPNet. 9. ЗаключениеРассмотренные в настоящей статье методы и способы использования технологических решений ViPNet для организации безопасного соединения компьютеров в IP-сетях с непрозрачной адресацией, то есть разделенных устройствами, выполняющих преобразование адресов (NAT), решают все возникающие на сегодня практические потребности в этой области. При этом все задачи решаются без модификации существующих сетей, а за счет наличия системы оповещения и авторегистрации - и без сложных дополнительных настроек на узлах со стороны пользователей и администраторов. Материал взят с сайта:Главная > Технологии > Сети > Маршрутизация |