Протокол wireguard что это

Wireguard VPN

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

Протокол wireguard что это

Время подключения WireGuard кажется совершенно волшебным.

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

После такого обновления клиенту WireGuard и серверу WireGuard нужно будет просто сказать «давайте использовать v2.0 вместо v1.0!» и быть на готове. (Это отличается от крипто-гибкого согласования, в котором клиент и сервер должны согласовывать каждый отдельный примитив и длину ключа по частям.) Как только администратор уверен, что все его клиенты были обновлены для поддержки нового протокола, он может просто отключить протокол 1.0 на сервере, чтобы покончить с этим.

ChaCha20 для симметричного шифрования, аутентифицированный с помощью Poly1305

используя конструкцию RFC7539 AEAD

Curve25519 для ECDH

BLAKE2s для простого хеширования и хеширования с ключом, описанного в RFC7693

SipHash24 для ключей хеш-таблицы

HKDF для получения ключа, как описано в RFC5869

Эластичное VPN-соединение для роуминга

WireGuard создан для роуминга. Если ваше устройство меняет сети, например, от Wi-Fi до мобильного/сотового интернета, то соединение будет сохраняться, потому что, пока клиент отправляет правильно аутентифицированные данные на наш VPN-сервер WireGuard, сервер поддерживает соединение в работе. Больше никаних отключений от VPN!

Протокол wireguard что это

Каковы преимущества меньшей кодовой базы?

WireGuard был разработан с учетом простоты реализации и использования. Его текущая кодовая база составляет менее 4000 строк кода. По сравнению со своими альтернативными предшественниками, такими как Swan/IPsec (400 000+ строк) или OpenVPN/OpenSSL (600 000+ строк), в которых аудит гигантских кодовых баз является непосильной задачей даже для больших групп экспертов по безопасности, Wireguard заменяет их всех.

Проще проверять

OpenVPN потребовал бы большой команды для аудита. WireGuard доступен для просмотра отдельным лицам

Проще найти уязвимости

Упрощенный аудит = более простой поиск уязвимостей, что помогает обеспечить безопасность WireGuard

Меньший риск атаки

Намного меньшее поле для атаки по сравнению с OpenVPN и IPSec

Лучшая производительность

Более чистый код всегда делает программы более эффективными. Wireguard быстро и надежно

Легко запустить и пользоваться

Загрузите и установите приложение Astrill VPN для вашей платформы

Введите адрес электронной почты и пароль и нажмите кнопку входа

Выбирайте из сотен серверов и подключитесь одним кликом

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

Источник

WireGuard — это VPN-протокол будущего, который появится в ядре Android 12. Чем он лучше текущих

Протокол wireguard что это

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

Что такое WireGuard

WireGuard — это протокол VPN, появившийся на свет несколько лет назад. В 2020 году технология была внедрена в ядро Linux с номером 5.6. Раз она уже поддерживается в ядре Linux, то скоро появится и в ОС Android — уже разработаны ядра с поддержкой. WireGuard безопаснее, быстрее и проще других VPN.

Преимущества этого протокола

WireGuard выделяется на фоне конкурентов несколькими особенностями. В первую очередь, у него более компактный и читаемый исходный код. Популярный OpenVPN состоит из сотен тысяч строк, WireGuard — примерно из четырёх тысяч. Что это даёт? Любые уязвимости в VPN легко обнаружить и исправить. Благодаря этому и понятной документации разработчикам легче изучать принцип работы и имплементировать протокол в собственные наработки.

Протокол wireguard что это

WireGuard использует самые быстрые и современные криптографические алгоритмы, признанные специалистами: Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF. Такой узкий набор снижает гибкость шифрования, но повышает надёжность. Протокол был разработан с прицелом на меньшую сложность, что делает его устойчивым к атакам.

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

Протокол wireguard что это

Самое полезное для пользователей достоинство WireGuard — легкость в настройке. Развернуть собственный VPN можно с помощью нескольких команд, в то время как с конкурентными решениями придётся возиться намного дольше.

WireGuard появится в ядре Android 12: что это изменит

Поддержка протокола WireGuard уже включена в ветку ядра android-4.19-stable. Релизные билды Android 12 будут базироваться на ядрах android-4.19-stable, android11-5.4, android12-5.4, android12-5.10. Разумеется, поддержка технологии в ядре — лишь часть процесса внедрения. Google придётся разработать API для работы с новым модулем ядра, и пока что неизвестно, успеет ли компания сделать это к релизу ОС или нет.

Такой шаг позволит достичь максимальной пропускной способности и минимальных задержек вкупе с повышенной безопасностью. Кроме того, от приложения можно будет отказаться, так как VPN сможет работать нативно. Внедрение протокола в Android поспособствует широкому распространению WireGuard.

Источник

Что лучше выбрать: Wireguard или OpenVPN? Любимый VPN Линуса Торвальдса

Протокол wireguard что это

Технологии VPN редко становятся объектами пристального внимания: есть и есть. Создатель Wireguard Jason A. Donenfeld оказался везунчиком после нетипичной для Линуса Торвальдса резко хвалебной оценки качества кода.

Can I just once again state my love for it and hope it gets merged soon? Maybe the code isn’t perfect, but I’ve skimmed it, and compared to the horrors that are OpenVPN and IPSec, it’s a work of art.

Шифрование: отличия Wireguard от OpenVPN

Wireguard исповедует минималистский и безапелляционный подход к шифрованию, преднамеренно исключив гибкость и альтернативу выбора протоколов, так как это слишком затратно. Если нет выбора протоколов, нет и процесса согласования, в котором традиционно находят дыры безопасности. Кроме того SSL/TLS уязвимости, идущие ровным потоком, также не в пользу богатства выбора.

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

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

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

aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb
aes-256-cbc aes-256-ecb aria-128-cbc aria-128-cfb
aria-128-cfb1 aria-128-cfb8 aria-128-ctr aria-128-ecb
aria-128-ofb aria-192-cbc aria-192-cfb aria-192-cfb1
aria-192-cfb8 aria-192-ctr aria-192-ecb aria-192-ofb
aria-256-cbc aria-256-cfb aria-256-cfb1 aria-256-cfb8
aria-256-ctr aria-256-ecb aria-256-ofb base64
bf bf-cbc bf-cfb bf-ecb
bf-ofb camellia-128-cbc camellia-128-ecb camellia-192-cbc
camellia-192-ecb camellia-256-cbc camellia-256-ecb cast
cast-cbc cast5-cbc cast5-cfb cast5-ecb
cast5-ofb des des-cbc des-cfb
des-ecb des-ede des-ede-cbc des-ede-cfb
des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb
des-ede3-ofb des-ofb des3 desx
idea idea-cbc idea-cfb idea-ecb
idea-ofb rc2 rc2-40-cbc rc2-64-cbc
rc2-cbc rc2-cfb rc2-ecb rc2-ofb
rc4 rc4-40 rc5 rc5-cbc
rc5-cfb rc5-ecb rc5-ofb seed
seed-cbc seed-cfb seed-ecb seed-ofb
sm4-cbc sm4-cfb sm4-ctr sm4-ecb

Для хеш сумм доступны такие функции.

Выводы по стандартам шифрования и безопасности

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

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

Сравнение производительности

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

Все это необходимо проверить на практике, к счастью есть множество замеров скорости для VPN туннелей. Для начала можно взглянуть на результаты VPN-дерби от самого автора Wireguard. Вот некоторые детали и результаты замера.

Протокол wireguard что это
Сравнение производительности различных VPN со стороны Jason A. Donenfeld-а

В обоих тестах — на пропускную способность и время отклика ping, Wireguard значительно превзошел OpenVPN, а заодно и две вариации IPSec-а. Кроме того, во время теста на пропускную способность с использованием OpenVPN и IPSec утилизация CPU достигала 100%. В то же время использование Wireguard так сильно не загружало центральный процессор, давая тем самым возможность полностью утилизировать ресурсы сетевой карты Gigabit Ethernet.

Естественно предположить, что автор Wireguard может быть предвзятым в составлении сценариев и трактовке результатов замера производительности технологий VPN. Следовательно, имеет смысл ознакомиться с другими тестами скорости разных VPN. Благо все, что для этого нужен VPS сервер, VPN и пакет iperf3.

Но и другие подобные тесты показывают превосходство Wireguard в тестах производительности.

Протокол wireguard что это
Сравнение производительности Wireguard и OpenVPN

Неожиданным фактом можно считать, что openvpn-tcp быстрее openvpn-udp, однако при ближайшем рассмотрении все становится на свои места. TCP-поток имеет меньше завершенных тестов, чем UDP. Во всяком случае и тут Wireguard показывает лучшие результаты производительности.

В той же серии тестов любопытно сравнение скорости VPN-соединения в зависимости от числа открытых сокетов. При росте их количества производительность Wireguard скачкообразно падает, хотя продолжает оставаться выше, чем openvpn-tcp и openvpn-udp.

Протокол wireguard что это
Сравнение производительности Wireguard и OpenVPN в зависимости от числа открытых сокетов. TestID 0-600 соответствует openvpn-udp, 700-1200 — openvpn-tcp и 1300-1800 — Wireguard

Выводы по скорости VPN-соединения

Синтетические тесты скорости от разных авторов, с использованием пакета iperf3, позволяют предположить, что Wireguard быстрее, чем OpenVPN.

Конфиденциальность данных

VPN-протоколы уделяют гораздо большее внимание безопасности соединения, нежели конфиденциальности. Однако возможность сохранения анонимности тоже имеет значение — кому охота писать объяснительные по факту закачки учебника Oracle, или эмулятора топологии Cisco? Ничто так хорошо не выдает факт правонарушения, как IP адрес пользователя.

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

Сама настройка защищенного соединения Wireguard довольно проста. Сперва установка.

Создаем открытый и закрытый ключи.

Далее, необходимо настроить файл /etc/wireguard/wg0.conf.

Второй участник подключения должен у себя настроить такой же файл, указав в нем свой закрытый ключ и открытый ключ участника A. Для установки соединения каждая из сторон выполняет wg-quick up interface_name.

Из этого видно, что при настройке Wireguard IP адрес, либо имя узла задаются в явном виде и будут видны в системных лог-файлах и таблицах SNMP до момента перезагрузки сервера.
OpenVPN лучше защищает конфиденциальность клиентских подключений, так как не требует до установки защищенного соединения прописывать IP адреса, или сетевое имя клиентских компьютеров.

Выводы по конфиденциальности данных

В этой номинации OpenVPN имеет определенное преимущество ввиду того, что лишь Wireguard предполагает хранение IP-адреса пользователей на VPN-сервере в течение длительного времени.

Итоги: какой же VPN выбрать?

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

То лучше используйте OpenVPN.

Ну а какой VPS брать под VPN вы и так знаете.

Источник

WireGuard — быстрый и безопасный VPN в ядре Linux

Протокол wireguard что это
Рис. 1. OpenVPN vs WireGuard, тест Ars Technica

WireGuard — свободный и открытый протокол виртуальных частных сетей, призванный заменить IPsec и OpenVPN. В январе 2020 года после полутора лет доработки кода всё-таки состоялось долгожданное событие — Линус Торвальдс принял VPN WireGuard в основную ветку Linux 5.6.

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

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

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

Старые VPN-программы «слишком огромны и сложны, и в принципе невозможно просмотреть и проверить, безопасны они или нет», — говорит Ян Йонссон (Jan Jonsson), генеральный директор VPN-провайдера Mullvad, на базе которого работает встроенный VPN-сервис в браузере Firefox.

Автор WireGuard — хакер и пентестер Джейсон Доненфилд (Jason A. Donenfeld). Ему удалось написать гораздо более простой и лаконичный код, чем в большинстве других программ для VPN. Первая версия WireGuard содержала менее 4000 строк кода — по сравнению с десятками тысяч строк в других программах VPN. Это не делает WireGuard более безопасным, но значительно облегчает поиск и устранение проблем. Ключевые механизмы протокола шифрования показаны рис. 2.

Протокол wireguard что это
Рис. 2: (а) протокол WireGuard; (b) криптографические вычисления; (с) механизм куки в WireGuard для защиты хоста от DoS-атак

Клиенты WireGuard уже выпущены для Android, iOS, MacOS, Linux и Windows. Компания Cloudflare запустила VPN-сервис Warp основан на протоколе WireGuard, и несколько коммерческих провайдеров VPN также позволяет пользователям использовать протокол WireGuard, в том числе TorGuard, IVPN, и Mullvad.

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

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

Автор программы Джейсон Доненфилд зарабатывал на жизнь взломом компьютерных систем (тесты на проникновение в рамках официального договора на консалтинговые услуги). Изначально он разработал WireGuard как инструмент эксфильтрации данных, чтобы скрытно снимать данные с компьютера жертвы.

В 2012 году Джейсон переехал во Францию и, как и многие пользователи VPN, хотел выходить в интернет с американского узла. Но он не доверял существующему программному обеспечению VPN. В конце концов он понял, что может использовать свой инструмент эксфильтрации для маршрутизации трафика через компьютер своих родителей в США: «Я понял, что многие приёмы взлома систем (offensive security) на самом деле полезны и для защиты», — сказал он в интервью журналу Wired.

Доненфельд изменил традиционный подход, который десятилетиями использовали VPN и криптографический софт. Например, другие VPN-системы позволяют пользователям выбирать один из нескольких алгоритмов шифрования. Но поддержка нескольких схем шифрования делает программное обеспечение более сложным и предоставляет больше возможностей для ошибок. WireGuard берёт на себя смелость принимать некоторые решения за пользователя. Это делает программу не такой гибкой, как IPsec и OpenVPN, но зато WireGuard на порядок проще, что, по мнению сторонников, снижает вероятность ошибок как со стороны разработчиков WireGuard, так и со стороны пользователей.

Простой аудит кода — не единственная причина, по которой WireGuard привлекла к себе столько внимания. Самое большое достоинство WireGuard заключается в том, что «им приятно пользоваться, — говорит Томаш Птачек (Thomas Ptacek), исследователь в области безопасности. — Его не сложнее настроить, чем любой из сетевых инструментов, которыми уже пользуются разработчики».

WireGuard находится в одном ряду с защищённым мессенджером Signal — они входят в широкое движение по созданию лучшего, более удобного программного обеспечения, основанного на современных криптографических методах.

В 2019 году специалисты из французского Института компьютерных исследований и автоматизации провели оценку криптографии WireGuard. Они получили автоматизированное криптографическое доказательство математических методов, лежащих в основе WireGuard, хотя в самом коде всё ещё могут быть проблемы безопасности. Сейчас его проверяют разработчики Linux, а Доненфельд исправил несколько проблем в преддверии выхода нового ядра Linux 5.6 и WireGuard 1.0.

Протокол wireguard что это
PKI-решения для малого и среднего бизнеса от удостоверяющего центра GlobalSign Подробности уточняйте у менеджеров +7 (499) 678 2210, sales-ru@globalsign.com.

Источник

WireGuard — прекрасный VPN будущего?

Протокол wireguard что это

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

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

Несколько лет назад канадский специалист по информационной безопасности Jason A. Donenfeld решил, что хватит это терпеть, и начал работу над WireGuard. Сейчас WireGuard готовится к включению в состав ядра Linux, он даже получил похвалы от Линуса Торвальдса и в американском сенате.

Заявленные преимущества WireGuard над другими VPN решениями:

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

Принципы работы

Принципы работы можно описать примерно так:

Вся основная логика WireGuard занимает менее 4 тысяч строк кода, тогда как OpenVPN и IPSec имеют сотни тысяч строк. Для поддержки современных криптоалгоритмов предлагается включить в состав ядра Linux новый криптографический API Zinc. В данный момент идет обсуждение, насколько это удачная идея.

Производительность

Максимальное преимущество в производительности (по сравнению с OpenVPN и IPSec) будет заметно на Linux системах, так как там WireGuard реализован в виде модуля ядра. Кроме этого поддерживаются macOS, Android, iOS, FreeBSD и OpenBSD, но в них WireGuard выполняется в userspace со всеми вытекающими последствиями для производительности. Поддержку Windows обещают добавить в ближайшем будущем.

Результаты бенчмарков с официального сайта:

Протокол wireguard что это

Мой опыт использования

Я не эксперт по настройке VPN. Однажды настраивал OpenVPN ручками и это было очень муторно, а IPSec даже и не пытался. Слишком много решений нужно принимать, очень легко выстрелить себе в ногу. Поэтому я всегда пользовался готовыми скриптами для настройки сервера.

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

Процесс установки детально описан на официальном сайте, отдельно хочется отметить отличную поддержку OpenWRT.

Генерируются ключи шифрования утилитой wg :

Далее, нужно создать серверный конфиг /etc/wireguard/wg0.conf со следующим содержанием:

и поднять туннель скриптом wg-quick :

На клиентской машине, создать конфиг /etc/wireguard/wg0.conf :

И точно так же поднять туннель:

Осталось настроить NAT на сервере, чтобы клиенты могли выходить в Интернет, и все готово!

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

Из недостатков стоит отметить, что WireGuard не заработает через HTTP proxy, поскольку в качестве транспорта есть только протокол UDP. Возникает вопрос, возможно ли будет обфусцировать протокол? Конечно, это не прямая задача VPN, но для OpenVPN, например, существуют способы маскировки под HTTPS, что помогает жителям тоталитарных стран полноценно пользоваться Интернетом.

Выводы

Подводя итог, это очень интересный и перспективный проект, можно уже сейчас использовать его на личных серверах. Какой профит? Высокая производительность на Linux системах, простота настройки и поддержки, компактная и читабельная кодовая база. Однако, бросаться переводить комплексную инфраструктуру на WireGuard еще рано, стоит подождать включение в состав ядра Linux.

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

Источник

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

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