VPN подключение — что это, зачем нужно и как работает. Как начать пользоваться VPN на любом устройстве

В этой статье подробно рассмотрим процесс настройки VPN сервера в операционной системе Windows Server, а также ответим на вопросы: Что такое VPN и как настроить VPN соединение?

Что такое VPN соединение?

VPN (Virtual Private Network) – это виртуальная частная сеть, которая используются для обеспечения защищенного подключения к сети. Технология, позволяющая объединить любое количество устройств в частную сеть. Как правило, через интернет.

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

Такой способ соединения называется VPN туннель. Подключится к VPN можно с любого компьютера, с любой операционной системой, которая поддерживает VPN соединение. Либо установлен VPN-Client, который способен делать проброс портов с использованием TCP/IP в виртуальную сеть.

Что делает VPN

VPN обеспечивает удалённое подключение к частным сетям

Так же вы можете безопасно объединить несколько сетей и серверов

Компьютеры с ip адресами с 192.168.0.10 по 192.168.0.125 подключается через сетевой шлюз, который выполняет роль VPN сервера. Предварительно на сервере и маршрутизаторе должны быть прописаны правила для соединений по каналу VPN.

VPN позволяет спокойно использовать интернет при подключении даже к открытым wi-fi сетям в общедоступных зонах (в торговых центрах, отелях или аэропортах)

А так же обойти ограничения на показ контента в определенных странах

VPN предотвращает киберугорозы по перехвату злоумышленником информации на лету, незаметным для получателя.

Принцип работы VPN

Давайте рассмотрим, как в принципе работает VPN соединение.

