VPN своими руками

VPN своими руками

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

Используя VPN на своих устройствах, вы получите ряд бонусов:
1. педофильский реестр будет где-то очень далеко от вас. Не надо боятся, что в один прекрасный день в него внесут Хабр, Вконтакте, youtube и т.д.;
2. вам будут доступны заграничные сайты, которые работают только со Штатами/Европой. К примеру, магазин девайсов Google Play или Netflix;
3. ваш трафик будет скрыт от вашего провайдера, рекламодателей, хакеров и ФСБ (правда выходная точка вашего VPN канала будет все равно под присмотром других спецслужб :( ).

Организовать свой VPN достаточно просто.
name='more'>

Для этого нужно создать аккаунт у облачного провайдера выделенных серверов digitalocean , активировать его, переведя себе на счет 5 баксов через PayPal, добавить еще 10$ с помощью промокода 2014SSDи запустить самый простой сервер с Ubuntu на борту.

После запуска сервера (тут их называют droplet) можно подсоединится к нему с помощью Putty (ip и рутовый пароль дадут) и установить OpenVPN Access Server (перед установкой VPN сервера рекомендую подготовить ваш сервер по этой инструкции ).

Установить VPN сервер на Ubuntu тривиально просто. 
Скачиваем
sudo wget http://swupdate.openvpn.org/as/openvpn-as-2.0.3-Ubuntu13.amd64.deb
Устанавливаем
sudo dpkg -i openvpn-as-2.0.3-Ubuntu13.amd64.deb
Ставим пароль openvpn администратору
sudo passwd openvpn
После этого нам станет доступен вебинтерфейс OpenVPN сервера по адресу:
https://<ip сервера>:943 
Потом можно усилить криптографические алгоритмы для клиента и сервера, прописав в настройках Advanced VPN:

Еще можно отключить логи OpenVPN (кому они нужны?)
sudo nano /usr/local/openvpn_as/etc/as.conf
Ищем строчку  log_db=....  и меняем на log_db=/dev/null.
...
Вообщем тюнинговать OpenVPN можно бесконечно, но работает он практически сразу из коробки. Единственный неприятный сюрприз - ограничение на 2х одновременных пользователей для бесплатной версии Access Server.

Чтобы пользоваться созданным VPN необходимо скачать OpenVPN клиента для iOS (джеилбрейк не нужен) или для Android (рут не нужен). Для iOS в Safari нужно открыть страничку вашего OpenVPN сервера и скачать профиль с настройками.
Вот собственно и все. После установки клиента и профиля у вас будет VPN с весьма неплохими характеристиками!

И тут отдельно стоит отметить поведение iOS устройств.
<далее небольшой холивар на тему iOS vs Android>

Apple выпускает прекрасные устройства, спроектированные и созданные с мыслью о безопасности информации. Устройства Apple оснащены самым эффективным на рынке механизмом реализации замкнутой программной среды, у них отличная криптографически защищенная файловая система, которая почти не оставляет шансов злоумышленнику.
Но при всем этом есть 3 вещи, которые останавливают меня от использования этой платформы:
1. нет возможности удалить сертификаты доверенных центров сертификации. Это значит, что мое устройство безоговорочно верит Министерству Обороны США, Правительству Японии и др. (подробнее тут );
2. нет никакой возможности просмотреть/удалить сохраненные wi-fi сети (чем это грозит я писал тут );
3. VPN на iOS устройствах, фактически, не работает. Он запускается, соединяется с сервером, но в случае сбоя либо блокировки айдевайса рвется, и трафик гуляет в открытом виде.
Из-за этого приходится постоянно следить за значком VPN и если он пропал - быстро бежать в настройки, чтобы поднять VPN канал заново. 

В новой iOS 7x и OpenVPN было анонсировано автоматическое переподключение к серверу после пробуждения устройства, но, во-первых, это работает только если устройство проспало всего несколько минут (в остальных случаях пишет, что session expired), во-вторых, VPN "течет": PUSH уведомления гуляют в открытом виде, и есть пауза длинной в несколько секунд после пробуждения устройства, когда трафик не шифруется до поднятия VPN канала.

Форум Apple полон матов на эту тему и я не удивлюсь, если мы увидим разоблачения Сноудена по этому вопросу.

На фоне такого странного поведения Apple Android работает просто замечательно. Постоянный жесткий режим VPN переживает даже перезагрузку устройства, и я уже практически привык к тому, что в панели задач у меня постоянно висит "ключик", а сайты показывают мне рекламу на испанском языке :).

[Update] Версия OpenVPN младше 2.0.6 уязвима к серьезной атаке на OpenSSL . Настоятельно рекомендую устанавливать сразу последнюю версию, линк на которую можно посмотреть на офф.сайте.
Alt text

Тени в интернете всегда следят за вами

Станьте невидимкой – подключайтесь к нашему каналу.

Артем Агеев

root@itsec.pro:~#