Что значит шифровать трафик
Перейти к содержимому

Что значит шифровать трафик

  • автор:

Как зашифровать подключение к интернету?

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

Что такое защита трафика от провайдера и для чего она нужна

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

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

  1. Подключения к сети без кодировки могут быть использованы против пользователя. Их легко отследить, перехватить и полностью изучить данные. Это нарушает конфиденциальность и снижает уровень безопасности банковских счетов, паролей от учетных записей и многое другое. Дополнительно это даст провайдеру возможность продать рекламодателю информацию о сайтах с высокой частотой посещаемости.
  2. Киберпреступления легко совершить при отсутствии надежной защиты. Хакеры могут подключить устройство к их сети и полностью следить за действиями.
  3. Зашифровать трафик от провайдера можно для исключения просмотра пакета данных. Владелец хостинга не будет видеть список ресурсов и приложений, посещаемых при интернет-серфинге. Имея доступ ко всем файлам, реально ограничить пропускную способность соединения намеренно.
  4. При работе с устройством, подключенным к локальной сети, администраторы могут проводить отслеживание любых посещений. При использовании сторонних сервисов можно заблокировать к ним доступ.
  5. Кодирование данных поможет пользователям избежать даже правительственной слежки. Представители государственных структур не смогут выявить факт посещения ресурсов с нежелательной информацией или платформ, подвергшихся блокировке провайдером.

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

Как шифровать трафик интернета и что для этого необходимо

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

Посещение сайтов, поддерживающих протокол HTTPS

Данный вид протокола относится к стандартам подключения. Некоторые браузеры полностью перешли на HTTPS, и блокируют сервисы с HTTP. Подобное решение было принято по причине отсутствия шифрования и возможности получения доступа к сведениям посетителя.

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

Почему стоит использовать ВПН

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

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

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

Особенности применения DNS

Аббревиатура DNS означает Domain Name System. Это инструмент влияет на IP-адреса и переделывает их в название сайтов или в цифирное обозначение. Сами DNS не подвергаются шифрованию, поэтому их стоит применять только поверх HTTPS.

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

Применение прокси-сервера для входа

Использование утилит для шифрования трафика дает возможность скрыть все личные данные. Кроме ВПН-приложения, воспользовавшись помощью нашей компании Alt VPN. также можно купить прокси.

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

  1. Обеспечивается высокий уровень конфиденциальности. Пользователь сохраняет собственную анонимность для всех внешних наблюдателей.
  2. Позволяет повысить уровень безопасности и снижается риск проведения успешных кибератак.
  3. Обход блокировки различных ресурсов и исключение стороннего наблюдения за действиями и потоком информации клиента.
  4. Получение возможности для снятия ограничений по трафику и увеличения скорости доступа к ресурсам.

Все это происходит благодаря подмене IP-адреса и перенаправления трафика через дополнительный сервер. Этот источник может быть дополнительно защищен при помощи кэшированных данных или прочих механизмов.

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

Шифрование трафика. Как зашифровать свое интернет-соединение.

How to Encrypt Internet Connections

Шифрование трафика звучит круто, но как именно это делается? И какие преимущества это дает?

Предлагаем вашему вниманию развернутую статью о том, как лучше всего шифровать свое интернет-соединение. Не волнуйтесь, это займет не более 9 минут.

Что такое шифрование?

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

«Нечитаемый формат» – определение довольно расплывчатое, но вы можете воспользоваться этим инструментом, чтобы получить представление о том, как все устроено.

В нашем случае мы использовали шифр AES-256 для шифрования сообщения «Привет, ребята!». А это используемый нами ключ шифрования: “fgj5kig0813sfdfewbasd3453gafvafg.” Зашифровано сообщение выглядит следующим образом: “bTFR+qKhkQt2djukrfX+Zw==.”

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

Можно ли взломать шифрование?

Если вы используете устаревший шифр (например, Blowfish) с небольшой длиной ключа (64 бита, например), то его можно будет взломать при помощи пресловутого брутфорса.

Но если вы придерживаетесь современных шифров, таких как AES, и больших размеров ключей (128 бит и выше), то вы в безопасности. Если Тяньхэ-2, или четвертый самый быстрый суперкомпьютер в мире, попытается взломать сообщение, зашифрованное с помощью AES-256, это займет около 9,63×1052 лет (1052 в этом случае 1 с 52 нулями, то есть в девятой степени).

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

Зачем шифровать трафик?

Есть ли смысл вообще беспокоиться об этом?

Определённо. На самом деле, есть много причин, почему необходимо сделать интернет-трафик нечитаемым:

  • Прежде всего, незашифрованные соединения могут прослушивать и перехватывать хакеры. Так они могут украсть конфиденциальную информацию (данные кредитной карты, пароли и т. д.), или же перенаправить вас на фишинговые веб-сайты (поскольку видят, какими сайтами вы чаще всего пользуетесь).
  • Киберпреступники могут обмануть ваше устройство, и подключиться к поддельной сети WiFi, которую сами же запустят. Если это случится, то они смогут мониторить всю вашу деятельность онлайн.
  • Незашифрованный трафик означает, что ваш интернет-провайдер может просматривать пакеты данных, и видеть, какие сайты вы просматриваете и какие веб-приложения используете. Благодаря этой информации они могут целенаправленно ограничивать пропускную способность вашего соединения.
  • Если вы используете незашифрованные соединения, это в значительной степени говорит о том, что вы согласны, что ваш провайдер будет продавать ваши данные рекламодателям.
  • Отсутствие шифрование трафика означает, что сетевые администраторы также могут отслеживать его. Это может стать проблемой, если вы посещаете «отвлекающие» веб-сайты на работе или в школе, будь то YouTube, Facebook или Twitter.
  • Кроме того, шифрование поможет вам избежать правительственной слежки за тем, что вы делаете в интернете.

«Но я уже использую зашифрованный WiFi, так что все в порядке, верно?»

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

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

Новый стандарт шифрования WPA3 должен исправить эти проблемы, но даже он не без изъяна.

Кроме того, есть еще одна проблема: некоторым сетям может и требуется пароль для использования, но они могут быть защищены устаревшим шифрованием, вроде WEP и WPA.

В общем, тот факт, что вы используете зашифрованный WiFi, вовсе не означает, что ваши данные в безопасности.

Как зашифровать подключение к Интернету

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

1. Посещайте только сайты с протоколом HTTPS

HTTPS сейчас является своего рода стандартом, и некоторые браузеры даже не позволяют открывать сайты на протоколе HTTP. И не без причины! HTTP означает, что веб-сайт не шифрует ваши запросы на подключение и ответы. Так что любой может шпионить за вами.

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

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

2. Используйте HTTPS Everywhere

HTTPS Everywhere — это расширение для браузеров Opera, Chrome, Firefox, Tor и Brave, которое автоматически перенаправляет все HTTP-ссылки на страницы HTTPS, если имеется такая техническая возможность. Это очень удобно, поскольку некоторые крупные веб-сайты все еще не используют HTTPS.

