VPN-клиент — это программное приложение, которое позволяет пользователям подключаться к виртуальной частной сети (VPN) и безопасно получать доступ к ресурсам в этой сети.
VPN-клиент — это программное приложение, которое позволяет вам подключаться к виртуальной частной сети (VPN) и получать безопасный и конфиденциальный доступ в Интернет. Он шифрует вашу онлайн-активность и скрывает ваш IP-адрес, что затрудняет отслеживание ваших перемещений в сети или кражу вашей личной информации. Думайте об этом как о частном туннеле между вашим устройством и Интернетом, защищающем ваши данные от посторонних глаз.
VPN-клиент — это программное приложение, которое позволяет пользователям подключаться к VPN-серверу. VPN или виртуальная частная сеть — это частная сеть, которая использует Интернет для соединения удаленных сайтов или пользователей. VPN обеспечивают зашифрованное соединение, которое обеспечивает конфиденциальность и безопасность передаваемых данных.
Анонимность в сети: VPN vs Proxy vs Tor
VPN-клиенты обычно используются для подключения к сети компании из удаленного места, например из домашнего офиса или гостиничного номера. Их также можно использовать для доступа к веб-сайтам с региональными ограничениями или для защиты вашей активности в Интернете от посторонних глаз в общедоступной сети Wi-Fi. VPN-клиенты работают, создавая безопасное зашифрованное соединение между вашим устройством и VPN-сервером, который затем действует как шлюз в Интернет.
Независимо от того, являетесь ли вы владельцем бизнеса, который хочет обеспечить безопасный удаленный доступ для своих сотрудников, или частным лицом, желающим защитить свою конфиденциальность в Интернете, VPN-клиент может быть ценным инструментом. Шифруя ваш интернет-трафик и скрывая ваш IP-адрес, VPN-клиент может обеспечить частное и безопасное подключение к Интернету, где бы вы ни находились.
Что такое VPN-клиент?
VPN-клиент — это программное приложение, которое позволяет пользователям устанавливать безопасное и зашифрованное соединение с удаленным сервером, обычно управляемым поставщиком услуг VPN. VPN-клиенты широко используются частными лицами и предприятиями для защиты своей конфиденциальности и безопасности в Интернете, доступа к контенту с ограниченным доступом и обхода интернет-цензуры.
Определение VPN-клиента
VPN-клиент — это программное приложение, которое позволяет пользователям подключаться к VPN-серверу и устанавливать безопасный и зашифрованный туннель для своего интернет-трафика. Программное обеспечение клиента VPN шифрует данные пользователя и отправляет их через туннель на сервер VPN, который расшифровывает и пересылает их в Интернет. Этот процесс помогает защитить конфиденциальность и безопасность пользователя в Интернете, маскируя его IP-адрес и шифруя его интернет-трафик.
Как работает VPN-клиент?
VPN-клиент работает, устанавливая безопасное и зашифрованное соединение с удаленным сервером, которым обычно управляет поставщик услуг VPN. Программное обеспечение клиента VPN шифрует данные пользователя и отправляет их через туннель на сервер VPN, который расшифровывает и пересылает их в Интернет. Этот процесс помогает защитить конфиденциальность и безопасность пользователя в Интернете, маскируя его IP-адрес и шифруя его интернет-трафик.
Доступ к заблокированным ресурсам. SoftEther VPN Client.
VPN-клиент против VPN-сервера
VPN-клиент — это программное приложение, которое позволяет пользователям подключаться к VPN-серверу и устанавливать безопасный и зашифрованный туннель для своего интернет-трафика. С другой стороны, VPN-сервер — это удаленный сервер, который получает и расшифровывает данные пользователя и пересылает их в Интернет. VPN-клиенты используются частными лицами и предприятиями для защиты своей конфиденциальности и безопасности в Интернете, а VPN-серверы используются поставщиками услуг VPN для обеспечения безопасного и зашифрованного доступа в Интернет для своих пользователей.
Типы VPN-клиентов
Доступно несколько типов VPN-клиентов, каждый со своим набором функций и возможностей. Некоторые из наиболее распространенных типов VPN-клиентов включают в себя:
- Автономные VPN-клиенты: это программные приложения, которые устанавливаются на компьютер или мобильное устройство пользователя и предоставляют пользовательский интерфейс для подключения к VPN-серверу.
- Аппаратные VPN-клиенты: это автономные аппаратные устройства, которые предназначены для подключения к VPN-серверу и обеспечения безопасного и зашифрованного доступа в Интернет к сети пользователя.
- Программное обеспечение VPN-клиента, интегрированное в операционные системы: некоторые операционные системы, такие как Windows и iOS, поставляются со встроенным программным обеспечением VPN-клиента, которое позволяет пользователям подключаться к VPN-серверу без установки какого-либо дополнительного программного обеспечения.
- Клиентские приложения VPN для мобильных устройств. Для устройств Android и iOS доступно множество клиентских приложений VPN, которые позволяют пользователям подключаться к VPN-серверу и защищать свою конфиденциальность и безопасность в Интернете, находясь в дороге.
В заключение, VPN-клиент — это программное приложение, которое позволяет пользователям устанавливать безопасное и зашифрованное соединение с удаленным сервером, обычно управляемым поставщиком услуг VPN. VPN-клиенты широко используются частными лицами и предприятиями для защиты своей конфиденциальности и безопасности в Интернете, доступа к контенту с ограниченным доступом и обхода интернет-цензуры.
Зачем использовать VPN-клиент?
VPN-клиент — это программное приложение, которое позволяет пользователям создавать безопасное соединение с удаленным сервером через Интернет. Это соединение называется виртуальной частной сетью (VPN) и зашифровано, что означает, что все отправляемые и получаемые данные защищены от посторонних глаз.
Преимущества использования VPN-клиента
Использование VPN-клиента имеет несколько преимуществ, в том числе:
- Усиленная безопасность: VPN-клиент шифрует весь интернет-трафик, что затрудняет перехват и чтение конфиденциальных личных данных хакерами, киберпреступниками и злоумышленниками.
- Защита конфиденциальности: VPN-клиент маскирует IP-адрес пользователя, из-за чего рекламодателям и поставщикам интернет-услуг (ISP) сложно отслеживать активность в Интернете и поведение в Интернете.
- Доступ к ограниченному контенту: VPN-клиент может помочь пользователям обойти интернет-цензуру и получить доступ к контенту, который может быть ограничен в их местоположении.
- Удаленный доступ: VPN-клиент позволяет пользователям безопасно получать доступ к частной сети из удаленного места, что делает его идеальным для удаленных сотрудников и тех, кто работает дома.
- Производительность: VPN-клиент может повысить производительность Интернета, уменьшив задержку и увеличив скорость загрузки.
Риски неиспользования VPN-клиента
Неиспользование VPN-клиента может подвергнуть пользователей нескольким рискам, в том числе:
- Утечки данных: Без шифрования конфиденциальные личные данные уязвимы для перехвата и кражи киберпреступниками и хакерами.
- Отслеживание интернет-провайдера: Интернет-провайдеры могут отслеживать активность в Интернете и продавать данные рекламодателям, нарушая конфиденциальность пользователей.
- Вредоносные программы: Незащищенные интернет-соединения могут подвергнуть пользователей риску заражения вредоносными программами, которые могут поставить под угрозу личные данные и повредить устройства.
- Государственный надзор: Правительственные учреждения могут отслеживать активность в Интернете, ставя под угрозу конфиденциальность пользователей и свободу слова.
В заключение, использование VPN-клиента необходимо для всех, кто ценит конфиденциальность и безопасность в Интернете. В условиях растущей угрозы киберпреступности и правительственной слежки VPN-клиент обеспечивает безопасное и частное подключение к Интернету, защищая конфиденциальные личные данные и обеспечивая анонимность в Интернете.
Как выбрать VPN-клиент
Когда дело доходит до выбора VPN-клиента, необходимо учитывать несколько факторов. VPN-клиент — это программное обеспечение, которое работает на вашем устройстве и связывается с VPN-сервером для установления безопасного соединения. Вот некоторые ключевые факторы, которые следует учитывать при выборе VPN-клиента:
Факторы, которые следует учитывать при выборе VPN-клиента
- Совместимость: убедитесь, что VPN-клиент совместим с операционной системой вашего устройства. Некоторые VPN-клиенты могут работать только в определенных операционных системах, таких как Windows или macOS.
- Пользовательский интерфейс. Ищите VPN-клиент с удобным интерфейсом, в котором легко ориентироваться. Хорошо продуманный интерфейс может упростить настройку параметров VPN и устранение любых неполадок, которые могут возникнуть.
- Шифрование: проверьте, какие протоколы шифрования поддерживает VPN-клиент. Ищите VPN-клиент, который использует надежное шифрование, например AES-256, для защиты ваших данных.
- Производительность. Учитывайте производительность VPN-клиента. Ищите VPN-клиент, который предлагает высокую скорость соединения и минимальную задержку. Некоторые VPN-клиенты могут также предлагать такие функции, как раздельное туннелирование, для оптимизации производительности.
- Политика ведения журнала: найдите VPN-клиент с политикой отсутствия ведения журнала. Это означает, что VPN-клиент не хранит никаких данных о вашей онлайн-активности, обеспечивая вам большую конфиденциальность и безопасность.
Лучшие VPN-клиенты
Вот некоторые из лучших VPN-клиентов, доступных сегодня:
- ExpressVPN: этот VPN-клиент известен своей высокой скоростью соединения и надежным шифрованием. Он предлагает удобный интерфейс и поддерживает широкий спектр операционных систем.
- NordVPN: NordVPN — еще один популярный VPN-клиент, который предлагает надежное шифрование и политику отсутствия журналов. Он также предлагает такие функции, как двойная VPN и Onion over VPN для дополнительной безопасности.
- Surfshark: Surfshark — это новый VPN-клиент, предлагающий высокую скорость соединения и надежное шифрование. Он также предлагает такие функции, как CleanWeb, который блокирует рекламу и вредоносное ПО.
- CyberGhost: CyberGhost — это VPN-клиент с надежным шифрованием и удобным интерфейсом. Он также предлагает такие функции, как автоматический аварийный выключатель и защита от утечки DNS.
- Частный доступ в Интернет: Частный доступ в Интернет — это VPN-клиент, который предлагает надежное шифрование и политику отсутствия журналов. Он также предлагает такие функции, как раздельное туннелирование и переадресация портов.
При выборе VPN-клиента важно учитывать ваши конкретные потребности и предпочтения. Помните о перечисленных выше факторах и проведите исследование, чтобы найти лучший VPN-клиент для ваших нужд.
Более Чтение
VPN-клиент — это программное обеспечение, которое позволяет пользователю подключаться к виртуальной частной сети. Он устанавливается на компьютер, телефон или планшет и упрощает пользователям установку безопасного подключения к VPN. Большинство распространенных операционных систем, таких как Android, Windows и iOS, поставляются с предустановленным программным обеспечением VPN-клиента (источник: Нортон).
Связанные термины безопасности в Интернете
- Что такое асимметричное симметричное шифрование
- Что такое блокировщик рекламы
- Что такое перехват DNS
- Что такое утечка DNS
- Что такое Фвей
- Что такое геоблокировка
- Что такое геоспуфинг
- Что такое Great Firewall China
- Что такое утечка IP
- Что такое провайдер
- Что такое Kill Switch
- Что такое L2tp IPsec
- Что такое Multi Hop Vpn
- Что такое нет журнала Vpn
- Что такое опенвпн
- Что такое совершенная прямая секретность
- Что такое прокси-сервер
- Что такое умный DNS
- Что такое раздельное туннелирование
- Что такое VPN-протокол
- Что такое Wireguard
- Что такое впн-роутер
- Что такое впн сервер
- Что такое впн-туннель
- Что такое ордер Канарейка
- Что такое шифрование Wi-Fi
Источник: www.websiterating.com
Типы VPN-подключений
VPN—это подключения типа «точка — точка» через частную или общедоступную сеть, например Через Интернет. VPN-клиент использует специальные протоколы на основе TCP/IP или UDP, которые называют протоколами тунеллирования, для виртуального вызова виртуального порта VPN-сервера. В стандартом развертывании VPN клиент инициирует виртуальное соединение точка-точка с сервером удаленного доступа через Интернет. Сервер удаленного доступа отвечает на вызов, проверяет подлинность вызывающего абонента и передает данные между VPN-клиентом и частной сетью организации.
Существует множество вариантов VPN-клиентов. В Windows встроенный подключаемый модуль и платформа vpn-подключаемых модулей универсальная платформа Windows (UWP) создаются поверх платформы WINDOWS VPN. В этой статье рассматриваются клиенты платформы VPN Windows и функции, которые можно настроить.
Встроенный клиент VPN
- Internet Key Exchange версии 2 (IKEv2): настройте криптографические свойства туннеля IPsec/IKE с помощью параметра Cryptography Suite в поставщике службы конфигурации VPNv2 (CSP).
- L2TP: L2TP с предварительно общим ключом (PSK) можно настроить с помощью параметра L2tpPsk в VPNv2 CSP.
- PPTP
- SSTP: SSTP нельзя настроить с помощью MDM, но это один из протоколов, предпринятых в параметре Автоматически .
Примечание. При использовании подключаемого модуля VPN адаптер будет указан как адаптер SSTP, даже если используемый vpn-протокол является протоколом подключаемого модуля.
Подключаемый модуль VPN универсальной платформы Windows
При использовании платформы UWP сторонние поставщики VPN могут создавать подключаемые модули, размещаемые в контейнере приложений, с помощью API-интерфейсов WinRT, что упрощает процесс и устраняет проблемы, связанные с написанием драйверов системного уровня.
Существует множество универсальная платформа Windows VPN-приложений, таких как Pulse Secure, Cisco AnyConnect, F5 Access, Sonicwall Mobile Connect и Check Point Capsule. Если вы хотите использовать подключаемый модуль VPN платформы UWP, обратитесь к поставщику за сведения о настройке вашего решения VPN.
Настройка типа подключения
Сведения о настройке XML см. в разделе Параметры профиля VPN и VPNv2 CSP.
На следующем рисунке показаны параметры подключения в политике конфигурации профиля VPN с помощью Microsoft Intune:
В Intune можно также включить настраиваемый XML-код для профилей сторонних подключаемых модулей:
Связанные статьи
- Технический справочник по VPN
- Решения о маршрутизации для VPN
- Параметры проверки подлинности для VPN
- VPN и условный доступ
- Разрешение имен VPN
- Автоматически инициируемые параметры профиля VPN
- Функции безопасности VPN
- Параметры профиля VPN
Источник: learn.microsoft.com
Строим туннели. Разбираемся с новинками VPN
При работе с облачными сервисами важна не только скорость обработки и передачи данных — на первое место выдвигается гарантированный уровень безопасности. Данные, хранящиеся на внешнем ресурсе, ни в коем случае не должны попасть в чужие руки. C другой стороны, постоянно появляются сообщения о попытках государств что-нибудь да заблокировать. Наверное, поэтому в последнее время вырос интерес к VPN-решениям, и наряду с уже традиционными IPsec/XFRM и OpenVPN в Linux стали активно развиваться еще несколько проектов. Сегодня тебя ждут четыре интересных экземпляра: SoftEther VPN, WireGuard, FreeLAN и GoVPN.
SoftEther VPN
SoftEther VPN — академический проект японского Цукубского университета (University of Tsukuba), распространяемый под лицензией GPLv2. Главной его особенностью является поддержка нескольких VPN-протоколов, совместимых с оригинальными клиентами.
Это позволяет вместо парка серверов из проприетарных и open source решений использовать для подключения клиентов, работающих под управлением разных ОС, одно приложение. И просто выбирать нужный протокол в зависимости от конкретной ситуации. Поддерживаются: SSL-VPN (HTTPS), IPsec, L2TP, MS-SSTP, L2TPv3, EtherIP и OpenVPN. SoftEther VPN работает в режимах remote-access и site-to-site, на уровнях L2 (Ethernet-bridging) и L3 (IP).
В случае замены OpenVPN мы получаем более простую конфигурацию. Есть генератор ovpn-файлов для быстрого подключения VPN-клиента. Замена SSTP VPN позволяет отказаться от использования серверов на базе Win2k8/2012, требующих лицензии. Собственный протокол обеспечивает прохождение Ethernet поверх HTTPS (отсюда и название проекта — Software Ethernet), характеризуется хорошей пропускной способностью и низкой латентностью. Его использование дает возможность прозрачно соединить несколько Ethernet-сетей в одну, то есть отпадает необходимость в дополнительных решениях Ethernet-over-IP.
И главное — он совместим с NAT и работает через стандартный 443-й порт, который обычно не блокируется брандмауэрами провайдеров. Эта возможность позволяет скрыть вообще использование VPN: со стороны трафик выглядит как обычный и не обнаруживается технологиями Deep Packet Inspection.
Собственно, поэтому он и стал очень популярен в Китае, где его используют для обхода Великого китайского файрвола. При этом на стороне клиента реализован виртуальный сетевой адаптер Ethernet, а на сервере — виртуальный коммутатор. Большой плюс — наличие NAT Traversal, включенной по умолчанию, то есть не нужно просить админа открыть доступ к VPN-серверу, находящемуся во внутренней сети.
Но и это еще не все. В сетях с ограниченным доступом, у которых блокируются все TCP- и UDP-пакеты (например, публичные Wi-Fi), для создания VPN можно использовать протоколы ICMP и DNS, обычно не блокируемые брандмауэром. Поддерживается Dynamic DNS, позволяющий получить доступ при динамически меняющемся IP-адресе. Для этого реализован сервис VPN Gate, называемый VPN Azure Cloud Service, — к нему можно организовать соединение из внутренней сети и затем при необходимости свободно попадать внутрь сети. Клиентская часть содержит специальный плагин VPN Gate, позволяющий отслеживать смену IP и быстро подключаться к VPN Gate.
Обеспечивается высокая производительность и скорость соединения 1 Гбайт/с без существенных ограничений по объемам ОЗУ и минимальной нагрузке на процессор. Поэтому требования к серверной части очень невысоки. По тестам SoftEther VPN обходит на том же оборудовании оригинальные решения. Поддерживается шифрование AES-256 и RSA-4096, IPv4/IPv6, журналирование трафика и событий. Аутентификация пользователей локальная, RADIUS и домен Windows.
Администрирование учетных записей и параметры безопасности могут быть настроены удаленно с помощью графического интерфейса Server Manager (локализация только английский, японский и китайский), который устанавливается на Win- или macOS-компьютере администратора или при помощи утилиты командной строки vpncmd. Возможна установка на Windows, Linux, macOS, FreeBSD и Solaris. Доступен исходный код и архив со скомпилированным приложением. Для установки потребуется выбрать ОС, платформу и компонент (сервер, клиент, bridge. ). Официально поддерживаются Linux-ядра 2.4/2.6/3.x, но без проблем работает и в современных дистрибутивах с ядром 4.х. В Linux достаточно распаковать архив и запустить файл .install.sh, после чего раза три принять условия лицензии и по окончании запустить сервер:
$ sudo ./vpnserver start
Далее, отвечая на вопросы vpncmd (или при помощи Server Manager), настраиваем параметры подключения.
Другие статьи в выпуске:
Xakep #213. FUCK UAC
- Содержание выпуска
- Подписка на «Хакер» -60%
WireGuard
WireGuard — результат исследований автора проекта Джейсона Доненфилда (Jason A. Donenfeld), главы компании Edge Security. Продукт со встроенной криптографией, одновременно простой в использовании и в реализации (чуть более 4000 строк кода), что существенно выделяет его среди остальных решений. Например, его код легче проанализировать, чем все, что написано в рамках *Swan/IPsec или OpenVPN.
Самый молодой проект обзора. О нем заговорили в середине лета 2016-го после публикации анонса в списке рассылки разработчиков ядра Linux, где был представлен патч к ядру. Хотя сам проект развивается уже несколько лет и прошел стадию рецензирования криптографии, то есть его можно внедрять в основное ядро.
VPN-соединение инициализируется (handshake) путем обмена открытыми ключами и напоминает подход, применяемый в SSH. Все остальное прозрачно обрабатывается WireGuard, нет необходимости беспокоиться о ключах, роутинге, контроле состояния и прочем, это все забота WireGuard. Возможно использование симметричного шифрования, но это потребует чуть больших настроек.
Маршрутизация производится по ключам шифрования, для этого к каждому сетевому интерфейсу привязывается закрытый ключ. Для обновления ключей handshake происходит через определенное время или по сигналу, что ключи устарели. Для согласования ключей и соединения вместо собственного демона в пространстве пользователя используется механизм Noise_IK из Noise Protocol Framework, похожий на поддержание authorized_keys в SSH, без усложнений в виде поддержки x509 и ASN.1.
Для шифрования применяются потоковый шифр ChaCha20 и алгоритм аутентификации сообщений (MAC) Poly1305. Для генерации совместного секретного ключа — протокол Диффи — Хеллмана на эллиптических кривых в реализации Curve25519, предложенной Дэниелом Бернштейном. Для хеширования используются BLAKE2s (RFC 7693) и SipHash-2-4. Избежать replay-атаки позволяет метка времени TAI64N, пакеты с меньшей меткой времени отбрасываются.
Передача данных осуществляется на третьем уровне ISO через инкапсуляцию в пакеты UDP. Поддерживаются IPv4 и IPv6, инкапсуляция v4 в v6 и v6 в v4. Может работать за NAT и файрволом. Поддерживается смена IP-адреса VPN-сервера без разрыва соединения с автоматической перенастройкой клиента.
После установки в системе появляется новый сетевой интерфейс wg0, который может быть настроен штатными инструментами ipconfig/ip-address и route/ip-route. Специальная утилита wg позволяет установить секретный ключ устройства и указать список ассоциаций для клиентов (его публичный ключ, разрешенный IP).
Для установки понадобится дистрибутив с ядром Linux >4.1. Пакет можно найти в репозиториях основных дистрибутивов Linux. Для Ubuntu 16.04 есть PPA.
$ sudo add-apt-repository ppa:hda-me/wireguard $ sudo apt update $ sudo apt install wireguard-dkms wireguard-tools
Самостоятельная сборка из исходных текстов также несложна. Поднимаем интерфейс, генерируем пару ключей (для примера сохраняем в файлах privatekey и publickey):
$ sudo ip link add dev wg0 type wireguard $ wg genkey | tee privatekey | wg pubkey > publickey
Получаем публичный ключ от клиента и создаем соединение.
$ sudo wg set wg0 listen-port 1234 private-key ~/privatekey peer IKy1eCE9pP1w. allowed-ips 192.168.0.0/24 endpoint 1.2.3.4:9876
Возможно использование PresharedKey (генерируется командой wg genpsk), который добавляет еще один уровень симметричного шифрования к имеющемуся шифрованию с открытым ключом. Для пира можно указать PersistentKeepalive, позволяющий поддерживать соединение из-за NAT и файрвола. Поднимаем интерфейс:
$ sudo ip address add dev wg0 192.168.0.1
$ sudo wg
Для удобства лучше заранее подготовить конфигурационный файл, содержащий секцию interface и секции peer. Формат можно увидеть, введя wg showconf.
$ sudo wg setconf wg0 myconfig.conf
Подходит как для небольших встроенных устройств вроде смартфонов, так и для магистральных маршрутизаторов. Тесты показали, что WireGuard имеет примерно в четыре раза лучшую пропускную способность и в 3,8 раза более отзывчив по сравнению с OpenVPN (256-bit AES c HMAC-SHA-2–256). Здесь сказывается не только реализация в виде модуля ядра, тогда как OpenVPN работает в userspace.
Повышение производительности обусловлено отказом от использования CryptoAPI ядра, работающего достаточно медленно. Вместо него в WireGuard задействованы собственные реализации ChaCha20, Poly1305, BLAKE2s и Curve25519, которые позиционируются как быстрые и безопасные аналоги AES-256-CTR и HMAC, их программная реализация позволяет добиться фиксированного времени выполнения без аппаратной поддержки.
Также WireGuard благодаря меньшим задержкам чуть лучше выглядит в производительности по сравнению с IPsec (256-bit ChaCha20 + Poly1305 и AES-256-GCM-128), но вот настройки гораздо проще.
Пока WireGuard доступен только для Linux, после тестирования предполагается портировать в другие ОС. Код распространяется под лицензией GNU GPLv2.
FreeLAN
FreeLAN — мультиплатформенный VPN-клиент, который распространяется по лицензии GNU GPL и относится к так называемому классу Full Mesh, то есть использует P2P-технологии. Проект относительно молодой, активно начал продвигаться только с 2013 года. Его главное отличие от других проектов — это выбор варианта архитектуры: клиент-серверная (как привычный VPN, клиенты в зависимости от установок могут или не могут обмениваться данными друг с другом, сервер может выступать как релей), P2P (клиенты подключаются друг к другу напрямую) и смешанный (оба варианта). Таким образом, можно гибко настроить VPN практически под любые условия. Например, сервер может понадобиться, чтобы получать доступ во внутреннюю сеть или для контроля соединений, в остальных случаях можно позволить подключаться напрямую.
Поддерживаются Win, Linux, macOS, Raspberry Pi. Пакет есть в репозиториях основных дистрибутивов, поэтому установка сложностей не вызывает. По факту программа представляет собой один бинарник, поэтому создавать сети очень просто.
$ freelan —security.passphrase «secret»
По умолчанию сервер откроет порт UDP/12000 на всех интерфейсах, виртуальный интерфейс получит адрес 9.0.0.1. Используя дополнительные параметры, их можно переопределить, как и указать сертификаты. Подключаемся к серверу с другого узла, присвоим ему другой внутренний IP:
$ freelan —security.passphrase «secret» —fscp.contact 1.2.3.4:12000 —tap_adapter.ipv4_address_prefix_length 9.0.0.2/24
Для удобства все настройки можно поместить в конфигурационный файл. При установке в Ubuntu уже есть готовый шаблон /etc/freelan/freelan.cfg, который будет прочитан при запуске, а поэтому лучше сразу внести в него параметры. Альтернатива FreeLAN — PeerVPN или Cjdns, в которых также используют распределенные технологии.
GoVPN
GoVPN — легкий и простой в настройке демон VPN, предназначенный для создания шифрованных и аутентифицированных каналов связи поверх UDP или TCP. Среди задач проекта — безопасный код, который легко читать и анализировать, безопасность, устойчивость к DPI/цензуре. Фактически GoVPN просто туннелирует кадры Ethernet — ни больше ни меньше.
Нет никаких особых инструментов для управления IP, но для этого можно самостоятельно написать скрипты. Использует TAP сетевые интерфейсы, в настройках можно задавать его имя. MTU конфигурируются относительно каждого клиента отдельно. Написан на языке Go и распространяется под лицензией GPLv3.
Для согласования ключей используется протокол с двусторонней аутентификацией сторон по парольной фразе (PAKE DH A-EKE: Diffie — Hellman Augmented Encrypted Key Exchange). Клиент для подключения вводит парольную фразу, на серверной стороне хранится верификатор, который нельзя использовать с клиентской стороны, поэтому даже при взломе сервера хакер не может выдавать себя за клиента.
Реализовано три режима работы:
- обычный (применяется по умолчанию), когда в сеть идут просто зашифрованные пакеты;
- noise (шумовой), когда пакеты дополняются шумом до постоянной длины;
- CPR (постоянной скорости) — в дополнение к noise пакеты отправляются строго через определенный промежуток, если нет полезной информации, отправляется шумовой пакет.
В последних двух режимах благодаря генерированию постоянного шумового трафика удается скрывать длину сообщений и сам факт передачи полезной нагрузки. Имеет свойство нулевого неразглашения, при котором невозможна offline-атака по словарю, устойчив к replay-атакам через использование одноразового кода аутентификации сообщения (message authentication code) и синхронизацию времени (опционально).
Предусмотрена ротация сессионных ключей и отправка heartbeat для поддержания работы через NAT или файрвол. Для хеширования парольных фраз задействован Balloon (в релизе 6.0). В релизе 5.0 это был Argon2d, еще ранее PBKDF2. Поэтому версии несовместимы.
Есть нешифрованный режим, также обеспечивающий конфиденциальность и аутентичность данных благодаря технологии chaffing and winnowing. Он позволяет обойти ограничения на использование криптографических инструментов в некоторых странах. Вместо шифрования применяются алгоритмы аутентификации и передача множества лишних пакетов (получатель просто отбирает те, которые ему подходят). Но это увеличивает каждый пакет на 4128 байт, поэтому режим требователен и к процессору, и к лишнему передаваемому трафику.
Совместим с IPv4 и IPv6. Возможно подключение через внешний HTTP-прокси, клиент также имеет встроенный режим HTTP-прокси, который можно использовать для доступа к серверу. Для получения статистики о подключенных клиентах в режиме реального времени в JSON-формате используется встроенный HTTP-сервер. Поддерживается работа в GNU/Linux и FreeBSD. Сервер конфигурируется с использованием YAML-файла.
Готовых пакетов проект не предлагает, только исходные тексты, для сборки понадобятся пакеты uml-utilities и golang. Хотя неофициальные порты появились уже в некоторых дистрибутивах. Дистрибутив постоянно развивается, и часть инструкций по настройке уже недействительна.
Заключение
Каждое из представленных решений имеет свои плюсы, стоит присмотреться и выбрать нужное в зависимости от планируемых задач.
Источник: xakep.ru