Представим, что передача это движение пакета по автомобильной дороге из точки А в точку Б, на пути движения пакета встречаются контрольные пункты пропуска пакета данных. При использовании VPN, этот маршрут дополнительно защищён системой шифрования и аутентификацией пользователя, что бы обезопасить трафик, в котором содержится пакет данных. Такой метод называется «Туннелированнем» (tunneling – использование туннеля»

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

VPN обеспечит приватность вашей информации вместе с комплексным антивирусом.

VPN поддерживает такие сертификаты как OpenVPN, L2TP, IPSec, PPTP, PPOE и получается вполне защищенный и безопасный способ передачи данных.

VPN туннелирование применяется:

  1. Внутри корпоративной сети.
  2. Объединение удалённых офисов, а так же мелких филиалов.
  3. Доступ к внешним it-ресурсам.
  4. Для построения видеоконференций.

Создание VPN выбор и настройка оборудования.

Для корпоративной связи в крупных организациях или объединения удаленных друг от друга офисов используется аппаратное оборудования способное поддерживать бесперебойную работу и защищенность в сети.

Для использования vpn-сервиса, в роли сетевого шлюза могут выступать: сервера linux/Windows, маршрутизатор и сетевой шлюз на котором поднят VPN.

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

Настройка VPN сервера.

Если вы хотите установить и использовать VPN сервер на базе семейства Windows , то необходимо понимать, что клиенские машины Windows XP/7/8/10 данную функцию не поддерживают, вам необходима система виртуализации, либо физический сервер на платформе Windows 2000/2003/2008/2012/2016, но мы рассмотрим данную функцию на Windows Server 2008 R2.

1. Для начала необходимо установить роль сервера "Службы политики сети и доступа" Для этого открываем диспетчер сервера и нажимаем на ссылку "Добавить роль":

Выбираем роль "Службы политики сети и доступа" и нажимаем далее:

Выбираем "Службы маршрутизации и удаленного доступа" и нажимаем Далее и Установить.

2. После установки роли необходимо настроить ее. Переходим в диспетчер сервера, раскрываем ветку "Роли", выбираем роль "Службы политики сети и доступа", разворачиваем, кликаем правой кнопкой по "Маршрутизация и удаленный доступ" и выбираем "Настроить и включить маршрутизацию и удаленный доступ"

После запуска службы считаем настройку роли законченной. Теперь необходимо разрешить пользователям доступ до сервера и настроить выдачу ip-адресов клиентам.

Порты которые поддерживает VPN. После поднятие службы они открываются в брендмауэре.

Для PPTP: 1723 (TCP);

Для L2TP: 1701 (TCP)

Для SSTP: 443 (TCP).

Протокол L2TP/IpSec является более предпочтительным для построения VPN-сетей, в основном это касается безопасности и более высокой доступности, благодаря тому, что для каналов данных и управления используется одна UDP-сессия. Сегодня мы рассмотрим настройку L2TP/IpSec VPN-сервера на платформе Windows Server 2008 r2.

Вы же можете попробовать развернуть на протоколах: PPTP, PPOE, SSTP, L2TP/L2TP/IpSec

Переходим в Диспетчер сервера: Роли - Маршрутизация и удалённый доступ , щелкаем по этой роли правой кнопкой мыши и выбираем «Свойства» , на вкладке «Общие» ставим галочку в полях IPv4-маршрутизатор, выбираем «локальной сети и вызова по требованию», и IPv4-сервер удаленного доступа:

Теперь нам необходимо ввести предварительный ключ. Переходим на вкладку Безопасность и в поле Разрешить особые IPSec-политики для L2TP-подключения поставьте галочку и введите Ваш ключ. (По поводу ключа. Вы можете ввести туда произвольную комбинацию букв и цифр главный принцип, чем сложнее комбинация - тем безопаснее, и еще запомните или запишите эту комбинацию она нам еще понадобиться). Во вкладке «Поставщик службы проверки подлинности» выберите «Windows - проверка подлинности».

Теперь нам необходимо настроить Безопасность подключений . Для этого перейдем на вкладку Безопасность и выберем Методы проверки подлинности , поставьте галочки на Протокол EAP и Шифрованная проверка (Microsoft, версия 2, MS-CHAP v2):

Далее перейдем на вкладку IPv4 , там укажем какой интерфейс будет принимать подключения VPN, а так же настроим пул выдаваемых адресов клиентам L2TP VPN на вкладке IPv4 (Интерфейсом выставьте «Разрешить RAS выбирать адаптер»):

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

Список портов, которые у нас остались в указанном количестве.

На этом настройка сервера закончена. Осталось только разрешить пользователям подключатся к серверу. Перейдите в Диспетчере сервера Active Directory пользователи – находим пользователя которому хотим разрешить доступ нажимаем свойства , заходим в закладку входящие звонки

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

Что такое VPN?

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

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

Как работает VPN-соединение: основные принципы и технологии

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

Другое дело, что сигнал транслируется абсолютно всем потребителям, а виртуальная сеть работает избранно, объединяя в одну сеть только определенные устройства. Заметьте, ни в первом, ни во втором случае провода для подключения передающих и принимающих устройств, осуществляющих обмен данными между собой, не требуются.

Но и тут есть свои тонкости. Дело в том, что изначально радиосигнал являлся незащищенным, то есть его может принять любой радиолюбитель с работающим прибором на соответствующей частоте. Как работает VPN? Да точно так же. Только в данном случае роль ретранслятора играет маршрутизатор (роутер или ADSL-модем), а роль приемника - стационарный компьютерный терминал, ноутбук или мобильное устройство, имеющее в своем оснащении специальный модуль беспроводного подключения (Wi-Fi).

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

Туннелирование локальных виртуальных сетей

Разберемся в том, как работает VPN в режиме туннелирования. По сути своей, оно предполагает создание некой прямой, скажем, от точки «A» до точки «B», когда при передаче данных из центрального источника (роутера с подключением сервера) определение всех сетевых устройств производится автоматически по заранее заданной конфигурации.

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

Средства реализации

Одними из самых мощных инструментов такого рода подключений и заодно обеспечения безопасности являются системы компании Cisco. Правда, у некоторых неопытных админов возникает вопрос о том, почему не работает VPN-Cisco-оборудование.

Связано это в первую очередь только с неправильной настройкой и устанавливаемыми драйверами маршрутизаторов типа D-Link или ZyXEL, которые требуют тонкой настройки только по причине того, что оснащаются встроенными брэндмауэрами.

Кроме того, следует обратить внимание и на схемы подключения. Их может быть две: route-to-route или remote access. В первом случае речь идет об объединении нескольких распределяющих устройств, а во втором - об управлении подключением или передачей данных с помощью удаленного доступа.

Протоколы доступа

Что касается протоколов, сегодня в основном используются средства конфигурации на уровне PCP/IP, хотя внутренние протоколы для VPN могут различаться.

Перестал работать VPN? Следует посмотреть на некоторые скрытые параметры. Так, например, основанные на технологии TCP дополнительные протоколы PPP и PPTP все равно относятся к стекам протоколов TCP/IP, но для соединения, скажем, в случае использования PPTP необходимо использовать два IP-адреса вместо положенного одного. Однако в любом случае туннелирование предполагает передачу данных, заключенных во внутренних протоколах типа IPX или NetBEUI, и все они снабжаются специальными заголовками на основе PPP для беспрепятственной передачи данных соответствующему сетевому драйверу.

Аппаратные устройства

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

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

Например, маршрутизаторы вроде DI-808HV или DI-804HV способны обеспечить подключение до сорока устройств одновременно. Что касается оборудования ZyXEL, во многих случаях оно может работать даже через встроенную сетевую операционную систему ZyNOS, но только с использованием режима командной строки через протокол Telnet. Такой подход позволяет конфигурировать любые устройства с передачей данных на три сети в общей среде Ethernet с передачей IP-трафика, а также использовать уникальную технологию Any-IP, предназначенную для задействования стандартной таблицы маршрутизаторов с перенаправляемым трафиком в качестве шлюза для систем, которые изначально были сконфигурированы для работы в других подсетях.

Что делать, если не работает VPN (Windows 10 и ниже)?

Самое первое и главное условие - соответствие выходных и входных ключей (Pre-shared Keys). Они должны быть одинаковыми на обоих концах туннеля. Тут же стоит обратить внимание и на алгоритмы криптографического шифрования (IKE или Manual) с наличием функции аутентификации или без нее.

К примеру, тот же протокол AH (в английском варианте - Authentication Header) может обеспечить всего лишь авторизацию без возможности применения шифрования.

VPN-клиенты и их настройка

Что касается VPN-клиентов, то и здесь не все просто. Большинство программ, основанных на таких технологиях, используют стандартные методы настройки. Однако тут есть свои подводные камни.

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

В самой системе придется создать новое подключение, а не использовать уже имеющееся. На этом останавливаться не будем, поскольку процедура стандартная, но вот на самом роутере придется зайти в дополнительные настройки (чаще всего они расположены в меню WLAN Connection Type) и активировать все то, что связано с VPN-сервером.

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

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

Случается, что достаточно известный и популярный пакет Kerio VPN Client не работает. Тут придется обратить внимание не только на или самой «операционки», но и на параметры клиентской программы. Как правило, введение верных параметров позволяет избавиться от проблемы. В крайнем случае придется проверить настройки основного подключения и используемых протоколов TCP/IP (v4/v6).

Что в итоге?

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

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

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

И здесь мы подробно рассмотрим vpn подключение: что это такое, для чего нужен vpn туннель, и как использовать впн соединение.

Данный материал является своего рода вступительным словом к циклу статей, где мы расскажем, как создать vpn на различных ОС.

vpn подключение что это такое?

Итак, виртуальная частная сеть vpn – это технология, обеспечивающая защищённую (закрытую от внешнего доступа) связь логической сети поверх частной или публичной при наличии высокоскоростного интернета.

Такое сетевое соединение компьютеров (географически удаленных друг от друга на солидное расстояние) использует подключение типа «точка - точка» (иными словами, «компьютер-компьютер»).

Научно, такой способ соединения называется vpn туннель (или туннельный протокол). Подключиться к такому туннелю можно при наличии компьютера с любой операционной системой, в которую интегрирован VPN-клиент, способный делать «проброс» виртуальных портов с использованием протокола TCP/IP в другую сеть.

Для чего нужен vpn?

Основное преимущество vpn заключается в том, что согласующим сторонам необходима платформа подключения, которая не только быстро масштабируется, но и (в первую очередь) обеспечивает конфиденциальность данных, целостность данных и аутентификацию.

На схеме наглядно представлено использование vpn сетей.

Предварительно на сервере и маршрутизаторе должны быть прописаны правила для соединений по защищённому каналу.

Принцип работы vpn

Когда происходит подключение через vpn, в заголовке сообщения передаётся информация об ip-адресе VPN-сервера и удалённом маршруте.

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

Этап VPN шифрования реализуется на стороне отправителя, а расшифровываются данные у получателя по заголовку сообщения (при наличии общего ключа шифрования).

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

Что касается информационной безопасности, то интернет является крайне незащищенной сетью, а сеть VPN с протоколами OpenVPN, L2TP /IPSec ,PPTP, PPPoE – вполне защищенным и безопасным способом передачи данных.

Для чего нужен vpn канал?

vpn туннелирование используется:

Внутри корпоративной сети;

Для объединения удалённых офисов, а также мелких отделений;

Для обслуживания цифровой телефонии с большим набором телекоммуникационных услуг;

Для доступа к внешним IT-ресурсам;

Для построения и реализации видеоконференций.

Зачем нужен vpn?

vpn соединение необходимо для:

Анонимной работы в сети интернет;

Загрузки приложений, в случае, когда ip адрес расположен в другой региональной зоне страны;

Безопасной работы в корпоративной среде с использованием коммуникаций;

Простоты и удобства настройки подключения;

Обеспечения высокой скорости соединения без обрывов;

Создания защищённого канала без хакерских атак.

Как пользоваться vpn?

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

Vpn: что это такое в телефоне?

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

VPN-клиент, установленный на любой ОС, позволяет обойти многие настройки и правила провайдера (если тот установил какие-то ограничения).

Какой vpn выбрать для телефона?

Мобильные телефоны и смартфоны на ОС Android могут использовать приложения из Google Playmarket:

  • - vpnRoot, droidVPN,
  • - браузер tor для сёрфинга сетей,он же orbot
  • - InBrowser, orfox (firefox+tor),
  • - SuperVPN Free VPN Client
  • - OpenVPN Connect
  • - TunnelBear VPN
  • - Hideman VPN

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

Но основные задачи использования VPN в телефоне – это проверка корпоративной почты, создание видеоконференций с несколькими участниками, а также проведение совещаний за пределами организации (например, когда сотрудник в командировке).

Что такое vpn в айфоне?

Рассмотрим, какой впн выбрать и как его подключить в айфоне более подробно.

В зависимости от типа поддерживаемой сети, при первом запуске конфигурации VPN в iphone можно выбрать следующие протоколы: L2TP, PPTP и Cisco IPSec (кроме того, «сделать» vpn подключение можно при помощи сторонних приложений).

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

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

Для телефона iphone из магазина appstore стоит выбрать:

  • - бесплатное приложение Tunnelbear, с помощью которого можно подключаться к серверам VPN любой страны.
  • - OpenVPN connect – это один из лучших VPN-клиентов. Здесь для запуска приложения необходимо предварительно импортировать rsa-ключи через itunes в телефон.
  • - Cloak – это условно бесплатное приложение, поскольку некоторое время продукт можно «юзать» бесплатно, но для использования программы по истечении демо-срока ее придется купить.

Создания VPN: выбор и настройка оборудования

Для корпоративной связи в крупных организациях или объединения удалённых друг от друга офисов используют аппаратное оборудование, способное поддерживать беспрерывную, защищённую работу в сети.

Для реализации vpn-технологий в роли сетевого шлюза могут выступать: сервера Unix, сервера Windows, сетевой маршрутизатор и сетевой шлюз на котором поднят VPN.

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

Любой роутер или vpn маршрутизатор должен обеспечивать надёжную работу в сети без «зависаний». А встроенная функция впн позволяет изменять конфигурацию сети для работы дома, в организации или удалённом офисе.

Настройка vpn на роутере

В общем случае настройка впн на роутере осуществляется с помощью веб-интерфейса маршрутизатора. На «классических» устройствах для организации vpn нужно зайти в раздел «settings» или «network settings», где выбрать раздел VPN, указать тип протокола, внести настройки адреса вашей подсети, маски и указать диапазон ip-адресов для пользователей.

Кроме того, для безопасности соединения потребуется указать алгоритмы кодирования, методы аутентификации, сгенерировать ключи согласования и указать сервера DNS WINS. В параметрах «Gateway» нужно указать ip-адрес шлюза (свой ip) и заполнить данные на всех сетевых адаптерах.

Если в сети несколько маршрутизаторов необходимо заполнить таблицу vpn маршрутизации для всех устройств в VPN туннеле.

Приведём список аппаратного оборудовании, используемого при построении VPN-сетей:

Маршрутизаторы компании Dlink: DIR-320, DIR-620, DSR-1000 с новыми прошивками или Роутер D-Link DI808HV.

Маршрутизаторы Cisco PIX 501, Cisco 871-SEC-K9

Роутер Linksys Rv082 с поддержкой около 50 VPN-туннелей

Netgear маршрутизатор DG834G и роутеры моделей FVS318G, FVS318N, FVS336G, SRX5308

Маршрутизатор Mikrotik с функцией OpenVPN. Пример RouterBoard RB/2011L-IN Mikrotik

Vpn оборудование RVPN S-Terra или VPN Gate

Маршрутизаторы ASUS моделей RT-N66U, RT-N16 и RT N-10

ZyXel маршрутизаторы ZyWALL 5, ZyWALL P1, ZyWALL USG

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

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

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

Как работает VPN?

Скорее всего, у вас дома есть Wi-Fi-роутер. Подключённые к нему устройства могут обмениваться данными даже без интернета. Получается, у вас есть своя частная сеть, но, чтобы подключиться к ней, нужно физически быть в досягаемости сигнала роутера.

VPN (Virtual Private Network) - это виртуальная частная сеть. Она работает поверх интернета, а потому подключиться к ней можно откуда угодно.

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

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

Сейчас встроенные VPN-клиенты есть во всех актуальных операционных системах, в том числе в Android, iOS, Windows, macOS и Linux.

VPN-соединение между клиентом и сервером, как правило, зашифровано.

Значит, VPN - это хорошо?

Да, если вы являетесь владельцем бизнеса и хотите обезопасить корпоративные данные и сервисы. Пуская сотрудников в рабочую среду только через VPN и по учётным записям, вы всегда будете знать, кто и что делал и делает.

Более того, владелец VPN может мониторить и контролировать вообще весь трафик, который идёт между сервером и пользователем.

Сотрудники много сидят во «ВКонтакте»? Можно закрыть доступ к этому сервису. Геннадий Андреевич половину рабочего дня проводит на сайтах с мемами? Вся его активность автоматически записывается в логи и станет железным аргументом для увольнения.

Зачем тогда VPN?

VPN позволяет обойти географические и законодательные ограничения.

Например, вы в России и хотите . С сожалением вы узнаёте, что этот сервис недоступен из РФ. Воспользоваться им можно, только выходя в интернет через VPN-сервер страны, в которой Spotify работает.

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

VPN - это полезная и нужная технология, которая хорошо справляется с определённым спектром задач. Но безопасность личных данных по-прежнему зависит от добросовестности поставщика услуги VPN, вашего здравого смысла, внимательности и интернет-грамотности.

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

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

WARNING

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

VPN нам нужен!

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

Утечка VPN-трафика

Первая проблема, связанная с виртуальными частными сетями, - это утечка трафика. То есть тот трафик, который должен быть передан через VPN-соединение в зашифрованном виде, попадает в сеть в открытом виде. Данный сценарий не является следствием ошибки в VPN-сервере или клиенте. Здесь все гораздо интереснее. Самый простой вариант - внезапный разрыв VPN-соединения. Ты решил просканировать хост или подсеть с помощью Nmap, запустил сканер, отошел на несколько минут от монитора, и тут VPN-соединение внезапно отвалилось. Но сканер при этом продолжает работать. И сканирование идет уже с твоего адреса. Вот такая неприятная ситуация. Но есть сценарии и интересней. Например, утечка VPN-трафика широко распространена в сетях (на хостах), поддерживающих обе версии протокола IP (так называемые dual-stacked сети/хосты).

Корень зла

Сосуществование двух протоколов - IPv4 и IPv6 - имеет множество интересных и тонких аспектов, которые могут приводить к неожиданным последствиям. Несмотря на то что шестая версия протокола IP не имеет обратной совместимости с четвертой версией, обе эти версии как бы «склеены» вместе системой доменных имен (DNS). Чтобы было понятней, о чем идет речь, давай рассмотрим простенький пример. Например, возьмем сайт (скажем, www.example.com), который имеет поддержку IPv4 и IPv6. Соответствующее ему доменное имя (www.example.com в нашем случае) будет содержать DNS-записи обоих типов: А и АААА. Каждая А-запись содержит один IPv4-адрес, а каждая АААА-запись содержит один IPv6-адрес. Причем для одного доменного имени может быть по несколько записей обоих типов. Таким образом, когда приложение, поддерживающее оба протокола, захочет взаимодействовать с сайтом, оно может запросить любой из доступных адресов. Предпочитаемое семейство адресов (IPv4 или IPv6) и конечный адрес, который будет использоваться приложением (учитывая, что их существует несколько для четвертой и шестой версий), будет отличаться от одной реализации протокола к другой.

Это сосуществование протоколов означает, что, когда клиент, поддерживающий оба стека, собирается взаимодействовать с другой системой, наличие А- и АААА-записей будет оказывать влияние на то, какой протокол будет использоваться для связи с этой системой.

VPN и двойной стек протоколов

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

Основная причина проблемы кроется в том, что, хотя IPv4 и IPv6 - два разных протокола, несовместимых друг с другом, они тесно используются в системе доменных имен. Таким образом, для системы, поддерживающей оба стека протоколов, невозможно обеспечить безопасность соединения с другой системой, не обеспечив безопасность обоих протоколов (IPv6 и IPv4).

Легитимный сценарий утечки VPN-трафика

Рассмотрим хост, который поддерживает оба стека протоколов, использует VPN-клиент (работающий только с IPv4-трафиком) для подключения к VPN-серверу и подключен к dual-stacked сети. Если какому-то приложению на хосте нужно взаимодействовать с dual-stacked узлом, клиент обычно запрашивает и А-, и АААА-DNS-записи. Так как хост поддерживает оба протокола, а удаленный узел будет иметь оба типа DNS-записей (А и АААА), то одним из вероятных вариантов развития событий будет использование для связи между ними IPv6-протокола. А так как VPN-клиент не поддерживает шестую версию протокола, то IPv6-трафик не будет отправляться через VPN-соединение, а будет отправляться в открытом виде через локальную сеть.

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

Преднамеренно вызываем утечку VPN-трафика

Атакующий может преднамеренно вызвать подключение по протоколу IPv6 на компьютере жертвы, посылая поддельные ICMPv6 Router Advertisement сообщения. Подобные пакеты можно рассылать при помощи таких утилит, как rtadvd , SI6 Networks’ IPv6 Toolkit или THC-IPv6 . Как только соединение по протоколу IPv6 установлено, «общение» с системой, поддерживающей оба стека протоколов, может вылиться, как рассмотрено выше, в утечку VPN-трафика.

И хотя данная атака может быть достаточно плодотворной (из-за растущего числа сайтов, поддерживающих IPv6), она приведет к утечке трафика, только когда получатель поддерживает обе версии протокола IP. Однако для злоумышленника не составит труда вызвать утечки трафика и для любого получателя (dual-stacked или нет). Рассылая поддельные Router Advertisement сообщения, содержащие соответствующую RDNSS-опцию, атакующий может прикинуться локальным рекурсивным DNS-сервером, затем провести DNS-спуфинг, чтобы осуществить атаку man-in-the-middle и перехватить соответствующий трафик. Как и в предыдущем случае, такие инструменты, как SI6-Toolkit и THC-IPv6, могут легко провернуть такой трюк.

Совсем не дело, если трафик, не предназначенный для чужих глаз, попадет в открытом виде в сеть. Как же обезопаситься в таких ситуациях? Вот несколько полезных рецептов:

  1. Если VPN-клиент сконфигурирован таким образом, чтобы отправлять весь IPv4-трафик через VPN-соединение, то:
  • если IPv6 VPN-клиентом не поддерживается - отключить поддержку шестой версии протокола IP на всех сетевых интерфейсах. Таким образом, у приложений, запущенных на компьютере, не будет другого выбора, как использовать IPv4;
  • если IPv6 поддерживается - убедиться, что весь IPv6-трафик также отправляется через VPN.
  1. Чтобы избежать утечки трафика, в случае если VPN-соединение внезапно отвалится и все пакеты будут отправляться через default gateway, можно:
  2. принудительно заставить весь трафик идти через VPN route delete 0.0.0.0 192.168.1.1 // удаляем default gateway route add 83.170.76.128 mask 255.255.255.255 192.168.1.1 metric 1
  • воспользоваться утилитой VPNetMon , которая отслеживает состояние VPN-соединения и, как только оно пропадает, мгновенно завершает указанные пользователем приложения (например, торрент-клиенты, веб-браузеры, сканеры);
  • или утилитой VPNCheck , которая в зависимости от выбора пользователя может либо полностью отключить сетевую карту, либо просто завершить указанные приложения.
  1. Проверить, уязвима ли твоя машина к утечке DNS-трафика, можно на сайте , после чего применить советы, как пофиксить утечку, описанные .

Расшифровка VPN-трафика

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

Ахиллесова пята

При VPN-соединениях на базе протокола PPTP (Point-to-Point Tunneling Protocol) аутентификация пользователей проводится по протоколу MS-CHAPv2, разработанному компанией Microsoft. Несмотря на то что MS-CHAPv2 устарел и очень часто становится предметом критики, его продолжают активно использовать. Чтобы окончательно отправить его на свалку истории, за дело взялся известный исследователь Мокси Марлинспайк, который на двадцатой конференции DEF CON отчитался, что поставленная цель достигнута - протокол взломан. Надо сказать, что безопасностью этого протокола озадачивались и ранее, но столь долгое использование MS-CHAPv2, возможно, связано с тем, что многие исследователи концентрировались только на его уязвимости к атакам по словарю. Ограниченность исследований и широкое число поддерживаемых клиентов, встроенная поддержка операционными системами - все это обеспечило протоколу MS-CHAPv2 широкое распространение. Для нас же проблема кроется в том, что MS-CHAPv2 применяется в протоколе PPTP, который используется многими VPN-сервисами (например, такими крупными, как анонимный VPN-сервис IPredator и The Pirate Bay’s VPN).

Если обратиться к истории, то уже в 1999 году в своем исследовании протокола PPTP Брюс Шнайер указал, что «Microsoft улучшил PPTP, исправив основные изъяны безопасности. Однако фундаментальная слабость аутентификации и шифрования протокола в том, что он безопасен настолько, насколько безопасен выбранный пользователем пароль». Это почему-то заставило провайдеров поверить, что ничего страшного в PPTP нет и если требовать от пользователя придумывать сложные пароли, то передаваемые данные будут в безопасности. Сервис Riseup.net настолько проникся этой идеей, что решил самостоятельно генерировать для пользователей пароли длиной в 21 символ, не давая им возможности установить свои. Но даже такая жесткая мера не спасает от расшифровки трафика. Чтобы понять почему, давай поближе познакомимся с протоколом MS-CHAPv2 и посмотрим, как же Мокси Марлинспайк сумел его взломать.

Протокол MS-CHAPv2

Как уже было сказано, MSCHAPv2 применяется для аутентификации пользователей. Происходит она в несколько этапов:

  • клиент посылает запрос на аутентификацию серверу, открыто передавая свой login;
  • сервер возвращает клиенту 16-байтовый случайный отклик (Authenticator Challenge);
  • клиент генерирует 16-байтовый PAC (Peer Authenticator Challenge - равный отклик аутентификации);
  • клиент объединяет PAC, отклик сервера и свое user name в одну строку;
  • с полученной строки снимается 8-байтовый хеш по алгоритму SHA-1 и посылается серверу;
  • сервер извлекает из своей базы хеш данного клиента и расшифровывает его ответ;
  • если результат расшифровки совпадет с исходным откликом, все ОK, и наоборот;
  • впоследствии сервер берет PAC клиента и на основе хеша генерирует 20-байтовый AR (Authenticator Response - аутентификационный ответ), передавая его клиенту;
  • клиент проделывает ту же самую операцию и сравнивает полученный AR с ответом сервера;
  • если все совпадает, клиент аутентифицируется сервером. На рисунке представлена наглядная схема работы протокола.

На первый взгляд протокол кажется излишне сложным - куча хешей, шифрование, случайные challenge. На самом деле все не так уж и сложно. Если присмотреться внимательней, то можно заметить, что во всем протоколе остается неизвестной только одна вещь - MD4-хеш пароля пользователя, на основании которого строятся три DES-ключа. Остальные же параметры либо передаются в открытом виде, либо могут быть получены из того, что передается в открытом виде.


Так как почти все параметры известны, то мы можем их не рассматривать, а остановить свое пристальное внимание на том, что неизвестно, и выяснить, что это нам дает.


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

Имея на руках перехваченный трафик, можно попробовать его расшифровать. Есть несколько инструментов (например, asleap), которые позволяют подобрать пароль пользователя через атаку по словарю. Недостаток этих инструментов в том, что они не дают стопроцентной гарантии результата, а успех напрямую зависит от выбранного словаря. Подбирать же пароль простым брутфорсом тоже не очень эффективно - например, в случае с PPTP VPN сервисом riseup.net, который принудительно устанавливает пароли длиной в 21 символ, придется перебирать 96 вариантов символа для каждого из 21 символов. Это в результате дает 96^21 вариантов, что чуть больше, чем 2^138. Иными словами, надо подобрать 138-битный ключ. В ситуации же, когда длина пароля неизвестна, имеет смысл подбирать MD4-хеш пароля. Учитывая, что его длина равна 128 бит, получаем 2^128 вариантов - на данный момент это просто нереально вычислить.

Разделяй и властвуй

MD4-хеш пароля используется в качестве входных данных для трех DES-операций. DES-ключи имеют длину 7 байт, так что каждая DES-операция использует 7-байтовый фрагмент MD4-хеша. Все это оставляет возможность для классической атаки divide and conquer. Вместо того чтобы полностью брутить MD4-хеш (а это, как ты помнишь, 2^128 вариантов), мы можем подбирать его по частям в 7 байт. Так как используются три DES-операции и каждая DES-операция абсолютно независима от других, это дает общую сложность подбора, равную 2^56 + 2^56 + 2^56, или 2^57.59. Это уже значительно лучше, чем 2^138 и 2^128, но все еще слишком большое число вариантов. Хотя, как ты мог заметить, в эти вычисления закралась ошибка. В алгоритме используются три DES-ключа, каждый размером в 7 байт, то есть всего 21 байт. Эти ключи берутся из MD4-хеша пароля, длина которого всего 16 байт.


То есть не хватает 5 байт для построения третьего DES-ключа. В Microsoft решили эту задачу просто, тупо заполнив недостающие байты нулями и фактически сведя эффективность третьего ключа к двум байтам.


Так как третий ключ имеет эффективную длину всего лишь два байта, то есть 2^16 вариантов, его подбор занимает считаные секунды, доказывая эффективность атаки divide and conquer. Итак, можно считать, что последние два байта хеша известны, остается подобрать оставшиеся 14. Также разделив их на две части по 7 байт, имеем общее число вариантов для перебора, равное 2^56 + 2^56 = 2^57. Все еще слишком много, но уже значительно лучше. Обрати внимание, что оставшиеся DES-операции шифруют один и тот же текст, только при помощи разных ключей. Можно записать алгоритм перебора следующим образом:

Но так как текст шифруется один и тот же, то правильнее сделать вот так:

То есть получается 2^56 вариантов ключей для перебора. А это значит, что безопасность MS-CHAPv2 может быть сведена к стойкости одного DES-шифрования.

Взлом DES

Теперь, когда диапазон подбора ключа известен, для успешного завершения атаки дело остается только за вычислительными мощностями. В 1998 году Electronic Frontier Foundation построила машину Deep Crack, которая стоила 250 тысяч долларов и позволяла взламывать DES-ключ в среднем за четыре с половиной дня. В настоящее время Pico Computing, специализирующаяся на построении FPGA-оборудования для криптографических приложений, построила FPGA-устройство (DES cracking box), которое реализует DES как конвейер с одной DES-операцией на каждый тактовый цикл. Обладая 40 ядрами по 450 МГц, оно позволяет перебирать 18 миллиардов ключей в секунду. Обладая такой скоростью перебора, DES cracking box в худшем случае взламывает ключ DES за 23 часа, а в среднем за полдня. Данная чудо-машина доступна через коммерческий веб-сервис loudcracker.com . Так что теперь можно взломать любой MS-CHAPv2 handshake меньше, чем за день. А имея на руках хеш пароля, можно аутентифицироваться от имени этого пользователя на VPN-сервисе или просто расшифровывать его трафик.

Для автоматизации работы с сервисом и обработки перехваченного трафика Мокси выложил в открытый доступ утилиту chapcrack. Она парсит перехваченный сетевой трафик, ища MS-CHAPv2 handshake’и. Для каждого найденного «рукопожатия» она выводит имя пользователя, известный открытый текст, два известных шифртекста и взламывает третий DES-ключ. Кроме этого, она генерирует токен для CloudCracker, в котором закодированы три параметра, необходимые, чтобы сервис взломал оставшиеся ключи.

CloudCracker & Chapcrack

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

  1. Скачиваем библиотеку Passlib , реализующую более 30 различных алгоритмов хеширования для языка Python, распаковываем и устанавливаем: python setup.py install
  2. Устанавливаем python-m2crypto - обертку OpenSSL для Python: sudo apt-get install python-m2crypto
  3. Скачиваем саму утилиту chapcrack , распаковываем и устанавливаем: python setup.py install
  4. Chapcrack установлена, можно приступать к парсингу перехваченного трафика. Утилита принимает на вход cap-файл, ищет в нем MS-CHAPv2 handshake’и, из которых извлекает необходимую для взлома информацию. chapcrack parse -i tests/pptp
  5. Из выводимых утилитой chapcrack данных копируем значение строки CloudCracker Submission и сохраняем в файл (например, output.txt)
  6. Идем на cloudcracker.com, на панели «Start Cracking» выбираем File Type, равный «MS-CHAPv2 (PPTP/WPA-E)», выбираем предварительно подготовленный на предыдущем шаге файл output.txt, нажимаем Next -> Next и указываем свой e-mail, на который придет сообщение по окончании взлома.

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

Что делать?

Хоть Microsoft и пишет на своем сайте, что на данный момент не располагает сведениями об активных атаках с использованием chapcrack, а также о последствиях таких атак для пользовательских систем, но это еще не значит, что все в порядке. Мокси рекомендует всем пользователям и провайдерам PPTP VPN решений начинать миграцию на другой VPN-протокол. А PPTP-трафик считать незашифрованным. Как видишь, налицо еще одна ситуация, когда VPN может нас серьезно подвести.

Заключение

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