Конечно, HTTPS Everywhere не поможет вам, если сайт просто-напросто не поддерживает HTTPS. Но все же это хорошая мера безопасности.

Наконец, подумайте о том, чтобы использовать uMatrix и uBlock Origin. Они не шифруют ваше соединение, но могут блокировать вредоносные скрипты и рекламу. Это может пригодится, если вы каким-то образом оказались на подозрительном HTTP-сайте.

3. Используйте мессенджеры только со сквозным шифрованием

Когда вы хотите написать кому-то сообщение, вы просто печатаете текст в смартфоне и отправляете его, верно? Либо вы делаете это через Facebook Messenger и похожие приложения.

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

И это ещё не всё. Рассмотрим тот факт, что АНБ, как известно, собирает миллионы текстовых сообщений, а такие компании, как Apple, Facebook и Skype, являются частью их программы массовой слежки (PRISM).

Конечно, вы можете использовать сквозное шифрование с Facebook Messenger, если включить функцию Secret Conversation. Но здесь есть проблемка – это не позволит вам шифровать групповые сообщения, GIF-файлы, платежи или голосовые и видеозвонки. И еще раз: Facebook является частью программы слежки АНБ. Стали бы вы доверять конфиденциальную информацию такой компании?

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

    — приложение было рекомендовано защитниками конфиденциальности, такими как Эдвард Сноуден и Брюс Шнайдер. Более того, его рекомендуют многие члены Европейской Комиссии. Помимо сквозного шифрования, приложение распространяется с открытым исходным кодом. И хотя не так давно в нем обнаружили эксплоит для прослушки, проблему очень быстро устранили. – хотя приложение больше нацелено на бизнесы, любой может его использовать. Оно распространяется с открытым исходным кодом, предлагает сквозное шифрование и не требует электронной почты или номера телефона для регистрации. – очень безопасное приложение, которое изначально задумывалось японскими инженерами как коммуникационное решение после землетрясения 2011 года. — хотя мессенджер и не бесплатный, он предлагает отличную безопасность: сквозное шифрование, отсутствие необходимости указывать номер телефона, а также удаление ваших сообщений с серверов после доставки.

Давайте также рассмотрим ещё одно зашифрованное приложение для обмена сообщениями, которое многие рекомендуют:

  • Это WhatsApp. Хотя мессенджер предлагает сквозное шифрование, и Facebook подтверждает, что прочитать сообщения в WhatsApp невозможно, нависает проблема с программой слежки АНБ PRISM. В частности, больше всего беспокоит то, что Facebook является участником этой программы. Так что, существует огромная вероятность, что они делятся переписками с АНБ. Кроме того, в 2019 году у приложения были проблемы, связанные со шпионскими программами.

Мы не говорим, что вам вообще не следует использовать WhatsApp. Но если вы это сделаете, общайтесь осторожно.

4. Использовать DNS поверх HTTPS

DNS расшифровывается как Domain Name System или «система доменных имён». Ее роль заключается в преобразовании IP-адресов в читаемые названия веб-сайтов и наоборот.

Если вы хотите подключиться к веб-сайту по названию, ваш браузер отправит DNS-запрос на DNS-сервер вашего провайдера, чтобы получить IP-адрес сайта.

Всё это хорошо, но есть проблемка: DNS-запросы, как правило, не шифруются. Это открывает перед вами множество рисков — атаки MITM, слежка провайдера и фильтрация DNS.

Эту проблему как раз исправляет DNS поверх HTTPS Он использует HTTPS для шифрования ваших запросов, что делает ваше подключение к интернету безопаснее.

Как использовать DNS поверх HTTPS?

На самом деле, это не так сложно, поскольку большинство браузеров уже поддерживают эту технологию. Также предлагаем вашему вниманию руководство о том, как это сделать. Если вы хотите использовать DNS поверх HTTPS не только в браузере, попробуйте 1.1.1.1 (на сайте представлены руководства). Это намного быстрее, чем пользоваться OpenDNS или Google Public DNS.

5. Использовать VPN

VPN является одним из самых простых способов для полного шифрования вашего интернет-соединения. Это онлайн-сервис, который скрывает ваш IP-адрес и шифрует весь ваш веб-трафик. Давайте узнаем, как работает эта схема.

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

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

Зашифруйте свой трафик прямо сейчас при помощи CactusVPN!

Если вам нужен VPN, то предлагаем познакомиться с нашим Сервисом. Мы предлагаем шифрование AES-256 для большинства протоколов, что принято считать безопасностью на военном уровне. Кроме того, мы не ведём никаких логов, и используем безопасные протоколы: IKEv2, SoftEther и OpenVPN, а также у нас есть поддержка DNS поверх HTTPS.

Специальное предложение! Получите CactusVPN за 3.5$ в месяц!

И как только вы станете клиентом CactusVPN, у вас будет 30-дневная гарантия возврата денег.

6. Использовать зашифрованную электронную почту

Gmail, AOL и Yahoo! – популярные и вполне удобные почтовые службы, но это не настолько хороший способ шифрования всех данных электронной почты, которые проходят через ваше подключение к интернету. Вот как это устроено:

  • Google позволяет посредникам сканировать ваши электронные письма. Yahoo! и AOL также получали обвинения в сканировании электронных писем на предмет данных, которые они могут впоследствии продать рекламодателям. пострадали от утечки данных.
  • Сообщается, что AOL имеет самый высокий уровень взлома электронных почтовых ящиков.
  • Несмотря на обещания, Yahoo! и Google еще не запустили сквозное шифрование, и это означает, что они по-прежнему могут сканировать ваши письма. Многие другие почтовые службы уже давно реализовали поддержку сквозного шифрования, так что это довольно серьезный красный флажок.

Мы рекомендуем вам присмотреться к таким Сервисам, как ProtonMail или Tutanota. Они оба работают с открытым исходным кодом, предлагают сквозное шифрование, не запрашивают личную информацию и не хранят её.Также предлагаем вам подробнее узнать о почтовых службах в нашем руководстве.

Стоит ли шифровать трафик через Tor?

Многие люди и статьи будут советовать это делать. Как правило, потому, что Tor добавляет несколько уровней шифрования к вашим соединениям (обычно три).

