Адаптивная система VPN в распределенных компьютерных сетях

Адаптивная система VPN в распределенных компьютерных сетях

Владимир Игнатов, эксперт по информационной безопасности

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

Peer to Peer (P2P) – технология построения сети распределенных равноправных узлов по принципу децентрализации.

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

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

Решение такой задачи возможно только криптографическими методами.

Поскольку мы не оговариваем тип передаваемого трафика, то шифрование данных может производиться только на уровне трафика компьютера или подсети, а не отдельных приложений. То есть речь идет о технологиях VPN на уровне 3 с шифрованием IP-трафика.

Вместе с тем технология криптографических VPN обычно используется для создания туннелей через глобальную сеть между VPN-шлюзами (криптошлюзами) локальных сетей, или для обеспечения удаленного доступа пользователей через туннель с VPN-шлюзом в локальную сеть, или для обеспечения доступа по клиент-серверной технологии внутри маршрутизируемой сети. И практически нет решений, которые позволили бы установить точечное VPN-соединение извне с произвольным узлом внутри локальной сети. А именно это необходимо, чтобы обеспечить недоступность трафика в любой точке распределенной сети, в том числе внутри локальной сети. Особенно важным такой подход становится при использовании беспроводных фрагментов локальных сетей.

Требования к VPN 

Что нужно для нормального функционирования подобной виртуальной сети?

1. Для прохождения через устройства NAT VPN-трафик должен быть инкапсулирован в UDP- или TCP-формат.

2. Каждый VPN-узел должен владеть информацией об IP-адресах других узлов в той сети, где эти узлы находятся (только IP-адрес может являться критерием для выбора ключа при создании VPN-соединения), о ближайших IP-адресах и портах доступа к этим узлам через устройства NAT или VPN-шлюзы.

3. Если VPN-узел расположен за динамическим устройством NAT, то должна поддерживаться постоянная возможность прохождения входящего VPN-трафика через устройство NAT от других VPN-узлов. 4. VPN-шлюз должен "знать", через какие VPN-шлюзы можно попасть на другие VPN-узлы. Таким образом, VPN-сеть должна носить адаптивный характер. VPN-узлы должны автоматически регистрировать изменяющуюся информацию о параметрах доступа к VPN-узлам, информировать об этом другие узлы, всегда быть мгновенно готовыми к передаче по определенным маршрутам или приему произвольного трафика.

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

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

В соответствии с изложенными принципами построена технология виртуальных защищенных сетей ViPNet.

Основные элементы технологии ViPNet На каждом узле (защищаемом компьютере или координаторе, осуществляющем защиту выделенного фрагмента локальной сети) устанавливается ПО клиента или координатора, обеспечивающее шифрование трафика и его инкапсуляцию в UDP-формат (VPN-пакет) для свободного прохождения через NAT-устройства (см. рисунок). Одновременно это ПО выполняет функции сетевого экрана как для открытого трафика, так и трафика внутри VPN.

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

Управление связями клиентов и координаторов, симметричной ключевой информацией производится из центров управления сетью (ЦУС) и ключевых центров (КЦ). ЦУСы и КЦ разных виртуальных сетей взаимодействуют между собой, если необходимо организовать взаимодействие между отдельными узлами разных виртуальных сетей.

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

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

Реальная отправка VPN-пакетов производится не по IP-адресу видимости узла, а по ближайшему IP-адресу, через который возможен доступ к узлу-получателю. При этом, если к узлу есть несколько возможных каналов доступа, автоматически с учетом заданных метрик определяется наиболее быстрый канал.

Для организации прямого взаимодействия с узлами, расположенными за устройством с динамическим NAT, "сверлятся дырки" в устройствах NAT:

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

- при поступлении на такой узел A через его координатор первого пакета от узла B, также работающего через динамический NAT, организуется периодический опрос по адресу и порту устройства NAT узла B, сообщенным координатором. Тем самым узлу B предоставляется возможность послать пакеты на узел A напрямую через устройство NAT, минуя координатор. Если пакеты напрямую передать не удается, весь трафик идет транзитом через координаторы.

Обеспечивается по возможности прямая маршрутизация VPN-пакетов в зависимости от местоположения и типа узла – получателя пакета:

- если узлы расположены в одной локальной сети, пакеты направляются друг другу напрямую;

- при наличии координатора на границе локальной сети пакеты для внешних узлов направляются через этот координатор;

- если другой узел расположен в другой локальной сети за координатором, то пакет направляется на этот координатор;

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

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

Итоги 

Рассматриваемая технология организации виртуальной сети по сравнению со стандартными схемами VPN:

- обеспечивает защиту любого типа IP-трафика от доступа злоумышленников на всех участках сети;

- обеспечивает независимость от адресной структуры и способов организации распределенной сети, автоматически подстраивается под нее при изменениях, что практически полностью исключает необходимость каких-либо настроек в клиентских и серверных модулях VPN;

- создает условия для прямого online-соединения между любыми узлами, не требуя настройки на них каких-либо статических правил;

- распределяет работу по криптообработке трафика, обычно выполняемую на криптошлюзе, между многими узлами VPN;

- обеспечивает строго точечную доставку пакетов узлу в локальной сети, что исключает любые проблемы безопасности, связанные с ошибками в настройках МСЭ;

- обеспечивает возможность взаимодействия удаленных пользователей с открытыми ресурсами Интернета через МСЭ локальной сети в соответствии с заданными на нем политиками. При этом на VPN-клиенте может быть установлен режим, при котором соединение с открытыми ресурсами через Интернет-провайдера становится невозможным;

- легко масштабируется и модернизируется, не требуя дополнительных настроек на узлах.

Технология ViPNet порождает дополнительный служебный трафик между VPN-узлами, однако в основном он появляется только при включении компьютеров или изменении их сетевых настроек, и объем его составляет 2–3% от основного трафика.

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

Список литературы

Information Security №1, февраль-март 2009