что такое туннелирование сети
Технология VPN — определение, принципы использования и способы организации
Содержание:
По мере развития информационных технологий, тема безопасности и анонимности в Интернете становится всё более актуальной. Киберпреступники постоянно совершенствуют способы похищения личных данных, а интернет-провайдеры следят за своими клиентами и ограничивают их возможности различными способами.
VPN (Virtual Private Network, англ. «виртуальная частная сеть») позволяет защититься от вмешательства третьих лиц в процесс обмена информацией по сети. Изначально технология разрабатывалась для решения задач в корпоративной среде, но позже её преимущества оценили и обычные пользователи.
В этом материале мы подробно расскажем о том, что же такое VPN и как работает эта технология. А также приведём полезные советы по реализации VPN-соединения с построением архитектуры как на личном сервере, так и с использованием VPN-провайдеров.
Что такое VPN
VPN – это виртуальная частная сеть, которая объединяет несколько устройств, туннелируя их трафик поверх другого сетевого соединения. Если говорить простыми словами, то VPN – технология, позволяющая анонимизировать и обезопасить свою деятельность в Интернете или какой-либо другой сети.
Для более глубокого понимания принципа использования технологии, стоит подробнее разобрать составляющие термина виртуальная частная сеть.
Архитектура VPN
VPN-подключение создаётся за счёт использования как минимум двух устройств.
Между сервером и клиентом постоянно перемещается зашифрованная информация через VPN-туннель, а все процессы криптографической обработки данных (шифрование/дешифрование) выполняются на самих устройствах. Поэтому в условиях туннелирования, никто не сможет перехватить данные пользователя.
Варианты использования VPN
Частная сфера
Технология VPN популярна среди пользователей, поскольку защищает проходящий через сеть трафик от злоумышленников и скрывает действия в Интернете от сетевых-провайдеров, которые зачастую передают данные посторонним лицам. Всё, что видит провайдер при использовании VPN — факт подключения к VPN-серверу, объем передаваемых данных и длительность подключения.
Иногда VPN используется для обхода сетевых запретов, наложенных администратором или интернет-провайдером. Например, ограничение доступа к заблокированным ресурсам или урезание скорости для файлообменников, таких как BitTorrent.
Подобные возможности доступны благодаря маршрутизации трафика через VPN-сервер. Это значит, что отправленные пользователем запросы сначала передаются через туннель от клиента к серверу, а только потом отправляются в Интернет к необходимому веб-ресурсу. Это делает сёрфинг в Интернете анонимным, а также позволяет получить доступ к ресурсам, которые заблокировали IP-адрес клиента.
Маршрутизация потока через VPN-сервис
Корпоративная сфера.
В корпоративной сфере VPN используется для объединения или, наоборот, обособления сетей различных отделов. Эта технология позволяет обойти локальные ограничения между подключёнными устройствами.
Кроме того, VPN нужен для объединения корпоративных сетей через Интернет между отдалёнными объектами компании: офисами, региональными филиалами, зарубежными представительствами. Это гораздо выгоднее, чем использование физического локального подключения — кабельной или беспроводной связи.
Соединение двух сетей через VPN-туннель. Тип подключения «точка-точка».
VPN также даёт сотрудникам возможность подключаться к рабочей сети, находясь вне офиса. Например, дома или в общественном месте. После установки соединения пользователь получает доступ к корпоративным ресурсам и оборудованию.
Получение удалённого доступа к корпоративной сети (Intranet) с помощью VPN.
Подробно о практических способах применения технологии VPN можно почитать в этой статье.
Преимущества и недостатки использования VPN
Преимущества использования VPN напрямую вытекают из его богатых возможностей.
Использование VPN для выхода в интернет предполагает наличие недостатков, которые могут стать существенной проблемой для некоторых пользователей.
Протоколы VPN
Архитектура VPN-сетей строится на базе VPN-протоколов, которые применяются для реализации туннелирования между устройствами. Все они различаются между собой характеристиками, принципом работы и доступностью на разных операционных системах.
Способы организации VPN
Собственный сервер
Понадобится арендовать VPS/VDS сервер и самостоятельно развернуть необходимое ПО, предварительно выбрав подходящий VPN-протокол. Реализация подобного способа требует наличия знаний в администрировании. Но именно он является наиболее надёжным, безопасным и гибким в настройке, поскольку пользователь сам выстраивает архитектуру и уверен в том, что его данные не попадут в чужие руки.
Подробнее о том, как настроить и пользоваться VPN (OpenVPN) на собственном сервере, рассказано в этой статье.
VPN-провайдер
При использовании VPN-сервисов пользователям предоставляется на выбор сразу несколько серверов из разных стран. Для установки соединения используются расширения для туннелирования трафика только в браузере или отдельные программные клиенты, обеспечивающие перенаправление всех системных данных.
Подобный вариант создания VPN-подключения не всегда безопасен. Многие провайдеры обещают анонимность в сети, но при этом зачастую собирают данные пользователей. А в худшем случае продают информацию третьим лицам.
Показатели стабильности и скорости у VPN-сервисов тоже не из лучших. Ведь на каждый сервер приходится несколько клиентов, активность которых может негативно повлиять на «соседей».
На рынке присутствуют платные и бесплатные сервисы. Вторые живут преимущественно за счёт показа рекламы или предлагают услуги в рамках пробного периода. Средняя цена за VPN составляет 10-13 долларов в месяц.
Выбор VPN-сервиса
В первую очередь нужно изучить отзывы пользователей и ознакомиться с документацией. Важно, чтобы сервис не собирал статистику использования VPN — некоторые провайдеры заранее предупреждают об отсутствии логирования на серверах.
Важно! Рекомендуется сразу отсеять бесплатные варианты, поскольку у таких VPN—сервисов наблюдаются наихудшие показатели стабильности, скорости и безопасности.
Стоит обратить внимание на то, какая информация требуется для совершения регистрации. Хороший провайдер не будет запрашивать личные данные.
Нужно выбирать такого провайдера, серверы которого достаточно стабильны и быстры для комфортного использования сети. Подключение должно совершаться через надёжный VPN-протокол.
Популярные VPN-сервисы
Заключение
Технология VPN продолжает стремительно набирать популярность, ведь её можно использовать для реализации совершенно разных целей — от обеспечения собственной безопасности в Интернете до гибкого управления сетевой инфраструктурой в организациях.
При наличии даже минимальных технических знаний можно самостоятельно развернуть VPN-сеть с использованием собственного оборудования. Тем, кто хочет получить сразу готовый вариант сервиса можно воспользоваться платными услугами VPN-провайдеров.
Виртуальные сервера Eternalhost — проверенное решение для создания собственной сети VPN! Оперативная техподдержка 24/7 и бесплатная защита от DDoS.
Туннелирование (компьютерные сети)
Суть туннелирования состоит в том, чтобы «упаковать» передаваемую порцию данных, вместе со служебными полями, в новый «конверт» для обеспечения конфиденциальности и целостности всей передаваемой порции, включая служебные поля. Туннелирование может применяться на сетевом и на прикладном уровнях. Комбинация туннелирования и шифрования позволяет реализовать закрытые виртуальные частные сети. Туннелирование обычно применяется для согласования транспортных протоколов либо для создания защищённого соединения между узлами сети.
Содержание
Типы протоколов
В процессе инкапсуляции (туннелирования) принимают участие следующие типы протоколов:
Протокол транзитной сети является несущим, а протокол объединяемых сетей — транспортируемым. Пакеты транспортируемого протокола помещаются в поле данных пакетов несущего протокола с помощью протокола инкапсуляции. Пакеты-«пассажиры» не обрабатываются при транспортировке их по транзитной сети никаким образом. Инкапсуляцию выполняет пограничное устройство (маршрутизатор или шлюз), которое находится на границе между исходной и транзитной сетями. Извлечение пакетов транспортируемого протокола из несущих пакетов выполняет второе пограничное устройство, расположенное на границе между транзитной сетью и сетью назначения. Пограничные устройства указывают в несущих пакетах свои адреса, а не адреса узлов в сети назначения.
Согласование транспортных протоколов
Туннель может быть использован, когда две сети с одной транспортной технологией необходимо соединить через сеть, использующую другую транспортную технологию. При этом пограничные маршрутизаторы, которые подключают объединяемые сети к транзитной, упаковывают пакеты транспортного протокола объединяемых сетей в пакеты транспортного протокола транзитной сети. Второй пограничный маршрутизатор выполняет обратную операцию.
Обычно туннелирование приводит к более простым и быстрым решениям по сравнению с трансляцией, так как решает более частную задачу, не обеспечивая взаимодействия с узлами транзитной сети.
Основные компоненты туннеля
Основными компонентами туннеля являются:
Инициатор туннеля встраивает (инкапсулирует) пакеты в новый пакет, содержащий наряду с исходными данными новый заголовок с информацией об отправителе и получателе. Несмотря на то, что все передаваемые по туннелю пакеты являются пакетами IP, инкапсулируемые пакеты могут принадлежать к протоколу любого типа, включая пакеты немаршрутизируемых протоколов. Маршрут между инициатором и терминатором туннеля определяет обычная маршрутизируемая сеть IP, которая может быть и сетью, отличной от Internet. Терминатор туннеля выполняет процесс, который является обратным инкапсуляции — он удаляет новые заголовки и направляет каждый исходный пакет в локальный стек протоколов или адресату в локальной сети. Инкапсуляция сама по себе никак не влияет на защищенность пакетов сообщений, передаваемых по туннелю VPN. Но инкапсуляция даёт возможность полной криптографической защиты инкапсулируемых пакетов. Конфиденциальность инкапсулируемых пакетов обеспечивается путем их криптографического закрытия, т. е. зашифровывания, а целостность и подлинность — путем формирования цифровой подписи. Так как существует множество методов криптозащиты данных, необходимо чтобы инициатор и терминатор туннеля использовали одни и те же методы и могли согласовывать друг с другом эту информацию. Более того, для возможности расшифровывания данных и проверки цифровой подписи при приеме инициатор и терминатор туннеля должны поддерживать функции безопасного обмена ключами. Чтобы туннели VPN создавались только между уполномоченными пользователями, конечные стороны взаимодействия требуется аутентифицировать.
Тоннелирование
Cодержание
Функциональность
В процессе туннелирования данные будут разбиваться на более мелкие фрагменты, известные как пакеты, которые будут перемещаться по «туннелю» для транспортировки к конечному пункту назначения. Когда эти пакеты проходят через туннель, они шифруются и инкапсулируются. Частные сетевые данные и сопутствующий им информационный протокол также инкапсулируются в передающие устройства сети общего пользования для отправки. В принимающей стороне будет происходить процесс декапсуляции и дешифровки. Кроме того, туннель рассматривается в качестве логического пути или соединения, которое будет инкапсулировать пакеты, проходящие через транзитную внутреннюю сеть. Этот протокол туннелирования будет шифровать исходный кадр, чтобы содержимое не было интерпретировано за пределами маршрута. Для того чтобы процесс действительно работал, данные будут отправляться, как только туннель будет уже установлен, и клиенты или сервер будут использовать один и тот же туннель для передачи и получения данных через внутреннюю сеть. Передача данных будет зависеть от протоколов туннелирования, которые используются для передачи.
Тоннелеукладчики
VPN туннели могут быть созданы на следующих уровнях открытого системного взаимодействия или эталонной модели OSI:
VPN протоколы, которые работают на этом уровне, являются точкой, указывающей на протокол туннелирования и протокол туннелирования второго уровня.
IPSec может работать как VPN протокол на сетевом уровне эталонной модели OSI. [3]
Протоколы
Протоколы проходки тоннелей
Ниже приведены различные протоколы, разрешающие прокладку тоннелей:
Протокол туннелирования точка-точка (PPTP)
Это обеспечивает безопасность данных, даже если они передаются по сетям общего пользования. Авторизованные пользователи могут получить доступ к частной сети, которая называется виртуальной частной сетью или VPN, предоставляемой провайдером интернет-услуг или провайдером интернет-услуг. Это частная сеть в виртуальном смысле, потому что она создана в туннельной среде. Данный протокол позволяет корпорациям расширять собственную корпоративную сеть по частному каналу через общедоступный интернет.
Протокол проходки тоннелей второго уровня (L2TP)
Этот протокол включает в себя комбинацию использования PPTP и переадресации второго уровня. Это используется для поддержки виртуальных частных сетей (VPN) в рамках предоставления услуг по протоколам Интернет-услуг или провайдерам интернет-услуг. Оно не обеспечивает шифрование и конфиденциальность только само по себе. Но для обеспечения конфиденциальности он использует протокол шифрования, проходящий в туннеле. Он использует сетевые соединения с пакетной коммутацией, что позволяет размещать конечные точки на разных машинах. Это означает, что соединение может быть прервано на концентраторе локальной цепи и исключает, помимо прочих преимуществ, возможные расходы на междугороднее соединение. Таким образом, с другой точки зрения, с точки зрения проведения операции никакой разницы нет. [4]
Таким образом, туннелирование действительно полезно и полезно в корпоративной среде, а также предоставляет функции безопасности, такие как опции шифрования. [2:1] В двух словах, туннели рассматриваются как механизм, используемый для отправки неподдерживаемых протоколов по различным и разнообразным сетям. Туннелирование данных, VPN или других, увеличит размер пакета, что приведет к меньшему количеству передаваемых данных на пакет. Эти данные туннелирования через SSH обычно представляют собой VPN для каждого приложения, но в последней версии открытой SSH будет реализована полномасштабная бесперебойная VPN.
Ниже перечислены два типа проходки тоннелей:
Добровольное туннелирование
В этом типе туннелирования клиент начнет процесс инициализации соединения с VPN сервером. Существует требование для того, чтобы процесс работал, и это требование представляет собой существующее соединение между сервером и клиентом. Это соединение, которое VPN клиент будет использовать для создания туннельного соединения с VPN сервером. Для добровольного туннелирования компьютер пользователя будет рассматриваться в качестве конечной точки туннеля и будет выступать в качестве клиента туннеля. Клиент здесь или пользователь выдаст запрос конфигурации и создаст добровольный туннель. Им потребуется коммутируемое соединение или подключение к локальной сети (LAN). В этом типе туннелирования требуется, чтобы компьютер клиента имел соответствующее программное обеспечение и чтобы протоколы были предварительно установлены, чтобы соединение стало возможным.
Обязательное прокладка тоннелей
В этом типе туннелирования будет создано соединение между двумя VPN серверами и двумя устройствами VPN доступа или VPN маршрутизаторами. При этом сервер удаленного доступа будет настраивать и настраивать VPN с помощью устройства, которое называется сервером коммутируемого доступа. Это будет действовать как клиент туннеля. При использовании принудительного туннеля компьютер пользователя не считается конечной точкой туннеля.
Туннель под безопасностью и брокеры сетевых пакетов
В современных сетях с виртуализацией и автоматизацией широкое применение получило туннелирование трафика. Однако, туннелирование ориентировано на построение сети и обеспечение надежной передачи данных, а вопросы информационной безопасности и мониторинга обычно остаются «за скобками». Проблема невидимости туннелированного трафика для систем информационной безопасности – давно известная проблема – уже в 2011 году было опубликовано RFC 6169 «Security Concerns with IP Tunneling», указывающее на потенциальные риски применения туннелей. Непосредственно средства DPI не отстают от инфраструктуры и уже давно разбирают туннели и смотрят пользовательский трафик (когда это в целом технически возможно), однако, остается узкое место – передача данных из инфраструктуры на эти системы.
Туннелирование и передача трафика в системы мониторинга и информационной безопасности
GTP, GRE, L2TP, PPPoE, VXLAN и другие аббревиатуры туннелей знакомы любому сетевому инженеру. Туннелирование трафика позволяет:
Большая часть систем информационной безопасности и системы мониторинга работают с копией трафика. При этом передача данных из инфраструктуры обеспечивается одним из трех способов:
Чаще всего применяется комбинация из пассивных оптических ответвителей и брокеров сетевых пакетов.
TAP обеспечивают сохранение надежности сети, а брокеры сетевых пакетов – обеспечение корректной передачи данных на системы DPI и оптимизацию их использования. Однако при использовании туннелирования это возможно только в одном случае – если брокер сетевых пакетов поддерживает анализ туннельных конструкций и может распределять трафик на основании вложенных заголовков пакетов туннелированного трафика.
Фильтрация и классификация туннелированного трафика
Без возможности анализа брокером сетевых пакетов вложенных заголовков туннелированных пакетов бессмысленно говорить об оптимизации средств DPI. Фильтрация и классификация, позволяющие снизить нагрузку на системы DPI и уменьшить их количество, должны работать именно по полям пользовательского трафика (вложенных заголовков). Иначе отделить IP-адреса конкретных пользователей, требуемые протоколы или шифрованный трафик невозможно – по внешним полям это будет просто туннель. Попытка очистить трафик на системы DPI от нецелевого по внешним полям только создаст «дыру в безопасности» — целевой трафик «проскользнет мимо» информационной безопасности и мониторинга в туннеле.
В результате, при отсутствии функции анализа по вложенным заголовкам, для обеспечения безопасности или качественного мониторинга, весь трафик необходимо направлять на системы анализа. Покупать новые сервера и лицензии на дополнительную производительность, арендовать помещения для серверных и нанимать дополнительных сотрудников, которые будут этот парк обслуживать.
Балансировка туннелированного трафика
Еще более многогранна проблема балансировки туннелированного трафика. Во-первых, при распределении пользовательских пакетов между разными туннелями (в мобильных сетях, при резервировании с балансировкой нагрузки, да и просто при передаче прямого и обратного потока по разным туннелям) без анализа вложенных заголовков невозможно обеспечить целостность сессий пользовательского обмена.
Возьмём 2 сессии (AB-ВА и CD-DC) и передадим их через туннелированные каналы T1, T2 и T3. Допустим, речь идёт об абонентах мобильного оператора, гуляющих между базовыми станциями. Пакеты этих сессий окажутся в разных туннелях и при попадании туннелированного трафика на брокер сетевых пакетов есть 2 варианта их балансировки с сохранением целостности сессий:
То есть, если сессии AB и CD по 10 Гбит/с каждая инкапсулированы в туннель T1, то получается 20 Гбит/с трафика (которые могут передаваться по интерфейсу 40GbE/100GbE или через агрегированные каналы LAG 10GbE). После копирования и попадания данного потока в брокер сетевых пакетов возникает необходимость разбалансировать этот трафик на несколько систем DPI по интерфейсам 10 GbE. Сделать это с сохранением целостности сессий используя внешние заголовки невозможно – поток превысит пропускную способность выходного интерфейса и пакеты начнут теряться.
Балансировка по вложенным заголовкам обеспечивает возможность разделить поток на более мелкие без ущерба для целостности информационного обмена и качества работы систем DPI.
Балансировка фрагментированного туннелированного трафика
Отдельной проблемой при балансировке является фрагментация трафика, вызванная туннелированием: добавление туннельных заголовков приводит к превышению MTU и фрагментации пакетов.
Когда на вход туннелирующего устройства приходит пакет с размером равным MTU, то после добавления туннельных заголовков пакет начинает MTU превышать (на количество байт туннельного заголовка) и делится на фрагменты. Причём вложенный заголовок содержится только в первом фрагменте. В результате два пакета одной сессии (AB1 и AB2), попавшие в разные туннели (T1 с заголовком XY и T2 с заголовком XZ) превращаются в четыре пакета:
Столкнувшиеся с указанными проблемами в большой части трафика понимают их и решают. Как обычно хуже всего, когда проблема касается менее 10% трафика – она может быть незаметна и создается иллюзия, что всё в безопасности. А под безопасностью – туннель.
Все технологии туннелирования IPv6 понятным языком
Ну да ладно, перейдем к туннелированию.
Один из самых старых способов туннелирования, придуманный аж в 1996 году, и до сих пор очень популярный. Такие крупные туннель-брокеры, как Hurricane Electric, gogo6 и SIXXS используют его. Использует протокол 41 (не путайте с портом!) и не работает через NAT. Поддерживается всеми современными ОС из коробки.
6over4
По сути, 6over4 нельзя назвать туннелем в привычном смысле этого слова. Он использует IPv4 как виртуальный ethernet для IPv6, например, multicast-адрес ff02::1 превращается в IPv4 multicast-адрес 239.192.0.1. Протокол поддерживает генерацию Link-Local адреса, Neighbor Discovery и конфигурируется автоматически. Из-за того, что все роутеры в сети должны поддерживать Multicast, протокол не стал популярным. Поддержка в современных ОС отсутствует или ограничена.
6to4 превратит ваш IPv4-адрес в IPv6 /48-подсеть. По сути, это тот же 6in4, но с фиксированным anycast IPv4 адресом: 192.88.99.1. Протокол полностью автоконфигурируемый, ручная настройка невозможна. Легок в настройке. Минус в том, что ваш IPv4-адрес можно узнать из IPv6-адреса, и то, что вы не можете выбрать сервер, через который происходит туннелирование. В некоторых случаях, вы вообще не сможете узнать, кому этот сервер принадлежит. Использует специальный префикс 2002::/16. Не работает через NAT.
Этот протокол основан на 6to4, только предназначен для развертывания внутри большой организации или ISP. Не использует префикс 2002::/16, а использует обычный диапазон адресов, выданный вашему провайдеру. Может автоматически настраиваться разными способами, самый популярный — через DHCPv4 специальным параметром.
AYIYA
Расшифровывается как Anything In Anything, этот протокол может инкапсулировать, собственно, что-либо во что-либо. Протокол придуман туннель-брокером SIXXS и используется им же. В данный момент, в основном, используется IPv4-UDP-AYIYA-IPv6. Есть поддержка чексумм и авторизации. Работает через NAT.
ISATAP
Этот протокол несколько похож на 6over4, но не использует Multicast. ISATAP не поддерживает Multicast вообще. IPv6-адреса генерируются на основе IPv4-адреса. Предполагается, что IPv4-адрес будет уникальным, поэтому не работает с NAT. Связь с ISATAP-хостами возможна только в том случае, если у вас тоже настроен ISATAP. Поддерживается современными ОС.
Teredo
Крайне популярный способ туннелирования, не требующий особых настроек. В Windows (начиная с Vista) настроен и включен по умолчанию, в Linux поднимается за несколько секунд с использованием Miredo. От вас требуется указать Teredo-сервер (или использовать сервер по умолчанию), все остальное сконфигурируется автоматически. Работает через NAT, однако, с нюансами (зависит как от типа NAT, так и от имплементации на стороне Teredo-сервера).
Протокол сделан под влиянием Teredo, но предназначен для развертывания средствами ISP. Аналогично 6rd и 6to4, клиентам выдается IPv6-префикс провайдера, а не IPv6-префикс Teredo. Похоже, пока нигде не поддерживается.
6bed4
Peer-to-Peer IPv6 on Any Internetwork. 6bed4 предназначен для создания p2p IPv6-сети внутри IPv4-сети, не запрещающей p2p-соединения между хостами. Протокол является гибридом 6to4 и Teredo: IPv6-адрес формируется из IPv4 и UDP-порта, если p2p-соединение невозможно, используется релей, который может быть запущен ISP или просто сторонней организацией. Работает через NAT, поддерживает как автоконфигурирование, так и ручную настройку.
Locator/ID Separation Protocol ставит основной целью разделить зависимость IPv6-адреса от местоположения клиента. Используя этот протокол, вы можете использовать свой (предположим, домашний) IPv6-адрес вне вашей сети, без проксирования трафика. По концепции, схож с Proxy Mobile IPv6. Сам протокол достаточно сложный и использовать его исключительно для туннелирования достаточно глупо. Не работает через NAT. Поддерживается Cisco, Linux и FreeBSD.
Subnetwork Encapsulation and Adaptation Layer. Совсем свежий протокол, draft появился в октябре 2013. Поддерживает несколько IPv4-линков, и, соответственно, multihoming. Есть аутентификация и anti-replay механизм. SEAL Control Message Protocol используется для обменом служебными данными между хостами.