И хотя звучит серьезно, этот метод тоже не без изъяна:

  • Узел выхода (последний сервер в цепочке Tor, через который проходит ваш трафик) расшифровывает ваши данные. Таким образом, этот узел может просматривать содержимое вашего трафика. Если киберпреступник или правительственный агент используют этот узел, то они могут шпионить за вашими интернет-соединениями.
  • Погодите… хакеры и правительственные агенты? Поддерживают узлы Tor, которыми я могу случайно воспользоваться? Вероятность намного больше, чем вам может казаться. Исследователи уже не раз обнаруживали вредоносные узлы, и не секрет, что сотрудники правоохранительных органов могут запускать некоторые узлы целенаправленно.
  • У Tor также имеются подозрительные связи с правительством США. Подробнее об этом можно почитать здесь (пункты #5 и #6).

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

Однако имейте в виду, что при такой связке интернет будет работать значительно медленнее. Tor и без того сильно замедляет работу, а вдобавок VPN окажет больший эффект.

Не забудьте использовать антивирус!

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

Поэтому не забывайте всегда и везде использовать антивирус.

Как зашифровать подключение к интернету — В завершение

Шифрование веб-трафика очень важно, если вы хотите избежать кибератак, правительственной слежки или широко распространённого мониторинга интернет-провайдера.

Лучший способ зашифровать подключение — использовать шифрованные мессенджеры, VPN, зашифрованные почтовые службы, DNS поверх HTTPS, сайты с протоколом HTTPS или HTTPS Everywhere.

Знаете другие способы, как шифровать интернет-соединение? Тогда не забудьте поделиться мыслями на этот счёт в комментариях или в наших социальных сетях.

Глава 1. Введение в OpenVPN

Интернет в современном обществе так же широко распространен как и любое коммунальное сооружение. Когда кто-то покупает дом или переезжает в новую квартиру, или бизнес переезжает в новое место, интернет является первой услугой в списке, за которой следует электричество, тепло, мусор и, возможно (но маловероятно) наземная линия или телефонная служба. Вы можете даже возразить, что современный квалификатор даже не нужен. С помощью таких программ, как One Laptop per Child, в сочетании с усилиями таких компаний как Facebook и Google, так называемые страны третьего мира, где нет водопроводов, канализации или даже телефонной связи, имеют Интернет.

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

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

Вторая мировая война дала развитие многим величайшим достижениям в криптографии и защищенной связи. От таких устройств, как немецкая машина “Энигма” до Кодовых говорунов Навахо, надежная связь между войсками и командованием была бесконечной гонкой вооружений. Сегодня правительства и военные — не единственные группы, которые стремятся к уединению. Корпорации хотят поддерживать целостность данных и защиту стандартов индустрии платежных карт (PCI) для защиты потребителей. Члены семьи хотят обсуждать семейные дела по частным каналам, где сообщество в целом не может подслушивать. Другие хотят прорваться через национальные брандмауэры, предназначенные для наблюдения за населением и ограничения контента, считающегося спорным или противоречащим политике партии.

Каждый день большинство людей используют VPN или имеют возможность использовать VPN независимо от того, осознают они это или нет. Существует множество различных технологий VPN как от коммерческих поставщиков, так и в виде проектов с открытым исходным кодом. Одним из самых популярных программных проектов для VPN с открытым исходным кодом является OpenVPN. Цель этой книги — сделать вас мастером OpenVPN; вы узнаете не только технологию, лежащую в ее основе, но и рассуждения, логику и логистику всего, что связано с этим. В то время как эта книга будет упоминать и касаться коммерческого предложения от OpenVPN Technologies Inc., Access Server, основной акцент будет сделан на open source/community версию OpenVPN.

Что такое VPN?

Проще говоря, VPN позволяет администратору создавать “локальную” сеть между несколькими компьютерами в разных сегментах сети. В некоторых случаях эти машины могут находиться в одной и той же локальной сети, они могут быть удалены друг от друга через общедоступный Интернет или даже могут быть подключены через множество соединительных сред, таких как беспроводные восходящие каналы, спутниковая связь, коммутируемая сеть, и так далее. P в VPN происходит от дополнительной защиты (private), чтобы сделать эту виртуальную сеть приватной. Сетевой трафик, проходящий через VPN, часто называют внутри туннеля (VPN) по сравнению со всем другим трафиком за пределами туннеля.

На следующем рисунке показан сетевой трафик, который традиционно проходит через несколько сегментов сети и общий Интернет. Здесь этот трафик относительно открыт для проверки и анализа. Хотя защищенные протоколы, такие как HTTPS и SSH, менее уязвимы, их все же можно идентифицировать; если злоумышленник отслеживает сетевой трафик, он все еще может видеть, какой тип соединения установлен, с какого компьютера к какому серверу.

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

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

  • Банкоматы: банкоматы могут использовать VPN для более безопасного подключения к банковским системам.
  • Открытый/бесплатный Wi-Fi: С распространением бесплатных или публичных беспроводных сетей обычные пользователи могут использовать VPN для защиты своего интернет-серфинга.
  • Корпоративные сети: корпорации и другие организации могут использовать VPN для подключения нескольких офисов или даже целых центров обработки данных.
  • Сервисы GeoIP / Геолокации: некоторые веб-сайты предоставляют данные, основанные на географическом местоположении, используя базы данных GeoIP и другие записи. VPN может позволить вам “прыгать” через другую машину в месте, ближе к контенту, который вы действительно хотите. Интернет-видеосервисы, такие как Hulu, YouTube и Netflix, являются типичными примерами этого.
  • Обход цензуры / политической свободы: некоторые режимы, такие как в Северной Корее или Китае, имеют чрезвычайно ограничительные правила цензуры. “Великий брандмауэр Китая” — один из крайних примеров. Запрет доступа к Интернету во время политических восстаний, таких как «Арабская весна», пытается сдерживать и контролировать сообщения вне конфликта. Виртуальные частные сети могут помочь выйти за пределы этих ограничительных правил в более широкий Интернет.

Вот пример трафика внутри VPN. В то время как сама VPN маршрутизируется через Интернет, как на предыдущем рисунке, устройства по сетевому пути видят только трафик VPN; эти устройства совершенно не знают о том, что передается внутри частного туннеля. Защищенные протоколы, такие как HTTPS и SSH, по-прежнему будут защищены внутри туннеля от других пользователей VPN, но будут дополнительно неопознаваемы извне туннеля. VPN не только шифрует трафик внутри, но и скрывает и защищает отдельные потоки данных от потоков вне туннеля.

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

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

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

Вторым компонентом аутентификации является дополнительная защита потока связи. В этом случае устанавливается метод подписи каждого отправленного пакета. Каждая система проверяет, что полученные VPN-пакеты правильно подписаны, прежде чем расшифровывать полезную нагрузку. За счет аутентификации пакетов, которые уже зашифрованы, система может сэкономить время обработки, даже не расшифровывая пакеты, которые не соответствуют правилам аутентификации. В конце концов, это серьезно мешает потенциальной атаке Отказ в обслуживании (Denial of Service — DoS), а также срыве Атаки посредника (Man in the middle — MITM), предполагая что ключи подписи хранятся в безопасности!

Типы VPN

Есть множество продуктов VPN, доступных на рынке, как коммерческих, так и с открытым исходным кодом. Почти всех их можно разделить на следующие четыре категории:

  • протокол PPTP на основе VPN
  • протокол IPSec на основе VPN
  • SSL на основе VPN
  • OpenVPN

Некоторые люди утверждают что OpenVPN — это также VPN на основе SSL, поскольку он использует протокол SSL или TLS для установления безопасного соединения. Тем не менее, мы сделали отдельную категорию для OpenVPN, так как она отличается от любого другого SSL-решения VPN.

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

Одним из самых старых протоколов VPN является Туннельный протокол типа точка-точка (Point-to-Point Tunneling Protoco — PPTP), разработанный Microsoft и Ascend в 1999 году. Он официально зарегистрирован как RFC2637 (полный стандарт см. https://www.ietf.org/rfc/rfc2637.txt). Клиент PPTP был включен в Windows с 1995 года и до сих пор входит в большинство операционных систем.

В настоящее время протокол PPTP считается принципиально небезопасным, так как степень безопасности соединения напрямую связана с силой выбранного механизма аутентификации (например, пароля). Таким образом, небезопасный пароль приводит к небезопасному VPN-соединению. Большинство настроек PPTP используют протокол MS-CHAPv2 для шифрования паролей и именно этот протокол существенно небезопасен. Безопасность протокола PPTP, включая расширения Microsoft MS-CHAPv2, обсуждалась в статье, доступной по адресу https://www.schneier.com/paper-pptpv2.html.

Также можно использовать сертификаты X.509 для защиты соединения PPTP, что приводит к довольно безопасному соединению. Однако не все клиенты PPTP поддерживают EAP-TLS, что необходимо для использования сертификатов X.509.

PPTP использует два канала: канал управления для настройки соединения и другой канал для передачи данных. Канал управления инициируется через TCP-порт 1723. Канал данных использует протокол General Routing Encapsulation (GRE), который является IP-протоколом 47. Для сравнения, «обычный» трафик TCP/IP передается с использованием IP-протокола 6 (TCP) и 17 (UDP).

Клиенты PPTP доступны практически во всех операционных системах от Windows до Linux и производных Unix, для устройств iOS и Android.

IPSec

Стандарт IPSec является официальным стандартом IEEE/IETF для защиты IP. Он официально зарегистрирован как RFC2411 (полный стандарт см. https://www.ietf.org/rfc/rfc2411.txt). IPSec также встроен в стандарт IPv6.

IPSec работает на уровне 2 и 3 сетевого стека модели OSI. Он вводит концепцию политик безопасности, что делает его чрезвычайно гибким и мощным, а также чрезвычайно сложным в настройке и устранении неполадок. Политики безопасности позволяют администратору шифровать трафик между двумя конечными точками на основе многих параметров, таких как IP-адрес источника и назначения, а также TCP и UDP-порты источника и назначения.

IPSec может быть настроен на использование предустановленных общих ключей или сертификатов X.509 для защиты VPN-подключения. Кроме того, для аутентификации VPN-подключения используются сертификаты X.509, одноразовые пароли или протоколы имени_пользователя/пароля.

В IPSec есть два режима работы: туннельный и транспортный режим. Транспортный режим чаще всего используется в сочетании с протоколом туннелирования 2 уровня (Layer 2 Tunneling Protocol — L2TP). Этот протокол L2TP выполняет аутентификацию пользователя, как описано в предыдущем разделе. Клиенты IPSec, встроенные в большинство операционных систем, обычно выполняют IPSec + L2TP, хотя также возможно установить соединение только для IPSec. VPN-клиент IPSec, встроенный в Microsoft Windows, по умолчанию использует IPSec + L2TP, но его можно отключить или обойти. Тем не менее он включает в себя команды шифрования и изменения политики безопасности.

Как и PPTP, IPSec также использует два канала: канал управления для настройки соединения и канал для передачи данных. Канал управления инициируется через UDP-порт 500 или 4500. Канал данных использует протокол Encapsulated Security Payload (ESP), который является IP-протоколом 50. Для сравнения, «обычный» трафик TCP/IP передается с использованием IP-протокола 6 (TCP) и 17 (UDP). Целостность пакетов IPSec обеспечивается с помощью кода аутентификации сообщений на основе хэша (Hash-based Message Authentication Code — HMAC), который является тем же методом, который используется в OpenVPN.

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

Программное обеспечение IPSec включено практически во все операционные системы, а также в микропрограммы межсетевого экрана, маршрутизатора и коммутатора.

VPN на основе SSL

В настоящее время наиболее часто используемый VPN — это VPN на основе SSL, основанный на протоколе SSL/TLS. VPN на основе SSL часто называют VPN без клиентского доступа или VPN на основе Интернета, хотя есть некоторые поставщики, которые предоставляют отдельное клиентское программное обеспечение, например Cisco AnyConnect и Microsoft SSTP. Большинство VPN на основе SSL используют тот же сетевой протокол, который используется для безопасности веб-сайтов (HTTPS), тогда как OpenVPN использует собственный формат для шифрования и подписи трафика данных. Это основная причина почему OpenVPN указан как отдельная категория VPN.

Не существует четко определенного стандарта для VPN на основе SSL, но большинство используют протокол SSL/TLS для настройки и защиты соединения. В большинстве случаев соединение защищено с помощью сертификатов X.509 с одноразовым паролем или протоколами имени_пользователя/пароля для аутентификации соединения. VPN на основе SSL очень похожи на соединения, используемые для защиты веб-сайтов (HTTPS) и часто используется один и тот же протокол и канал (TCP и порт 443).

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

OpenVPN

OpenVPN часто называют VPN на основе SSL, так как он использует протокол SSL/TLS для защиты соединения. Однако OpenVPN также использует HMAC в сочетании с алгоритмом дайджеста (или хеширования) для обеспечения целостности доставляемых пакетов. Он может быть настроен на использование предустановленных ключей, а также сертификатов X.509. Эти функции обычно не предлагаются другими VPN на основе SSL.

Кроме того, OpenVPN использует виртуальный сетевой адаптер (устройство tun или tap) в качестве интерфейса между программным обеспечением OpenVPN пользовательского уровня и операционной системой. В общем, любая операционная система, поддерживающая устройство tun/tap, может запускать OpenVPN. В настоящее время это ОС на основе Linux, Free/Open/NetBSD, Solaris, AIX, Windows и Mac OS, а также устройства iOS/Android. Для всех этих платформ необходимо установить клиентское программное обеспечение, которое отличает OpenVPN от клиентских или веб-сетей VPN.

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

OpenVPN имеет понятие канала управления и канала данных, которые зашифрованы и защищены по-разному. Однако весь трафик проходит через одно соединение UDP или TCP. Канал управления зашифрован и защищен с использованием SSL/TLS, канал данных зашифрован с использованием специального протокола шифрования.

Протокол и порт по умолчанию для OpenVPN — это UDP и порт 1194. Прежде чем IANA предоставила OpenVPN официальное назначение порта, старые клиенты (2.0-beta16 и старше) по умолчанию использовали порт 5000.

Сравнение VPN

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

Преимущества и недостатки PPTP

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

Недостатками VPN на основе PPTP являются отсутствие безопасности и параметров конфигурации как на стороне клиента, так и на стороне сервера. Кроме того, расширение EAP-TLS, которое позволяет использовать сертификаты X.509, полностью поддерживается только в Microsoft Windows, хотя существует патч для пакета pppd с открытым исходным кодом для включения поддержки EAP-TLS. Пакет pppd входит почти в каждый дистрибутив Linux. Кроме того, если нужно использовать EAP-TLS, то простота настройки PPTP VPN значительно уменьшается. Это связано с тем, что EAP-TLS требует настройки инфраструктуры открытого ключа, как IPSec и OpenVPN.

Другим существенным недостатком PPTP является использование протокола GRE, который плохо интегрируется с устройствами NAT.

Преимущества и недостатки IPSec

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

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

Преимущества и недостатки VPN на основе SSL

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

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

Преимущества и недостатки OpenVPN

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

Недостатками OpenVPN являются отсутствие масштабируемости и зависимость от установки клиентского программного обеспечения. Еще одним недостатком является отсутствие графического интерфейса для настройки и управления. В частности, драйвер интерфейса tap для Microsoft Windows часто вызывал проблемы развертывания при выпуске новой версии Windows.

История OpenVPN

OpenVPN был первоначально написан Джеймсом Йонаном с первоначальным выпуском, версией 0.90 в 2001 году под лицензией GPL. Первоначальный выпуск позволял пользователям создавать простые VPN типа «точка-точка» по UDP с использованием шифра Blowfish и, опционально, подписи HAAC SHA1. С версией 1.0, проверка подлинности на основе TLS и обмен ключами были добавлены вместе со страницей man .

Улучшения для OpenVPN 1.x включали улучшенную поддержку TLS, защиту от повторов и перенос на другие операционные системы. Некоторые порты были включены для OpenBSD, Mac OS и улучшены пакеты для RedHat. До версии 1.1.1 устройство tun должно было настраиваться вручную вне OpenVPN. В этом выпуске добавлена опция —ifconfig , которая автоматически настраивала устройство tun, значительно упрощая общую настройку.

Серия 1.x была относительно сырой по сравнению с текущей версией OpenVPN 2.3.8, как и следовало ожидать от нового проекта. Одним из основных препятствий была интеграция OpenSSL. Поскольку OpenSSL был известен своей плохой или полностью отсутствующей документацией, разработчик должен был перейти непосредственно к исходному коду, чтобы интегрировать проект с OpenVPN. Так же на ранних этапах требовались изменения лицензии, чтобы позволить более специфичному общедоступному лицензионному коду GNU связываться с библиотекой OpenSSL не-GPL. Эти проблемы были проработаны, и в журнале изменений на протяжении серии 1.x были добавлены новые функции.

Некоторые заметные обновления в серии 1.x включают в себя:

  • 2001.05.13 (0.90): это был первый выпуск
  • 2002.03.23 (1.0): позволил TLS-аутентификацию и обмен ключами
  • 2002.04.09 (1.1.0): появился порт OpenBSD и соединение OpenSSL
  • 2002.04.22 (1.1.1): появилась опция —ifconfig
  • 2002.05.22 (1.2.0): здесь появились файлы конфигурации (вместо просто параметров командной строки, поддержка pthread и порт Solaris)
  • 2002.07.10 (1.3.0): улучшена поддержка FreeBSD и улучшена регистрация
  • 2002.10.23 (1.3.2): начальная поддержка IPv6 и больше улучшений для FreeBSD
  • 2003.05.07 (1.4.0): включены функции MTU
  • 2003.07.24 (1.5-beta1): поддержка TCP
  • 2003.11.03 (1.5-beta13): в нем появилась поддержка параметров конфигурации —http-proxy , —redirect-gateway и —crl-verify
  • 2004.02.01 (1.6-beta5): прокси SOCKS5 и IPv6 на FreeBSD
  • 2004.05.09 (1.6.0): это финальная версия 1.x

OpenVPN 2.0 видел большие успехи от выпусков 1.x. В версии 2.0 были предприняты усилия для обеспечения многоклиентных экземпляров сервера, улучшенной работы с потоками и улучшенного tun/tap адаптера Windows. Разработка для 2.0 пересекалась с 1.x более года, с начальными тестовыми выпусками для 2.0, датируемыми ноябрем 2003 года и финальной версией 1.x не выходившей до 9 мая 2004 года. Пока она была окончательно выпущена, 2.0 увидела 29 тестовых выпусков, 20 бета-релизов и 21 релиз-кандидат за полтора года усилий (с ноября 2003 года по апрель 2005 года).

Некоторые ключевые особенности релиза 2.0 по сравнению с 1.6.0 следующие:

  • Позволяет серверу принимать соединения от нескольких клиентов
  • Включает опцию config на стороне сервера push для клиентов ( —push/—pull )
  • Позволяет аутентификацию по имени_пользователя/паролю
  • Поддерживает chroot и понижение привилегий демона ( —user/—group/—chroot )
  • Поддерживает сценарии подключения клиента
  • Имеет интерфейс управления
  • Появление Easy-RSA

Разработка с 2.0 до 2.0.9 в основном состояла из исправлений ошибок и исправлений для нескольких уязвимостей безопасности. Помимо некоторых случайных вкладов от сторонних разработчиков, OpenVPN был разработан Джеймсом до выпуска 2.1. 2.0.9 оставался неизменным официальным выпуском с октября 2006 года до версии 2.1.0 в декабре 2009 года.

OpenVPN 2.1 был первым крупным выпуском с заметным количеством кода, написанного кем-то кроме Джеймса Йонана. Алон Бар-Лев внес значительный вклад, начиная с 2.1-beta3 со многими исправлениями для поддержки криптографии и поправками. Рассматривая первый реальный выпуск сообщества, 2.1 увидел большую работу в базовом ядре кода, включая интерфейс управления и сетевую адресацию. Некоторые заметные примечания к выпуску включают следующее:

  • 2005.11.12 (2.1-beta7): файлы ca , cert , key и dh могут быть указаны в файле конфигурации.
  • 2006.01.03 (2.1-beta8): добавлена подсеть —topology .
  • 2006.02.16 (2.1-beta9): было разрешено совместное использование портов, чтобы OpenVPN и HTTPS могли совместно использовать порт.
  • 2008.09.10 (2.1_rc10): предупреждает если используется общая подсеть 192.168.0.0/24 или 192.168.1.0/24. —server-bridge был добавлен для поддержки DHCP-прокси.
  • 2010.08.09 (2.1.2): у него была система сборки Windows на основе Python с улучшенной обработкой AUTH_FAIL для интерфейса управления.
  • 2010.11.09 (2.1.4): это был последний выпуск серии 2.1.

В августе 2008 года официального релиза с 2.0.9 не было. Кроме того, было мало поддержки со стороны сообщества, кроме списка рассылки. Был интерес к созданию сообщества и Кризе Кинг и Эрик Крист подталкивали к созданию сообщества вокруг проекта. Изначально все усилия были направлены на поддержку пользователей.

Поскольку группа людей, поддерживающих OpenVPN, росла, это привлекало людей, которые могли писать хороший код. Был установлен контакт с OpenVPN Inc. с целью не только обеспечить более высокий уровень поддержки OpenVPN, но также создать и расширить программное обеспечение, которое написал Джеймс, но попытки сотрудничества были отвергнуты.

Начались переговоры по Internet Relay Chat (IRC), который является средством коммуникации, предпочитаемым многими разработчиками, для переноса проекта, чтобы можно было добиться прогресса. Разработка началась; некоторые участники управляли IRC и помогали в списках рассылки. Другие создали репозиторий, вики и веб-форум. Среднее использование было примерно 2 сообщения в день на форуме и около 8 пользователей в IRC.

В начале 2009 года OpenVPN Technologies наняли Самули Сеппанена чтобы помочь создать сообщество с открытым исходным кодом и взаимодействовать с ним. Самули способствовал установлению прочных отношений между корпорацией, энтузиастами и волонтерами. Было построено сильное сообщество вокруг проекта. Сегодня на форуме в среднем 16 сообщений в день (всего более 35 000 сообщений), а IRC колеблется от 150 до 250 пользователей в любой день.

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

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

Заметные изменения в OpenVPN 2.2:

  • открытый текст аутентификации SOCKS
  • Улучшена поддержка платформы для подсети —topology
  • Режим tap для Solaris
  • Сборка Windows скомпилирована с включением ENABLE_PASSWORD_SAVE
  • Поддержка Windows IPv6 tun
  • Клиентские сертификаты могут быть опущены с поведением, аналогичным веб-браузеру ( —client-cert-not-required )
  • Клиентские сертификаты теперь могут указывать отдельное имя пользователя вместо использования общего имени сертификата ( —x509-username-field )
  • Была удалена поддержка для Windows 2000 и более ранних выпусков
  • 2011.04.26 была выпущена версия 2.2.0
  • 2011.07.06 версия 2.2.1 была выпущена с небольшими изменениями, в основном связанными со сборкой/установкой
  • 2011.12.22 версия 2.2.2 была выпущена с изменениями tap-драйвера Windows

OpenVPN 2.3 — начало серьезного поворота в структуре сборки OpenVPN. Вкратце, конечная цель — создать более расширяемый и удобный источник для плагинов. Поскольку сборка для мобильных платформ, таких как Android и iOS, уже требует переписывания с нуля, Джеймс и другие разработчики почистили старый код в пользу более компактных и нормализованных функций. Эти переписывания сделаны на C++, в отличие от используемого языка C.

Хотя они и перечислены в журнале изменений предыдущих версий, поддержка IPv6, как полезной нагрузки, так и транзита в OpenVPN, действительно не достигла зрелости до выпуска 2.3. Подавляющее большинство вкладов в поддержку IPv6 было результатом тяжелой работы Герт Деринг.

Еще одной важной особенностью выпуска 2.3 было добавление поддержки PolarSSL. PolarSSL — это альтернативная криптографическая библиотека для OpenSSL, и теперь OpenVPN может быть создан на основе любой библиотеки. Эта тема более подробно обсуждается далее в этой главе.

Список улучшений и дополнений для выпуска 2.3 огромен, но основные моменты заключаются в следующем (полный журнал изменений находится по адресу https://community.openvpn.net/openvpn/wiki/ChangesInOpenvpn23):

  • Кроссплатформенная поддержка IPv6 (транзит и полезная нагрузка)
  • API нового плагина
  • Поддержка создания PolarSSL и подготовка других потенциальных альтернатив
  • Теперь клиенты могут информировать сервер о поддержке LZO и сервер может автоматически отключить LZO для этого клиента
  • Обходной путь для локальных конфликтов маршрутизации ( —client-nat )
  • Новый режим каталога —crl-verify , файлы с одинаковыми именами отключают сертификаты, как если бы они были отозваны
  • Поддержка сертификатами UTF-8 для полей сертификата
  • Разделение проекта по различным подпроектам:
    • Основной проект OpenVPN
    • tap-Windows
    • Easy-RSA
    • Система сборки OpenVPN

    Версия 2.3.8 была самой последней версией на момент написания.

    Пакеты OpenVPN

    В Интернете доступно несколько пакетов OpenVPN:

    • Версия OpenVPN с открытым исходным кодом или версия сообщества
    • OpenVPN Access Server, коммерческое предложение с закрытым исходным кодом от OpenVPN Inc.
    • Версии OpenVPN для мобильных платформ Android и iOS (часть кода с закрыта по требованию Apple)

    Версия с открытым исходным кодом (сообщество)

    Версии OpenVPN с открытым исходным кодом становятся доступными после публикации каждого выпуска. Сообщество располагает ресурсами для создания бинарных пакетов для нескольких платформ, включая как 32-х, так и 64-разрядных клиентов Windows. Доступные в настоящее время варианты загрузки находятся по адресу http://openvpn.net/index.php/download/community-downloads.html.

    Некоторые сопровождающие пакетов операционной системы отслеживают разработку и делают доступными выпуски моментальных снимков. FreeBSD, например, имеет порт security/openvpn-devel, который отслеживает еженедельные снимки тарболла из разработки OpenVPN. Если вы хотите запустить последнюю и самую передовую версию OpenVPN — сначала посмотрите на сопровождающего вашего пакета. В противном случае вы всегда можете собрать напрямую из исходников.

    Версия OpenVPN от сообщества может выступать как в качестве VPN-сервера, так и в качестве VPN-клиента. Нет отдельной только клиентской версии.

    Закрытые исходники (коммерческий) Access Server

    OpenVPN Technologies Inc. предлагает коммерческую версию OpenVPN под названием Access Server. По сравнению с проектом с открытым исходным кодом, Access Server предлагает множество функций и вариантов развертывания, которые могут понравиться некоторым организациям. Access Server является платным продуктом, но на сайте доступна пробная версия с двумя лицензионными ключами.

    Пакеты программ, виртуальные устройства и облачные сервисы все доступны от OpenVPN Technologies Inc. на https://openvpn.net/index.php/access-server/overview.html.

    OpenVPN Access Server включает в себя собственный клиент OpenVPN — OpenVPN Connect для Windows и Mac OS. Это клиентское программное обеспечение обычно работает только с OpenVPN Access Server. Также можно использовать версию сообщества в качестве клиента для OpenVPN Access Server.

    Мобильная платформа (смешанная) OpenVPN/OpenVPN Connect

    Для мобильных устройств, таких как iPhone/iPad и Android, OpenVPN Technologies Inc. предоставляет специальный OpenVPN Connect Client. OpenVPN Technologies Inc. и Джеймс специально приложили немало усилий и юридически спорили с такими компаниями как Google и Apple, чтобы получить доступ к используемому VPN API на каждой платформе.

    Из-за особенностей NDA Apple, в настоящее время исходные коды OpenVPN Connect недоступны и не могут быть открыты для общего доступа. Клиент iOS OpenVPN Connection можно загрузить из Apple App Store по адресу https://itunes.apple.com/us/app/openvpn-connect/id590379981?mt=8.

    Есть Android-клиенты, написанные несколькими разработчиками, но официально поддерживается только версия OpenVPN for Android, написанная Арне Швабе, которую можно найти по адресу https://play.google.com/store/apps/details?id=de.blinkt.openvpn&hl=ru.

    OpenVPN Connect, написанный OpenVPN Technologies Inc. также доступен. Вы можете загрузить клиент Android OpenVPN Connect по адресу https://play.google.com/store/apps/details?id=net.openvpn.openvpn&hl=ru.

    Одним из серьезных преимуществ OpenVPN Connect является то, что он поддерживает/поддерживается как общедоступной версией OpenVPN, так и OpenVPN Access Server с закрытым исходным кодом. Если вам нужен доступ к обоим типам серверов — рекомендуется OpenVPN Connect.

    Другие платформы

    Некоторые производители оборудования пытаются интегрировать поддержку OpenVPN в свои устройства. Некоторые предлагают версии прошивки для VoIP-телефонов, которые включают более старую версию OpenVPN. Другие проекты микропрограмм, такие как DD-WRT для маршрутизаторов Linksys, а также проекты FreeNAS, pfSense и другие также интегрируют OpenVPN.

    Внутренности OpenVPN

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

    Драйвер tun/tap

    Одним из основных составных блоков OpenVPN является драйвер tun/tap. Концепция драйвера tun/tap происходит из мира Unix/Linux, где он часто доступен как часть операционной системы. Это виртуальный сетевой адаптер, который обрабатывается операционной системой как двухточечный адаптер (в стиле tun) для трафика только по IP или как полноценный виртуальный адаптер Ethernet для всех типов трафика (в стиле tap). В основе этого адаптера находится приложение, такое как OpenVPN, для обработки входящего и исходящего трафика. Linux, Free/Open/NetBSD, Solaris и Mac OS включают в себя драйвер ядра tun, который может работать как в стиле tun, так и в стиле tap. Недавно аналогичный драйвер был добавлен в AIX — производную Unix от IBM.

    Для Microsoft Windows Джеймс Йонан написал специальный драйвер NDIS, называемый адаптером TAP-WIN32. На данный момент доступны версии драйверов NDIS5 и NDIS6, поддерживающие Windows XP через Windows 8.1. Разработка этого адаптера теперь официально отделена от основной разработки OpenVPN, но OpenVPN по-прежнему сильно зависит от него.

    Поток трафика из пользовательского приложения через OpenVPN изображен на предыдущей диаграмме. На схеме приложение отправляет трафик на адрес, доступный через туннель OpenVPN. Шаги следующие:

    1. Приложение передает пакет операционной системе.
    2. ОС решает, используя обычные правила маршрутизации, что пакет должен маршрутизироваться через VPN.
    3. Пакет затем пересылается на устройство ядра — tun.
    4. Устройство ядра tun пересылает пакет в процесс OpenVPN (в пользовательском пространстве).
    5. Процесс OpenVPN шифрует и подписывает пакет, фрагментирует его при необходимости, а затем снова передает его ядру, чтобы отправить на адрес удаленной конечной точки VPN.
    6. Ядро забирает зашифрованный пакет и перенаправляет его на удаленную конечную точку VPN, где происходит обратный процесс.

    На этой диаграмме также видно, что производительность OpenVPN всегда будет ниже, чем у обычного сетевого подключения. Для большинства приложений потеря производительности минимальна и/или приемлема. Однако для скоростей, превышающих 1 Гбит/с, существует узкое место в производительности как с точки зрения пропускной способности, так и с точки зрения задержки.

    Следует отметить, что производительность драйвера Windows намного ниже, чем производительность встроенных адаптеров tun/tap в других операционных системах. Это верно даже для самой последней реализации драйвера TAP-Win32 в NDIS6. Для одного клиента OpenVPN влияние довольно мало, но для крупномасштабного сервера OpenVPN, обслуживающего множество клиентов, легко может вызвать проблемы с производительностью. Это одна из основных причин того, почему сообщество разработчиков исходного кода обычно рекомендует использовать хост на основе Unix или Linux в качестве сервера OpenVPN.

    Режимы UDP и TCP

    OpenVPN в настоящее время поддерживает два способа обмена данными между конечными точками: использование пакетов UDP или TCP. UDP — это протокол без установления соединения или с потерями; если пакет отбрасывается при передаче, то сетевой стек не может прозрачно исправить это. TCP-пакеты — это протокол, ориентированный на соединение; пакеты отправляются и доставляются с использованием протокола квитирования, обеспечивая доставку каждого пакета на другую сторону.

    Оба способа общения имеют свои преимущества и недостатки. На самом деле это зависит от типа трафика, который отправляется через VPN-туннель, для определения более подходящего режима связи. Использование приложения на основе TCP через VPN на основе TCP может привести к двойной потере производительности, особенно если основное сетевое соединение не работает. В этом случае повторная передача потерянных пакетов выполняется для пакетов, потерянных как внутри, так и вне туннеля, что приводит к удвоению нагрузки. Это хорошо объясняется в статье «Почему TCP через TCP — плохая идея» на http://sites.inka.de/

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

    При выборе между транспортным протоколом UDP или TCP общее практическое правило следующее: если UDP (режим udp) работает для вас, используйте его; если нет, то попробуйте TCP (режим tcp-server и режим tcp-client). Некоторые коммутаторы и маршрутизаторы неправильно перенаправляют трафик UDP, что может быть проблемой, особенно если к одному коммутатору или маршрутизатору подключено несколько клиентов OpenVPN. Точно так же на производительность OpenVPN через TCP может сильно повлиять выбор интернет-провайдеров (ISP): некоторые интернет-провайдеры используют нечетные размеры MTU или правила фрагментации пакетов, что приводит к крайне низкой производительности OpenVPN через TCP по сравнению с незашифрованным TCP-трафиком.

    Протокол шифрования

    Было сказано, что OpenVPN реализует TLS через UDP. Это более или менее верно, но то, как OpenVPN использует TLS, отличается от того, как его использует веб-браузер. Таким образом, когда OpenVPN запускается по протоколу TCP (использование порта 443 является распространенным методом для защиты межсетевых экранов), трафик можно отличить от обычного трафика TLS. Брандмауэр, использующий Deep Packet Inspection (DPI), может легко отфильтровать трафик OpenVPN.

    Основное различие между OpenVPN-TLS и браузер-TLS заключается в способе подписи пакетов. OpenVPN предлагает функции для защиты от DoS-атак, подписывая пакеты канала управления с помощью специального статического ключа ( —tls-auth ta.key 0|1 ). Пакеты канала данных, отправляемые через одно и то же соединение UDP или TCP, подписываются совершенно по-разному и очень легко отличаются от трафика HTTPS. На сайте OpenVPN (http://openvpn.net) показано, как зашифрованы пакеты для транспорта UDP, что показано ниже.

    Тот же механизм используется для транспорта TCP (http://openvpn.net/index.php/open-source/documentation/security-overview.html).

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

    Каналы управления и передачи данных

    OpenVPN использует два виртуальных канала для связи между клиентом и сервером:

    • Канал управления TLS для обмена информацией о конфигурации и шифрованием между клиентом и сервером. Этот канал используется в основном при запуске VPN-подключения, а также для обмена новыми материалами ключей шифрования. Этот материал обновляется через определенный период (на основе параметров —reneg-sec , —reneg-bytes или —reneg-pkts ).
    • Канал данных, по которому осуществляется обмен зашифрованной полезной нагрузкой.

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

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

    Алгоритмы шифрования и аутентификации для канала данных не подлежат обсуждению, но они устанавливаются в файлах конфигурации клиента и сервера для OpenVPN. Текущими настройками по умолчанию являются Blowfish в качестве алгоритма шифрования и SHA1 в качестве алгоритма хеширования. Возможность согласования алгоритмов шифрования и хеширования для канала данных занимает важное место в списке пожеланий группы разработчиков, но требует значительных изменений в коде.

    Алгоритмы шифрования и хеширования

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

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

    Доступные варианты шифрования TLS перечислены в порядке предпочтения:

    Этот вывод был получен на хосте CentOS 6 с использованием библиотеки OpenSSL 1.0.1e.

    Доступные комбинации во многом зависят от конкретной версии используемой библиотеки SSL. Вы можете указать список tls-шифров в файле конфигурации OpenVPN способом, очень похожим на настройку модуля Apache mod_ssl :

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

    Для канала данных алгоритмы шифрования и хеширования управляются с помощью параметров —cipher и —auth . Если алгоритмы шифрования и аутентификации не указаны, то используются значения по умолчанию bf-cbc и sha1 , соответственно.

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

    Следующие алгоритмы и режимы шифрования доступны для использования с OpenVPN. Каждый показанный здесь шифр может использоваться в качестве параметра опции —cipher . Размер ключа по умолчанию отображается независимо от того, может ли он быть изменен с помощью директивы —keysize . Рекомендуется использовать режим CBC. В режиме статического ключа допускается только режим CBC:

    В этом выводе показаны только наиболее часто используемые шифры. Список доступных шифров снова зависит от точной версии базовой библиотеки шифрования. Однако в большинстве случаев должны быть доступны шифры Blowfish (BF-*) и AES (AES-*).

    Точно так же для алгоритмов аутентификации (HMAC-подписи) мы используем следующую команду, чтобы перечислить все доступные параметры:

    Следующие дайджесты сообщений доступны для использования с OpenVPN. Дайджест сообщения используется вместе с функцией HMAC для аутентификации полученных пакетов. Вы можете указать дайджест сообщения в качестве параметра опции —auth :

    В этом выводе показаны только наиболее часто используемые дайджесты или алгоритмы хеширования. Список доступных дайджестов зависит от точной версии базовой библиотеки шифрования. В большинстве случаев должны быть доступны алгоритмы хэширования семейства SHA-1 и SHA-2.

    OpenSSL против PolarSSL

    Начиная с OpenVPN 2.3, добавлена ​​поддержка новой библиотеки SSL. Библиотека PolarSSL (http://polarssl.org) может быть скомпилирована вместо библиотеки OpenSSL по умолчанию. Основная причина добавления второй библиотеки состояла в том, чтобы обеспечить независимость лежащих в основе библиотек шифрования и гарантировать, что никаких проблем с авторским правом не возникнет, поскольку лицензия на авторские права OpenSSL отличается от той, которую использует OpenVPN.

    Резюме

    В этой главе мы начали с объяснения что такое VPN. Затем обсудили некоторые примеры различных типов протоколов VPN, включая PPTP, IPSec и OpenVPN. После краткого обзора истории OpenVPN мы приступили к более глубокому погружению в методы, используемые в OpenVPN. Эти методы включают адаптер tun/tap и используемые алгоритмы шифрования и подписывания пакетов.

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

    Osvoenie-OpenVPN is maintained by translaster. This page was generated by GitHub Pages.

    Как работает шифрование трафика и зачем оно нужно

    Шифрование трафика через VPN

    Для начала отметим, что видов шифрования в сети существует очень много, это разные протоколы для разных задач, например HTTPS, SOCKS и другие. Мы в этой статье рассмотрим только те виды шифрования, которые используются в VPN-соединениях.

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

    Как работает шифрование

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

    1. Передавали вы
    2. Купюру в 1000 рублей
    3. Конкретному человеку

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

    Защита и шифрование в VPN происходит двумя способами:

    • PPP (Point-to-Point Protocol) используется для защиты на уровне канала данных, то есть на самом низком из возможных. Его задача — обеспечить стабильное соединение между двумя точками в интернете, а также предоставить шифрование и аутентификацию.
    • PPTP (Point-to-Point Tunneling Protocol) является расширением и дополнением PPP. Для работы этого протокола устанавливается два соединения — основное и управляющее.

    Более новый способ создания соединения — еще один протокол, построенный поверх PPP, — L2TP (Layer 2 Tunneling Protocol). Цель этого протокола — не столько защитить соединение, сколько полностью регламентировать процесс сообщения компьютеров в сети. Данный протокол, кроме создания соединений VPN, также используется, например, для подключения банкоматов к офисам банков, что служит некоторой гарантией. Хотя и стоит учесть, что собственного шифрования у L2TP нет.

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

    IKE и IKEv2 (Internet Key Exchange) — строгие алгоритмы шифрования и защиты данных, передаваемых по информационному каналу. Используется исключительно с IPsec, так как является его защитным слоем — именно благодаря IKE данные в соединении остаются под замком. В общем-то, эти алгоритмы и послужили основой для развития всех современных средств и утилит создания соединений VPN, но настало время поговорить о том, что и из чего выбирать.

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

    Вот небольшое сравнение протоколов:

    Сравнение протоколов VPN

    При настройке серверов нашим клиентам мы используем технологии IKEv2/IPsec и OpenVPN и вы можете использовать какой вам удобно. Напомним лишь, что для работы IKEv2/IPsec можно использовать встроенные средства в операционную систему, а для протокола OpenVPN вам потребуется скачать приложение и подключаться к вашему VPN серверу через него.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *