Posted by: admin октября 8th, 2017
Как поднять свой VPN-сервер
Стрейзанд - это даже больше, чем VPN-сервер. Одна-единственная команда настраивает с нуля сервер под операционной системой Ubuntu 16.04 с большим набором ПО для противодействия цензуре, который может полностью скрыть и зашифровать весь ваш трафик. Стрейзанд поддерживает создание новых серверов в Amazon EC2, Azure, DigitalOcean, Google Compute Engine, Linode, и Rackspace. В скором времени ожидается поддержка также и других облачных хостеров. Стрейзанд также можно запускать на любом сервере с операционной системой Ubuntu 16.04 вне зависимости от хостера, и сотни серверов могут быть одновременно сконфигурированы с применением этого метода. Процесс полностью автоматизирован и занимает примерно десять минут, что довольно круто, учитывая что среднему системному администратору требуется несколько дней возни, для того, чтобы настроить малую часть того, что Стрейзанд предлагает "из коробки". После того, как ваш сервер Стрейзанд запущен, вы можете раздать инструкции по подключению друзьям, членам семьи и соратникам. Инструкции по подключению содержат в себе копию SSL-сертификата, уникального для каждого сервера, так что вам нужно послать им всего один файл. Каждый сервер полностью самодостаточен и содержит абсолютно всё, что нужно для того, чтобы начать использовать Стрейзанд, включая криптографически верифицированные копии основного клиентского ПО. Это позволяет обойти попытки подвергнуть цензуре соответствующее ПО.
Дополнительные особенности
Nginx поддерживает защищённый паролем и зашифрованный Портал, который служит отправной точкой для новых пользователей. Портал доступен с ипользованием SSL или через скрытые сервисы Tor.
- Стрейзанд генерирует замечательные, персонализированные пошаговые инструкции по подключению для пользователей. Пользователи могут легко получить доступ к этим инструкциям через любой веб браузер. Инструкции также отлично выглядят на мобильных телефонах.
- Неизменность копий программного обеспечения подтверждена с помощью контрольных сумм SHA-256 или с использованием криптографических подписей GPG, если конкретный проект их предоставляет. Это предотвращает загрузку испорченных файлов.
- Все дополнительные файлы, такие как конфигурационные профили OpenVPN также доступны через Портал.
- Пользователи Tor могут также пользоваться дополнительными сервисами, устанавливаемыми Стрейзанд, для передачи больших файлов или для использования видов трафика (например BitTorrent), для которых Tor изначально не предназначен.
- Для каждого шлюза Стрейзанд создается уникальный пароль, SSL-сертификат и приватный ключ SSL. Инструкции и сертификат передаются через SSH в конце выполнения Стрейзанд.
Отдельные сервисы и множество демонов предоставляют впечатляющую гибкость. Если один из методов будет заблокирован, множество других остается доступными и большая часть из них устойчива к Deep Packet Inspection (DPI).
- Все методы подключения (включая L2TP/IPsec и прямые соединения OpenVPN) эффективны против методов блокировки, с которыми экспериментирует Турция.
- OpenConnect/AnyConnect, OpenSSH, OpenVPN (завернутый в stunnel), Shadowsocks и Tor (с obfsproxy и подключаемым транспортом obfs4 ) эффективны против Великого Китайского Файрволла.
Каждая задача тщательно документирована и снабжена детальным описанием. Стрейзанд одновременно является самым полным HOWTO об установке всего ПО, которое он включает и является страховкой от установки всего этого руками.
Всё ПО сознательно использует порты так, чтобы сделать простое блокирование портов невозможным без нанесения блокирующей стороной значительного сопутствующего ущерба. К примеру, OpenVPN использует не порт по умолчанию 1194, а 636, стандартный порт для LDAP/SSL соединений, часто используемый компаниями во всем мире.
- L2TP/IPsec - существенное исключение, так как в нем невозможно поменять порты, не нарушив совместимость с клиентом
Предоставляемые сервисы
L2TP/IPsec с использованием Libreswan и xl2tpd
- Создаются случайные ключ и пароль
- Пользователи Windows, macOS, Android, и iOS могут подключаться с использованием встроенной поддержки VPN без установки дополнительного ПО.
Monit
- Отслеживает здоровье процессов и автоматически перезапускает их , если они падают или зависают.
OpenSSH
- Создается непривилегированный пользователь и пара ключей для sshuttle и SOCKS.
- Поддерживаются также SSH-туннели Windows и Android, создается копия пары ключей в .ppk формате для PuTTY
- Установлен Tinyproxy и подключен к localhost. Программы, которые не поддерживают SOCKS и требуют наличия HTTP proxy, такие как Twitter для Android, могу подключиться к нему через SSH-туннель.
OpenConnect / Cisco AnyConnect
- OpenConnect (ocserv) - высокопроизводительный и легковесный VPN-сервер полностью совместимый с официальными клиентами Cisco AnyConnect.
- Его протокол построен на классических стандартах, таких как HTTP, TLS и DTLS и является одним из самых популярных и широко используемых мультинациональными корпорациями VPN технологий.
Это означает, что кроме своей простоты и скорости, OpenConnect также устойчив к цензуре и практически никогда не блокируется.
OpenVPN
- Для каждого клиента создаются унифицированные .ovpn профили для простой настройки клиента с использованием только одного файла.
- Поддерживаются соединения TCP и UDP.
- Несколько клиентов могут использовать один и тот же сертификат и ключ, но по умолчанию создается 5 наборов сертификат/ключ.
- Определение адресов для клиента исползует Dnsmasq для предотвращения утечек DNS-запросов.
- Включена TLS Authentication для защиты от зондирующих атак. Трафик не имеющий корректного HMAC будет попросту проигнорирован.
Shadowsocks
- Установлен высокопроизводительный вариант libev. Эта версия обрабатывает тысячи одновременных соединений.
- Создается QR код который можно использовать для автоматической настройки Android и iOS клиентов. Вы можете написать '8.8.8.8' на бетонной стене, или вы можете наклеить инструкции для Shadowsocks и QR коды на ту же стену.
- Включена поддержка AEAD с ChaCha20 и Poly1305 для усиленной безопасности и уклонения от GFW.
Sslh
- Sslh - демультиплексор протоколов, позволяющий Nginx, OpenSSH и OpenVPN совместно использовать порт 443. Это предоставляет альтернативный метод подключения и означает, что вы можете перенаправлять трафик через OpenSSH и OpenVPN даже если вы находитесь в сети с очень строгими правилами, которая блокирует все соединения не с HTTP.
Stunnel
- Слушает и упаковывает соединения OpenVPN. Это заставляет их выглядеть как стандартный SSL трафик и позволяет OpenVPN клиентам устанавливать туннели даже в случае использования Deep Packet Inspection.
- Создаются как профили для прямых соединений, так и унифицированные профили для соединений OpenVPN через stunnel. И подробные инструкции тоже.
- Сертификат stunnel и ключ экспортируются в формате PKCS #12 для совместимости с другими приложениями для туннелирования SSL. В частности , это позволяет OpenVPN for Android туннелировать свой трафик через SSLDroid. OpenVPN в Китае на мобильном устройстве? Да!
Tor
- Настроен bridge relay со случайно сгенерированным именем.
- Установлен Obfsproxy и настроен с поддержкой подключаемого транспорта obfs4.
- Сгенерирован код BridgeQR для автоматического конфигурирования Orbot для Android.
UFW
- Для каждого сервиса настроены правила файрвола, так что любой трафик отправленный на запрещенный порт будет заблокирован.
Unattended-upgrades
- Ваш Стрейзанд сервер настроен для автоматической установки обновлений, связанных с безопасностью.
WireGuard
- Пользователи Linux могут насладиться простым и прекрасным VPN, который также является сказочно быстрым и использует современные криптографические принципы, отсутствующие в других высокоскоростных VPN решениях
Процесс установки описан здесь. Перед установкой рекомендуется ознакомиться с вопросами и проблемами, которые возникали до Вас, и путями их решения.