Содержание статьи
warning
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Введение
Прежде всего, определимся со сферой использования VPN и отличиями его как от Tor, так и от обычных прокси. Перед последними у тоннелей есть громадное преимущество — они обеспечивают шифрование, что позволяет защититься от снифинга на уровне провайдера. Если же сравнивать VPN с Tor, очень многое зависит от того, насколько ты доверяешь выходным узлам луковичной сети. В случае с тоннелями также можно использовать два (и более) сервера.
Существует несколько типов VPN, однако нас интересуют главным образом те, которые мы можем создать сами на основе VPS. Понятно, что бесплатно подобного не бывает (а если и бывает, то качество оставляет желать лучшего), но зато большинство хостеров предоставляет пробный период, в течение которого можно оценить, подходит ли данный виртуальный сервер для VPN.
Тем не менее, помимо самосборных VPN, существуют уже готовые сервисы, которые предоставляют шифрованные тоннели. Насчет их конфиденциальности сложно сказать что‑то определенное, но среди данных сервисов есть и бесплатные, чего для обхода цензуры в ряде случаев достаточно.
Проблему выбора и настройки VPN — как готовых, так и на основе VPS — мы и рассмотрим.
Подготовка и обзор готовых VPN-сервисов
Сперва рассмотрим готовые VPN-сервисы. Речь, разумеется, не идет о программах, которые работают на основе каких‑то своих протоколов. Мы говорим о стандартных средствах, поддерживаемых Linux. К их числу относятся следующие протоколы и приложения:
- PPTP — старый (даже можно сказать, древний) протокол, разработанный в Microsoft и применяемый аж с 1996 года. На данный момент его применение не рекомендуется из‑за уязвимостей;
- IPSec — семейство протоколов для VPN. Зачастую применяется вместе с L2TP. На мой взгляд, данное семейство избыточно сложно;
- OpenVPN — на сегодняшний день самая популярная реализация VPN. В качестве бэкенда используется протокол TLS и драйверы TUN/TAP.
Есть еще менее распространенные варианты создания VPN-соединения — например, можно сделать шифрованный тоннель, используя PPP поверх OpenSSH. Но эти методы мы в статье затрагивать не будем.
В дальнейшем нам понадобится OpenVPN, так что нелишним будет установить данный пакет на клиентской стороне, а заодно и плагин для Network Manager (предполагается, что используется какая‑либо из последних версий Ubuntu):
$ sudo apt-get install openvpn network-manager-openvpn
Перейдем наконец к VPN-сервисам.
vpngate.net
Существуют ресурсы, где можно найти список общедоступных VPN-провайдеров. Например, vpngate.net — японский ресурс, созданный в качестве исследовательского проекта Цукубского университета. Присоединиться к проекту может любой желающий, что, таким образом, создает некий аналог сети Tor. Для того чтобы подключиться к какому‑нибудь VPN-серверу из данного списка, нужно выбрать его на свой вкус (понятно, лучше всего подходят машины с малым временем пинга и широкой полосой пропускания), затем выбрать тип соединения (поскольку мы рассматриваем OpenVPN, то и подключаться будем к OpenVPN) и, наконец, выбрать файл конфигурации. Как правило, их на каждый сервер четыре штуки — hostname/TCP, hostname/UDP, IP-адрес/TCP и IP-адрес/UDP.
После выбора и загрузки конфига оттуда нужно вытащить сертификат — для этого открываем скачанный файл и копируем все, что находится между

В командной же строке все еще проще — для подключения достаточно набрать следующее:
% sudo openvpn --config vpngate_vpn417604226.opengw.net_udp_1512.ovpn
Вместо vpngate_vpn417604226.opengw.net_udp_1512.ovpn, естественно, нужно поставить свое имя файла. Кроме того, стоит обратить внимание, что в случае использования этой команды должен быть указан публичный DNS-сервер — иначе доменные имена попросту не будут резолвиться.

А вот с конфиденциальностью у данного проекта не очень, о чем нас честно предупреждают на самом сайте vpngate. Логи пакетов (точнее, заголовков) хранятся в течение двух недель. Логи же соединений (кто когда с кем) и того больше — три и более месяца. Также они реагируют на абузы.
vpnbook.com
Этот сервис предоставляет VPN в Румынии и Германии. Сам веб‑сервер тоже находится в Румынии, однако в контактах указана Швейцария. Ресурс общеизвестный, так что вполне вероятно, что его уже везде перебанили. Кроме того, среди доступных серверов имеются еще и серверы США и Канады, которые заточены под веб‑серфинг и для P2P не годятся. Настройка с использованием Network Manager практически идентична предыдущему случаю — за исключением того, что пароли там меняются раз в две недели, а DNS нужно прописывать ручками. Для этого на вкладке «Параметры IPv4» в способе настройки ставим «Автоматически (VPN, только адрес)», а в DNS-серверах прописываем какой‑либо публичный.

О самом сервисе можно сказать, что торрент‑файлы фильтруются, — даже учитывая слова на его страничке о том, что P2P-трафик запрещен только на американских серверах. Также непонятна фактическая юрисдикция данного сервиса — доменное имя зарегистрировано через посредника.
frootvpn.com
FrootVPN усиленно рекламируется на The Pirate Bay. Предоставляет шведские адреса, меняющиеся при каждом подключении. Скорость приличная. При регистрации нужно указать email, логин и пароль, причем логин и пароль будут использоваться и для подключения. Предоставляется как PPTP/L2TP, так и OpenVPN. К сожалению, при использовании Network Manager некоторые маршруты по неизвестным причинам не прописываются в таблице маршрутизации. Поэтому при использовании данного VPN-сервиса нужно запускать OpenVPN из командной строки.
На веб‑ресурсе сервиса утверждается, что логи они не хранят. В то же время они не указывают никаких условий использования. Сами же владельцы данного сервиса неизвестны.
seed4.me
Для разнообразия расскажу и о платном PPTP-сервисе seed4.me. Он поддерживает соединение от IP, находящихся в разных странах, в том числе нидерландских, британских, гонконгских... Регистрация по приглашениям.
Вкратце опишу, как настраивать в Ubuntu c использованием Network Manager. Убедимся, что установлен соответствующий пакет:
$ sudo apt-get install network-manager-pptp
Затем в самом Network Manager создаем PPTP-соединение, в качестве шлюза прописываем предпочтительный по стране, имя пользователя / пароль — твои email с паролем, которые ты использовал при регистрации. Не забываем поставить чекбокс «Использовать шифрование MPPE» в дополнительных параметрах и выбрать 128-битное шифрование.

Сам сервис, как уже было сказано, платный, но пробный период — неделя — предоставляется бесплатно. При каждом подключении адрес выделяется динамически. Сервис честно предупреждает, что может в случае чего собирать информацию о пользователях. К сожалению, с некоторых IP-адресов торрент (Ubuntu 14.10) качаться не желал — но, полагаю, это вина местного провайдера, предоставляющего IP для VPN, не самого сервиса. А вот полосу пропускания сервис режет — поскольку почти на всех протестированных ранее VPN данный торрент качался со скоростью более 1 Мбит/с. Здесь же выше 800 Кбит/с скорость никогда не поднималась.
VPN своими руками. Подготовка
Но что, если ты не доверяешь VPN-сервисам? В этом случае есть один путь — поднять свой собственный VPN на основе VPS. Преимущество этого способа хотя бы в том, что между тобой и дата‑центром меньше посредников. А недостаток... возможный штраф за нарушение законов страны юрисдикции VPS.
Давай посмотрим, какие у нас требования к VPS. Во‑первых, должна быть поддержка TUN/TAP — и если в гипервизоре Xen или KVM она имеет место, то в OpenVZ ее зачастую отключают. Во‑вторых, он должен недорого стоить. В‑третьих, он должен быть более‑менее стабилен. Кроме того, нужно внимательно смотреть правила использования — в противном случае твой аккаунт попросту заблокируют (если не чего хуже).
Далее я опишу несколько VPS, которые более‑менее соответствуют заданным параметрам.
Конфигурационные файлы OpenVPN
Конфиг для серверной части:
local 0.0.0.0 # Адрес, который доступен из интернета, — по сути, это единственный параметр, который нужно менятьport 1234proto udpdev tuntun-mtu 1500tun-mtu-extra 32mssfix 1450ca /etc/openvpn/.key/ca.crtcert /etc/openvpn/.key/server.crtkey /etc/openvpn/.key/server.keydh /etc/openvpn/.key/dh2048.pemclient-cert-not-requiredauth-user-pass-verify /etc/openvpn/verify.sh via-file # Производим аутентификацию с помощью скрипта — скрипт можешь написать самusername-as-common-namescript-security 2tmp-dir /tmpserver 10.8.0.0 255.255.255.0push "redirect-gateway def1"push "dhcp-option DNS 8.8.8.8"push "dhcp-option DNS 4.2.2.1"keepalive 5 30comp-lzopersist-keypersist-tunstatus server-tcp.logverb 3user openvpngroup openvpn
Конфиг для клиентской части:
clientdev tunproto udpremote 0.0.0.0 1234 # Указываем адрес и порт сервераresolv-retry infinitenobindtun-mtu 1500tun-mtu-extra 32mssfix 1450persist-keypersist-tunca ca.crtauth-user-passcomp-lzoverb 3
openhosting.com
Это на удивление неплохой облачный VPS, цена на который начинается от 9 долларов за KVM виртуальную машину (конфигурация которой вполне достаточна для запуска OpenVPN), дается пять дней триала. Регистрация триала требует указания номера карточки VISA, при этом снимается один цент, но сразу же возвращается обратно. После регистрации нужно создать новую виртуальную машину (я создал с образом CentOS 6) и привязать к ней статический IP-адрес. Следом же нужно ее запустить и подсоединиться к ней через веб‑интерфейс.


По умолчанию пароль для root при входе с веб‑интерфейса (выступающего в роли локальной консоли) отсутствует. Его можно поставить стандартным способом. Для установки же OpenVPN нужно сперва поставить репозиторий EPEL:
# yum install -y wget# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm# rpm -Uvh epel*.rpm
Затем нужно изменить файл репозитория — по неизвестным причинам соединение по HTTPS не устанавливается.
# sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo
Наконец, ставим пакет OpenVPN:
# yum install -y openvpn easy-rsa
Настраиваем сам OpenVPN. В интернете много материала по настройке, поэтому подробно описывать смысла не имеет. Вкратце же — копируем каталог со скриптами генерации сертификатов, настраиваем параметры, генерируем их, затем настраиваем параметры OpenVPN-сервера (можно найти на врезке), разрешаем IP-форвардинг, устанавливаем правило iptables для NAT и... все. Можно настраивать клиент (лучше использовать командную строку). Единственное — лично у меня на сервере было спешащее время, из‑за чего были небольшие трудности с сертификатом.
Про сам VPS-хостинг можно сказать, что он крайне стабилен (есть даже SLA, что и неудивительно, поскольку это крупная контора). Техподдержка реагирует практически моментально. Полоса пропускания обеспечивает минимум 1 Мбит/с по шифрованному каналу. Правила использования довольно стандартны (DMCA, оговаривание доступа к данным на хостинге...). На использование VPN, равно как и на использование P2P, ограничений не накладывается.
GleSYS
Шведская фирма, предоставляющая VPS (как Xen, так и OpenVZ) в Нью‑Йорке, Амстердаме, Фалькенберге и Стокгольме. Стоимость начинается от семи‑восьми евро — что по современным меркам довольно дорого. На OpenVZ поддерживаются Debian, CentOS и Ubuntu.

После регистрации и оплаты мы создаем сервер с желаемым местоположением, выбирая самые минимальные настройки (их вполне достаточно), затем заходим через HTML5-VNC, устанавливаем пакеты OpenVPN и SSH — на Debian для этого нужно набрать команду
# apt-get install openvpn openssh-server
И, зайдя по SSH, настраиваем OpenVPN. Проблем быть не должно — разве что в дебиановском пакете для OpenVPN не создается UID/GID, и эти опции в конфиге мы отключаем.
Как уже было сказано, VPS довольно дорогой — однако, поскольку он находится в Швеции, правила его использования в некоторых аспектах либеральнее, чем в США. В частности, DMCA на Швецию пока не распространяется. Скорость же достаточно стабильно держится на отметке 1 Мбит/с.
info
GleSYS также предоставляет PPTP-VPN за пять евро в месяц.
Заключение
VPN — инструмент разноплановый. И несмотря на то, что он в основном фигурирует в сюжетах с криминальным душком, его вполне можно (а с учетом нынешних тенденций даже и необходимо) применять и законопослушным гражданам.
VPN-сервисы — даже бесплатные — вполне достаточны для обычного серфинга. Основное ограничение большинства бесплатных VPN — один‑единственный статический IP-адрес, который с большой долей вероятности уже занесен в черные списки некоторых сервисов. Кроме того, на некоторых бесплатных VPN нельзя качать торренты и есть ограничения на полосу пропускания. Еще один момент — бесплатные VPN-провайдеры могут собирать и даже анализировать трафик (отдельные об этом прямо предупреждают).
Платные же сервисы свободны от большинства названных недостатков. Тем не менее важно осознавать, что у них тоже есть правила использования, зависящие от их юрисдикции. В частности, в Германии за скачивание музыки может прилететь более чем солидный штраф от GEMA.
Если же ты покупаешь VPS, чтобы поднять свой VPN, — ты избавляешься от одного из посредников, но приобретаешь головную боль юриста, поскольку тебе нужно учитывать законы страны, в дата‑центре которой ты его купил. Кроме того, как правило, VPS стоит дороже, чем покупка VPN у посредника. Дешевые же VPS имеют свойство падать из‑за перегрузок, и работать по VPN становится сомнительным удовольствием.
Подводя итоги, для анонимизации VPN имеет смысл применять только в сочетании с другими средствами. А вот для обычного серфинга по запрещенным в России сайтам или, к примеру, в зарубежной поездке, где есть открытый Wi-Fi, VPN подходит идеально.
Интервью
Мы также решили взять интервью у товарищей из VPN-сервиса Seed4me. Они пожелали остаться неизвестным. Что ж, это их право.
][: Итак, первый вопрос — для чего вот лично вам понадобился VPN?
D: S, зачем тебе VPN?
S: Дело было года четыре назад. Я курировал небольшой проект, в логах которого обнаружил подозрительные переходы с реферерами, похожими на переходы из логов прокси или какого‑то серверного оборудования. Проверил IP — оказалось, он принадлежал моему провайдеру, но не мне. Тем более, я не мог заходить по этим ссылкам с таким реферером. WTF... Неужели какой‑то админ или софт провайдера решил проверить, какие ссылки я посещаю? Меня охватила паранойя, при том, что ничего незаконного я не совершал. По иронии судьбы, за пару недель до этого я познакомился у друзей с человеком, который работал в техподдержке моего провайдера :). Я нашел его номер, позвонил, задал вопрос, бывают ли такие ситуации, когда их админы смотрят логи и переходят по ссылкам, исследуют трафик пользователя. Человек мне ответил: «Это исключено и практически невозможно», в общем, чтобы я не заморачивался. Я сразу пошел и купил VPS’ку, попросил настроить мне VPN. Тогда я еще практически ничего не знал об этом.
][: С вами все ясно :). А для чего VPN может пригодиться читателям нашего журнала?
S: С одной стороны, я понимаю, чего хотят читатели, их интересы... VPN — такой инструмент, как нож: им можно резать колбасу, а можно совершать преступления. Тем не менее он помогает предупредить проблемы во многих ситуациях, так как законы в разных странах разные.
D: Почему‑то многие ассоциируют VPN с хакерами, думая, что VPN-сервис сможет защитить от раскрытия преступления. Это, если честно, не так. VPN предназначен для изменения своей текущей юрисдикции.
][: Это понятно — если говорить о «честных» VPN-провайдерах. Думаю, вы обязаны предоставлять логи по первому требованию органов.
D: По поводу предоставления логов очень тонкий вопрос. Я бы не говорил «обязаны предоставлять логи по первому требованию органов». Это не совсем так. Для понимания нужно рассмотреть пример. Допустим, Вася Пупкин взял и купил 100 г марихуаны, пользуясь сервером в Нидерландах. Российские правоохранительные органы нашли логи магазина в России и захотели узнать, кто же купил траву. Они обращаются в наш дата‑центр, а дата‑центр обращается к нам. Мы не предоставляем никаких данных с серверов в Нидерландах до решения суда. А решения суда, скорее всего, не последует — так как продажа марихуаны в Нидерландах разрешена. Это, может быть, надуманный пример, но смысл отражает правильно. Про логи отдельный разговор — у нас хранится минимальное количество логов, необходимое для поддержания сети VPN и мониторинга ее здоровья. Плюс логи не хранятся на VPN-узлах, они собираются отдельно, и понять по ним, что делали пользователи, невозможно. Но. Мы не говорим что логов нет совсем; те, кто говорят, используют это как «маркетинговое выражение».
S: Вдобавок к словам D, как я и сказал ранее, VPN — не средство сокрытия преступления.
][: Итого, VPN нужен для частной смены юрисдикции. Но тут есть еще вопрос такой тонкий... юрисдикция не равна гражданству, так ведь?
D: Гражданство вообще к этому отношения не имеет... Гражданство — то, что в паспорте написано. А юрисдикция — это, собственно, зона, где совершаются действия, не обязательно где ты находишься, а, я бы сказал, зона ответственности. Если я заказал убийство по телефону в Германии и деньги заплатил, где юрисдикция этого преступления?
][: А чем обусловлен выбор протокола PPTP в вашем случае? Сейчас его не особо рекомендуют к применению.
D: Правильный ответ будет — мы PPTP не выбирали, его выбрали за нас :). Сейчас сложно найти платформу, где бы PPTP не поддерживался. Так как целью было создать сервис, который можно использовать на большинстве устройств, то PPTP выглядел разумным выбором. Понятно, что многие могут сказать: как же так — уже десять лет как доказана невысокая стойкость PPTP-протокола? Однако тут всегда вопрос предела — не существует 100%-й защиты никогда. Есть некоторые рамки между защищенностью и простотой использования.
][: Стандартизация, понятно. А насколько целесообразно применение альтернативных криптоалгоритмов? Здесь подразумеваются, например, алгоритмы на эллиптических кривых, никак не самопальные.
D: С альтернативными алгоритмами шифрования очень интересная ситуация, попахивающая теорией заговора. Вообще алгоритмы шифрования, построенные на эллиптических кривых, были разработаны и стандартизированы сравнительно недавно. Отличаются своей стойкостью и, соответственно, меньшим размером ключа. Проблема в том, что почти во всех странах они запрещены к импорту и поэтому почти не используются (в операционных системах). То есть если ты делаешь массовый продукт, то адаптация методов шифрования с ними очень низка. Стандартных решений нет, и приходится создавать свои собственные, а в итоге сталкиваешься с необходимостью сертификации при распространении.
][: Что вы думаете о будущем VPN?
D: А! Это мой любимый вопрос. Мы занимаемся VPN полтора года, и я уверен, что в скором времени это станет нашей обыденностью, так же как и автомобиль. Вот 120 лет тому назад изобрели двигатель внутреннего сгорания, а через 20 лет решили, что нужно сделать дорожную полицию и учить людей водить и права выдавать на вождение. Это же происходит сейчас и с интернетом: он массово стал использоваться 20–15 лет назад, даже меньше, а сейчас во всех странах пытаются его регулировать. Во всех. Реально за полтора года я просто не нашел страны, где что‑нибудь не было бы запрещено: в Англии — порнографию пытаются регулировать, Азия — знаем, Восток — понятно, Америка — вообще не страна свободы (DMCA и прочее). И это все очень усилилось...
][: ...но законы пока что все же разные...
D: Да!
][: И вот на этом поле вы и играете.
D: Короче. Мой прогноз: через 5–10 лет региональные ограничения будут только увеличиваться. Возможно, появится разделение скорости в зависимости от контента, то есть зарубежные сайты будут медленнее местных, и это будет во всех странах. Как совсем плохой вариант — придется сдавать на «права» для получения неограниченного доступа в интернет. Поэтому я вижу VPN-провайдеров как тех, кто, возможно, будет предоставлять неограниченный доступ в Сеть для пользователей, сдавших на «права».
][: Пожалуй, пора заканчивать беседу. Последний вопрос. Какую страну для VPN вы бы посоветовали нашим читателям?
D: В общем случае — ту страну, юрисдикция которой позволяет делать то, что хочется. А для обычного серфинга соседнюю страну, которая минимально сотрудничает с вашей. В случае с Россией, например, для этой цели очень хорошо подходит Украина.