что такое сетевой туннель
Как работает VPN-туннель? Типы VPN-туннелей. Что такое раздельное туннелирование?
Хакеры, снуперы, интернет-провайдеры и правительства могут превратить цифровую жизнь пользователя в ад. Не так уж много требуется, чтобы быть взломанным в интернете, подвергнуться цензуре или постоянно сталкиваться с различными препятствиями, пытаясь получить доступ к определенным услугам. VPN-туннель поможет защититься от всех этих неприятностей.
Как работает VPN-туннель?
У хакеров свои мотивы. Они используют вредоносные программы, фишинг, программы-вымогатели, DDoS-атаки и другие методы для перехвата данных и взлома ваших банковских счетов.
Когда вы подключаетесь к интернету через VPN, ваш трафик проходит через зашифрованный туннель, обеспечивая защиту данных и перенаправляя их на один из серверов поставщика VPN. Вы можете сидеть перед своим компьютером в России и притворяться, что вы из Канады. Ни интернет-провайдеры, ни хакеры, не смогут вас идентифицировать, а также получить ваши данные или отследить настоящее местоположение.
Типы VPN-туннелей
Существует множество различных протоколов VPN-туннелирования, различающихся по скорости, уровню безопасности и другим характеристикам. Стоит рассмотреть наиболее распространенные из них.
OpenVPN
OpenVPN — это популярный протокол с открытым кодом, который работает со всеми основными операционными системами. Вы можете загрузить исходный код, просмотреть его и изменить, как вам угодно. OpenVPN может работать через интернет-протоколы TCP или UDP. Он также считается самым безопасным протоколом VPN.
IPSec/IKEv2
Протокол IKEv2/IPSec может похвастаться преимуществами безопасности IPSec и высокой скоростью IKEv2, что делает его серьезным конкурентом в индустрии VPN-туннелирования. Когда ваше VPN-соединение прерывается или вы переключаетесь между сетями, функция автоподключения IKEv2/IPSec восстанавливает все до нормального состояния.
WireGuard
WireGuard — самый новый и быстрый из всех протоколов. Пока он все еще находится на ранней стадии разработки и поэтому имеет некоторые недостатки в безопасности.
SSTP — это VPN-протокол, который был создан компанией Microsoft, но он также доступен и на многих других системах. Многие провайдеры VPN скептически относятся к SSTP, поскольку, как известно, компания Microsoft сотрудничает с Агентством национальной безопасности. Тем не менее, нет никаких доказательств того, что протокол использовался не по назначению.
Что такое раздельное туннелирование?
VPN-туннель шифрует весь ваш трафик, но иногда возникают определенные ситуации, когда вам это не нужно. Именно в этом и заключается принцип раздельного туннелирования — вы можете создавать исключения для определенных приложений или сайтов и получать к ним доступ без использования VPN.
Таким образом, вы можете смотреть потоковое видео Netflix из Канады, сохраняя при этом доступ к локальным ресурсам из вашего родного города в России.
Какой VPN-протокол лучше всего использовать?
Все зависит от личных потребностей, но OpenVPN считается лучшим выбором среди большинства провайдеров 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% трафика – она может быть незаметна и создается иллюзия, что всё в безопасности. А под безопасностью – туннель.
Что такое DNS-туннелирование? Инструкция по обнаружению
Как работает DNS-туннелирование
Для всего в интернете есть свой отдельный протокол. И DNS поддерживает относительно простой протокол типа запрос-ответ. Если вы хотите посмотреть, как он работает, то можете запустить nslookup – основной инструмент для подачи DNS-запросов. Вы можете запросить адрес, просто указав интересующее доменное имя, например:
В нашем случае протокол ответил IP-адресом домена. В терминах DNS-протокола, я сделал запрос адреса или запрос т.н. «А»-типа. Существуют и другие типы запросов, при этом DNS-протокол будет отвечать с различным набором полей данных, которыми, как мы это позже увидим, могут воспользоваться хакеры.
Так или иначе, по своей сути DNS-протокол занимается передачей запроса на сервер и его ответа обратно клиенту. А что, если злоумышленник добавит скрытое сообщение внутрь запроса доменного имени? Например, вместо ввода вполне легитимного URL, он введёт данные, которые хочет передать:
Предположим, злоумышленник управляет DNS-сервером. Тогда он может передавать данные — например, персональные данные, — и не обязательно будет обнаружен. В конце концов, с чего вдруг DNS-запрос может стать чем-то нелегитимным?
Управляя сервером, хакеры могут подделывать ответы и отправлять данные обратно на целевую систему. Это позволяет им передавать сообщения, спрятанные в различных полях DNS-ответа, во вредоносное ПО на заражённой машине, с указаниями наподобие поиска внутри определённой папки.
«Туннелирующая» часть данной атаки заключается в сокрытии данных и команд от обнаружения системами мониторинга. Хакеры могут использовать наборы символов base32, base64 и т.д., или даже шифровать данные. Такая кодировка пройдёт незамеченной мимо простых утилит обнаружения угроз, которые осуществляют поиск по открытому тексту.
И это и есть DNS-туннелирование!
История атак через DNS-туннелирование
У всего есть начало, включая идею захвата DNS-протокола для хакерских целей. Насколько мы можем судить, первое обсуждение такой атаки проводилось Оскаром Пирсаном (Oskar Pearson) в почтовой рассылке Bugtraq в апреле 1998 года.
К 2004 году, DNS-туннелирование было представлено на Black Hat как хакерский метод в презентации Дэна Каминского (Dan Kaminsky). Таким образом, идея очень быстро переросла в настоящий инструмент атаки.
На сегодня DNS-туннелирование занимает уверенные позиции на карте потенциальных угроз (и блогеров в сфере информационной безопасности часто просят его объяснить).
Угрозы DNS-туннелирования
DNS-туннелирование – это как индикатор начала стадии плохих новостей. Каких именно? Мы уже рассказали о нескольких, но давайте их структурируем:
Выявление DNS-туннелирования
Существует два основных метода обнаружения злоупотреблением DNS: анализ нагрузки и анализ трафика.
При анализе нагрузки защищающаяся сторона ищет аномалии в данных, передаваемых в обе стороны, которые могут быть обнаружены статистическими методами: странно выглядящие имена хостов, тип DNS записи, которая не используется настолько часто, или нестандартная кодировка.
При анализе трафика оценивается число DNS запросов к каждому домену по сравнению со среднестатистическим уровнем. Злоумышленники, использующие DNS-туннелирование, будут генерировать большой объём трафика на сервер. В теории, значительно превосходящий нормальный обмен DNS-сообщениями. И это необходимо отслеживать!
Утилиты DNS-туннелирования
Если вы хотите провести собственный пентест и проверить, насколько хорошо ваша компания сможет обнаружить и отреагировать на такую активность, то для этого есть несколько утилит. Все они умеют туннелировать в режиме IP-Over-DNS:
Утилиты DNS-мониторинга
Ниже представлен список нескольких утилит, который будет полезен для обнаружения туннелирующих атак:
Микро FAQ по DNS-туннелированию
Полезнейшая информация в виде вопросов и ответов!
В: Что такое туннелирование?
О: Это просто способ передачи данных поверх существующего протокола. Лежащий в основе протокол обеспечивает выделенный канал или туннель, который потом используется для сокрытия информации, передающейся в действительности.
В: Когда был осуществлена первая атака по DNS-туннелированию?
О: Мы не знаем! Если вы знаете – дайте, пожалуйста, нам знать. Насколько нам известно, первое обсуждение атаки было инициировано Оскаром Пирсаном в почтовой рассылке Bugtraq в апреле 1998 года.
В: Какие атаки похожи на DNS-туннелирование?
О: DNS – далеко не единственный протокол, который можно использовать для туннелирования. Например, вредоносные программы по управлению и контролю (C2) часто используют HTTP для маскировки канала взаимодействия. Как и при DNS-туннелировании, хакер скрывает свои данные, но в данном случае они выглядят как трафик обычного веб-браузера, обращающегося на удалённый сайт (контролируемый злоумышленником). Это может остаться незамеченным программами мониторинга, если они не настроены воспринимать угрозу злоупотребления HTTP-протоколом в хакерских целях.
Хотите, чтобы мы помогли с обнаружением DNS-туннелирования? Ознакомьтесь с нашим модулем Varonis Edge и попробуйте бесплатное демо!
Все технологии туннелирования 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 используется для обменом служебными данными между хостами.
Туннель (компьютерная сеть)
Доступ в Интернет через коммутируемую сеть является примером туннеля, который соединяет сети (частную сеть и Интернет) через соседнюю сеть, при этом соседняя сеть (коммутируемая сеть) не должна быть совместима с этими сетями. Кроме того, туннелирование используется в компьютерной сети для передачи данных из одной сетевой службы, встроенной в протокол другой сетевой службы. Протокол связи, используемый другой службой, используется как оболочка, которая помогает замаскировать фактическое содержимое. Таким образом, небезопасные сетевые протоколы, встроенные в безопасный и зашифрованный сетевой протокол, могут транспортироваться с защитой от касания и взлома (например, туннель SSH ). Туннели также могут использоваться для связывания абонентов в сети из их исходной сети с другой сетью (например, туннель VPN ). Туннели также подходят для обхода правил брандмауэра и других мер безопасности (например, HTTP- туннеля).
Оглавление
Туннелирование в коммутируемой сети общего пользования
Коммутируемая сеть общего пользования содержит инфраструктуру. Подключенное к нему устройство должно поддерживать эту инфраструктуру (говорить по ее протоколу). В противном случае устройство не сможет связаться с другой стороной.
Помимо коммутируемой сети общего пользования, которая изначально была разработана для телефонии, существуют и другие сети. Проще говоря, можно представить себе другую сеть, которая находится где-то, например, в Германии, и соединяет между собой несколько компьютеров. Компьютеры предоставляют услуги, к которым можно получить доступ через их сеть. Теперь провайдер мог прокладывать свои собственные линии прямо до дома своих клиентов, чтобы обеспечить там соединение для новой сети. Однако этот процесс был бы очень сложным и дорогостоящим, и в доме было бы большое количество распределительных коробок, которые хотели бы подключаться к нескольким сетям аналогичным образом.
Туннелирование в компьютерной сети
Соответствующие протоколы
Обойти брандмауэр с туннелем
пример
Теперь вы можете изменить программу FTP-клиента и серверную службу вашего собственного Интернет-сервера, чтобы они также обменивались данными через порт 80 и, таким образом, обходили правило фильтрации брандмауэра.
Брандмауэр, способный анализировать пакеты, также может проверять структуру данных и блокировать все пакеты, которые не соответствуют протоколу утвержденной службы. Теоретически уловка здесь уже не сработает. Однако на практике такой контроль нетривиален. В конце концов, каждый протокол должен передавать какие-то данные. Так что это возможно для. Б. встраивать данные службы FTP в протокол службы HTTP без нарушения стандарта протокола. Данные нужно только соответствующим образом преобразовать.
Туннель выполняет такое преобразование: он отправляет данные заблокированной службы, встроенные в данные выпущенной службы, через брандмауэр в свою целевую систему. Для этого на ПК и в целевой системе должно быть установлено программное обеспечение туннеля, которое преобразует данные, с одной стороны, и преобразует их обратно в исходный формат, с другой.
Иногда работодатели запрещают использование служб, отличных от HTTP, и обеспечивают это с помощью политики использования и брандмауэра. Если брандмауэр в корпоративных сетях обходится при таких условиях, следует отметить, что это может рассматриваться как преднамеренное нарушение условий использования, которое может быть прекращено без уведомления в качестве сотрудника.
Используйте принцип туннеля для зашифрованного соединения
Туннели в основном используются для установления защищенных от прикосновения соединений в незащищенных компьютерных сетях. Программное обеспечение туннеля гарантирует, что сетевые пакеты встроены в зашифрованный протокол, чтобы их можно было расшифровать и распаковать на другой стороне. Это означает, что зашифрованная передача данных также реализована для служб, которые обычно не имеют собственного шифрования. Целые сети также могут быть соединены друг с другом с защитой от касания.