Найти тему
SkyNet

VPN. Как работает и для чего нужен?

Оглавление

Практически каждый пользователь интернета либо слышал, либо использовал VPN. Мы сталкиваемся с VPN по работе или при получении доступа к сервисам, неработающим на территории России (например, онлайн-кинотеатр Disney+ или стриминговый сервис Tidal).

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

Но что такое VPN? Как это работает изнутри? Это безопасно?
Постараемся всё подробно рассмотреть в этой статье.

Что такое VPN?

VPN — это виртуальная частная сеть. Для простоты разобьём на два отдельных понятия — виртуальная и частная. Виртуальная означает, что этой сети не существует физически, но программное обеспечение создаёт иллюзию подключения. Частная сеть — это сеть с частными IP адресами и с ограничениями на подключение из «внешнего» или общего интернета. Таким образом виртуальная частная сеть — это технология, которая позволяет устройствам в общедоступной сети безопасно подключаться к устройствам из частной сети.

Типы VPN

VPN для удаленного доступа клиентов

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

Межсайтовый (Site-To-Site) VPN

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

-2

Протоколы VPN

История протоколов VPN начинается в 1996 году, когда инженер-программист Microsoft Гурдип Сингх Полл создал PPTP (протокол туннелирования точка-точка). С тех пор было разработано ещё множество протоколов, но в статье мы рассмотрим новые и широко распространенные.

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

IPsec (Internet Protocol Security)

IPsec является расширением IP и состоит из нескольких протоколов. Он защищает VPN-соединение, обеспечивая конфиденциальность и целостность данных.

Что это значит? Данные передаются в зашифрованном виде и их перехват ничего не даст, всё что увидят похитители — «кашу» из текста. А целостность означает, что неавторизованные узлы не смогут манипулировать пакетом во время передачи. Это достигается путем хеширования данных на стороне отправителя, хеширования после получения и сравнения результатов. Хеширование — это преобразование данных в строку определенной длины, выполненное специальным алгоритмом.

IPsec также обеспечивает аутентификацию между узлами (например, VPN-клиентом и сервером), требуя от них сначала подтвердить свою личность.
Прежде чем произойдёт обмен данными, два хоста должны установить
SA (Security Association), которая согласовывается протоколом IKE (Internet Key Exchange). Потом хосты-компьютеры будут изменять каждый отправляемый друг другу пакет на основе параметров SA.

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

IKE (Internet Key Exchange)

Протокол IKE используют вместе с IPsec для создания симметричного ключа (он ещё известен как ключ Диффи — Хеллмана) для двух взаимодействующих сторон (клиента и сервера VPN). Ключ будет нужен для шифрования и дешифрования передаваемых данных.

L2TP (Layer 2 Tunneling protocol)

Основанная задача L2TP — туннелировать данные, передающиеся через ненадежную общедоступную сеть. Делает он это путем инкапсуляции (упаковывания) пакета внутри другого пакета. А это значит, что в сети будет обычный пакет, но внутри него будут конфиденциальные данные из частной сети. У протокола L2TP нет механизмов шифрования, поэтому он используется вместе с IPsec для обеспечения безопасности.

SSL/TLS (Secure Socket Layer/Transport Layer Security)

SSL/TLS — это протокол шифрования. С этим протоколом мы сталкиваемся, когда заходим на любой современный сайт. «Замочек» рядом с адресом сайта говорит как раз о том, что соединение с этим сайтом зашифровано по протоколу SSL или TLS. В отличие от IPsec VPN, SSL/TLS VPN не требует установки дополнительных программ, поскольку любой современный браузер умеет работать с этим протоколом по умолчанию.

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

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

Что такое IP-пакет?

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

Жизнь пакета без VPN

-3

Шаг №1: пользователь открывает страницу 2ip.ru и на сервер 2ip.ru отправляется запрос. Пакет стартует с компьютера пользователя, поэтому исходный IP-адрес 192.168.0.4, который является частным адресом. Пакет должен попасть на сервер 2ip.ru, а значит пункт назначения пакета — адрес 195.201.201.32.

Шаг №2: когда пакет с ПК попадает на маршрутизатор, исходный адрес пакета подменяется на общедоступный адрес роутера 188.243.182.35 и пакет отправляется дальше.
Но как маршрутизатор теперь узнает, какому устройству принадлежал пакет, если адрес изменился?
В этом поможет
механизм NAT (преобразование сетевых адресов).
Маршрутизатор будет вести
таблицу NAT, которая сопоставляет IP-адреса внутренней сети с адресами внешними.
Для нашего пакета он создаст примерно такую запись:

Пример записи в таблице NAT
Пример записи в таблице NAT

Когда на маршрутизатор поступит пакет с адресом назначения 188.243.182.35 и портом 1234, маршрутизатор посмотрит в таблицу NAT и перешлёт этот пакет компьютеру с адресом 192.168.0.4 и портом 4321.

Шаг №3: на схеме путь пакета сильно упрощён и он сразу достигает пункта назначения. Но в обычной жизни пакет проходит несколько маршрутизаторов, прежде чем доберётся до пункта назначения. Каждый такой проход называют прыжком или хопом.
Между провайдером и пунктом назначения могут быть миллионы маршрутизаторов, а значит что у пакета миллионы маршрутов.
Как он находит оптимальный путь?
Ответ хранится в самих маршрутизаторах — это таблицы маршрутизации, правила для определения оптимального маршрута.

Шаг №4: похож на предыдущий шаг, но в противоположном направлении. IP-адрес источника и пункта назначения меняются местами и пакет с сервера 2ip.ru отправляется обратно.

Шаг №5: интернет-провайдер отправляет пакет на маршрутизатор.

Шаг №6: когда пакет достигает места назначения, домашний маршрутизатор начинает сопоставлять адреса в таблице NAT, находит адрес компьютера и модифицирует пакет. Теперь адрес назначения 192.168.0.4 и маршрутизатор перенаправляет пакет к ПК.

Схема показывает жизнь пакета без VPN и объясняет, почему на 2ip.ru отображается не адрес компьютера, а публичный IP-адрес роутера.

Также можно увидеть и уязвимости, которым подвержена современная сеть: если подключиться к сайту по http, то данные будут передаваться открыто и при перехвате можно без труда узнать всё содержимое.

Жизнь пакета с VPN

-5

Шаг №1: если на устройстве пользователя установлено VPN-приложение, то отправляемый пакет будет инкапсулирован. Это значит, что пакет будет «упакован» в другой пакет, созданный VPN-приложением. И всё содержимое будет зашифровано, «прочитать» его сможет только VPN-сервер. Для всех маршрутизаторов со стороны это обычный пакет и его пересылка не вызовет никаких сложностей. Адрес назначения у пакета уже будет не адрес 2ip.ru, а адрес VPN-сервера 206.189.234.44.

Шаг №2: этот шаг аналогичен второму шагу в жизни пакета без VPN. Исходный адрес подменяется общедоступным адресом маршрутизатора и в таблице NAT создаётся новая запись.

Шаг №3: пакет отправляется провайдером в пункт назначения: VPN-сервер.

Шаг №4: VPN-сервер получает пакет, использует свой симметричный ключ для расшифровки содержимого внутреннего пакета. После этого сервер отправляет пакет к первоначальному пункту назначения: серверу 2ip.ru.

Шаг №5: IP-адрес источника и пункта назначения меняются местами и пакет с сервера 2ip.ru отправляется обратно.

Шаг №6: VPN-сервер принимает пакет, шифрует его содержимое и инкапсулирует в другой пакет.

Шаг №7: интернет-провайдер отправляет пакет на маршрутизатор.

Шаг №8: пакет приходит на ПК пользователя, VPN-приложение разворачивает его и расшифровывает содержимое своим симметричным ключом.

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

Преимущества использования VPN неоспоримы. Однако есть и недостатки:

  • После подключения к VPN скорость соединения зависит только от физического местоположения сервера и его возможностей.
    Если используется тариф 100 Мбит/с, а вы подключились к слабому серверу на другом конце Земли — скорость будет гораздо ниже тарифной.
  • Ещё одним недостатком является небольшое количество IP-адресов, выделяемых VPN-провайдерами.
    Если пользователь VPN нарушит правила какой-либо площадки — его могут заблокировать по IP. И в таком случае будут заблокированы все пользователи, кому выпадет такой же адрес.

Насколько безопасен VPN?

-6

Если мы используем VPN, то кажемся неуязвимыми. Но это не так.

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

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

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

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

Что будет с данными на сервере? В каком виде они будут передаваться дальше и будут ли зашифрованы?
На эти вопросы нам никто не ответит.

Надёжный провайдер Санкт-Петербурга

Подключайтесь к безопасной сети СкайНэт, по промокоду 818467 заберёте 5 месяцев интернета за 1000 рублей (300 руб./ мес.).
Подключиться 💚