Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

WireGuard - это протокол связи и бесплатное программное обеспечение с открытым исходным кодом, реализующее зашифрованные виртуальные частные сети (VPN), и был разработан с целью простоты использования, высокой производительности и низкой поверхности атаки . [4] Он нацелен на лучшую производительность и большую экономию энергии, чем протоколы туннелирования IPsec и OpenVPN . [5] Протокол WireGuard передает трафик через UDP . [6]

В марте 2020 года версия программного обеспечения для Linux достигла стабильного производственного выпуска и была включена в ядро ​​Linux 5.6 и перенесена на более ранние ядра Linux в некоторых дистрибутивах Linux . [3] Компоненты ядра Linux находятся под лицензией GNU General Public License (GPL) версии 2; другие реализации находятся под GPLv2 или другими бесплатными лицензиями / лицензиями с открытым исходным кодом. [4]

Протокол [ править ]

WireGuard использует следующее: [4]

  • Curve25519 для обмена ключами
  • ChaCha20 для симметричного шифрования
  • Poly1305 для кодов аутентификации сообщений
  • SipHash для ключей хеш- таблицы
  • BLAKE2s для криптографической хеш-функции
  • Только на основе UDP [6]

В мае 2019 года исследователи из INRIA опубликовали проверенное машиной доказательство WireGuard, созданное с помощью помощника доказательства CryptoVerif . [7]

Шифрование [ править ]

WireGuard использует ChaCha20 . [4]

Дополнительный режим симметричного ключа с предварительным общим доступом [ править ]

WireGuard поддерживает режим предварительного совместного использования симметричного ключа , который включен для смягчения любых будущих достижений в области квантовых вычислений. [4] В краткосрочной перспективе, если предварительно совместно используемый симметричный ключ скомпрометирован, ключи Curve25519 по-прежнему обеспечивают более чем достаточную защиту. [ необходима цитата ]

Сеть [ править ]

WireGuard только [ править ] использует UDP . [4]

WireGuard полностью поддерживает IPv6 как внутри, так и за пределами туннеля. Он поддерживает только уровень 3 для IPv4 и IPv6 и может инкапсулировать v4-in-v6 и наоборот. [8]

WireGuard поддерживает несколько топологий : [ необходима ссылка ]

  • Точка-точка
  • Звезда (сервер / клиент)
    • Конечная точка клиента не должна быть определена до того, как клиент начнет отправлять данные.
    • Конечные точки клиента могут быть предварительно определены статически.
  • Сетка

Поскольку поддерживается точка-точка , могут быть созданы другие топологии, но не в том же туннеле. [ необходима цитата ]

Расширяемость [ править ]

WireGuard предназначен для расширения сторонними программами и скриптами. Это было использовано для дополнения WireGuard различными функциями, включая более удобный интерфейс управления (включая более простую настройку ключей), ведение журнала, динамические обновления межсетевого экрана и интеграцию LDAP . [ необходима цитата ]

Исключение таких сложных функций из минимальной базовой кодовой базы повышает ее стабильность и безопасность. [ необходима цитата ]

Прием [ править ]

WireGuard стремится обеспечить простую и эффективную реализацию виртуальной частной сети. В обзоре Ars Technica за 2018 год было отмечено, что популярные технологии VPN, такие как OpenVPN и IPsec , часто сложны в настройке, легко отсоединяются (при отсутствии дальнейшей настройки), требуют значительного времени для согласования повторных подключений, могут использовать устаревшие шифры и имеют относительно большой объем кодовые базы содержат более 400 000 и 600 000 строк кода соответственно, что затрудняет отладку. [9]

Дизайн WireGuard направлен на уменьшение этих проблем, стремясь сделать туннель более безопасным и простым в управлении по умолчанию. Используя управление версиями пакетов криптографии, он фокусируется на шифрах, которые считаются одними из самых безопасных современных методов шифрования, и на момент обзора Ars Technica кодовая база составляла около 4000 строк кода ядра, около 1% OpenVPN или IPsec. , упрощая аудит безопасности . WireGuard похвалили Linux ядро создателя Линуса Торвальдса , который противопоставил его OpenVPN и IPsec как «произведение искусства». [10] Ars Technicaсообщил, что при тестировании стабильные туннели были легко созданы с помощью WireGuard, по сравнению с альтернативами, и прокомментировал, что было бы «трудно вернуться» к длительным задержкам повторного подключения по сравнению с мгновенным повторным подключением WireGuard «без излишеств». [9]

Сенатор от штата Орегон Рон Виден рекомендовал Национальному институту стандартов и технологий (NIST) оценить WireGuard как замену существующим технологиям, таким как IPsec и OpenVPN . [11]

Доступность [ править ]

Реализации [ править ]

Реализации протокола WireGuard включают:

  • Первоначальная реализация Доненфельда, написанная на C и Go. [12]
  • BoringTun от Cloudflare, реализация пользовательского пространства, написанная на Rust . [13] [14]
  • Реализация Мэтта Данвуди для OpenBSD, написанная на C. [15]
  • Реализация wg (4) Ryota Ozaki для NetBSD написана на C. [16]
  • Реализация FreeBSD написана на C и разделяет большую часть пути данных с реализацией OpenBSD. [17]
  • Проект OpenWrt : WireGuard
  • Oracle Linux с " Unbreakable Enterprise Kernel " Release 6 Update 1, с ноября 2020 г. [18]

Программы пользовательского пространства, поддерживающие WireGuard [ править ]

Программы пользовательского пространства, поддерживающие WireGuard, включают:

  • NetworkManager, начиная с версии 1.16 [19]
  • systemd начиная с версии 237 [20]
  • ConnMan от Intel, начиная с версии 1.38 [21]
  • Mozilla VPN [22]
  • Сеть NOIA [23]
  • NordVPN через Nordlynx [24]
  • Пакет pfSense [25] (удален со склада pfSense в марте 2021 г.) [26]
  • PiVPN с 17 октября 2019 г. [27]
  • VPN с частным доступом в Интернет с 10 апреля 2020 г. [28]
  • Surfshark с октября 2020 г. [29]
  • Mistborn (программное обеспечение) VPN с марта 2020 г. [30]
  • oVPN с февраля 2020 г. [31] развертывание в 2021 г. [32]
  • Torguard с 2020 года [33]
  • Trust.zone VPN с февраля 2021 г.
  • Veeam Powered Network v2, с мая 2019 г. [34]
  • VPN Безлимитный с ноября 2019 г. [35]
  • Vypr VPN с мая 2020 г. [36]
  • Windscribe в 2020 году [37]

История [ править ]

Первые снимки кодовой базы существуют с 30 июня 2016 года. [38] Четырьмя первыми пользователями WireGuard были поставщики услуг VPN Mullvad , [39] AzireVPN, [40] IVPN [41] и cryptostorm. [42] WireGuard получил пожертвования от Mullvad, Private Internet Access , IVPN , NLnet Foundation [43], а теперь и от OVPN. [44]

По состоянию на июнь 2018 года разработчики WireGuard рекомендуют рассматривать код и протокол как экспериментальные и предупреждают, что они еще не достигли стабильного выпуска, совместимого с отслеживанием CVE любых уязвимостей безопасности, которые могут быть обнаружены. [45] [46] [ требуется обновление ]

9 декабря 2019 года Дэвид Миллер, основной разработчик сетевого стека Linux, принял патчи WireGuard в дерево сопровождающих net-next для включения в грядущее ядро. [47] [48] [49]

28 января 2020 года Линус Торвальдс объединил дерево net-next Дэвида Миллера, и WireGuard вошел в основное дерево ядра Linux. [50]

20 марта 2020 года разработчики Debian включили параметры сборки модуля для WireGuard в конфигурации своего ядра для версии Debian 11 (тестирование). [51]

29 марта 2020 года WireGuard был включен в дерево выпусков Linux 5.6. Версия программного обеспечения для Windows остается на стадии бета-тестирования. [3]

30 марта 2020 года разработчики Android добавили встроенную поддержку ядра для WireGuard в свой общий образ ядра. [52]

22 апреля 2020 года разработчик NetworkManager Бениамино Гальвани объединил поддержку графического интерфейса для WireGuard. [53]

12 мая 2020 года Мэтт Данвуди предложил патчи для встроенной поддержки ядра WireGuard в OpenBSD . [54] 22 июня 2020 года, после работы Мэтта Данвуди и Джейсона А. Доненфельда, поддержка WireGuard была импортирована в OpenBSD. [55]

23 ноября 2020 года Джейсон А. Доненфельд выпустил обновление пакета Windows , улучшающее установку, стабильность, поддержку ARM и корпоративные функции. [56]

29 ноября 2020 года поддержка WireGuard была импортирована в ядро FreeBSD 13. [17]

19 января 2021 года поддержка WireGuard была добавлена ​​для предварительного просмотра в снимках состояния разработки pfSense Community Edition (CE) 2.5.0. [57]

В марте 2021 года поддержка WireGuard в режиме ядра была удалена из FreeBSD 13.0, которая все еще находится в стадии тестирования, после того, как срочную очистку кода в FreeBSD WireGuard не удалось завершить быстро. [58] Основанные на FreeBSD версии pfSense Community Edition (CE) 2.5.0 и pfSense Plus 21.02 также удалили основанный на ядре WireGuard. [26]

См. Также [ править ]

  • Сравнение услуг виртуальной частной сети
  • Secure Shell (SSH), криптографический сетевой протокол, используемый для защиты сервисов в незащищенной сети.

Заметки [ править ]

  1. ^ Не все платформы могут иметь текущую выпущенную версию, а некоторые могут находиться на стадии бета-тестирования. [ требуется обновление? ]

Ссылки [ править ]

  1. ^ https://git.zx2c4.com/wireguard-linux-compat/tag/?h=v1.0.20210219 ; получено: 18 марта 2021 г.
  2. ^ «Установка» . WireGuard . Проверено 23 апреля 2020 года .
  3. ^ a b c Солтер, Джим (30 марта 2020 г.). «WireGuard VPN делает это до версии 1.0.0 - и до следующего ядра Linux» . Архивировано 31 марта 2020 года . Проверено 23 апреля 2020 года .
  4. ^ a b c d e f «WireGuard: быстрый, современный, безопасный VPN-туннель» . WireGuard. Архивировано 28 апреля 2018 года . Проверено 31 марта 2021 года .
  5. ^ Пренил, Барт; Веркаутерен, Фредерик, ред. (11 июня 2018 г.). Прикладная криптография и сетевая безопасность . Springer. ISBN 978-3-319-93387-0. Архивировано 18 февраля 2019 года . Проверено 25 июня 2018 .
  6. ^ a b Доненфельд, Джейсон А. «Известные ограничения - WireGuard» . www.wireguard.com . Дата обращения 1 июня 2020 .
  7. ^ Липп, Бенджамин; Бланше, Бруно; Бхаргаван, Картикеян (2019), Механизированное криптографическое доказательство протокола виртуальной частной сети WireGuard , Отчет об исследовании RR-9269, Париж: Inria, стр. 49, хал-02100345
  8. ^ Доненфельд, Джейсон А. «Введение и мотивация» (PDF) . WireGuard: сетевой туннель ядра нового поколения (PDF) . Архивировано 4 марта 2018 года (PDF) .
  9. ^ a b Солтер, Джим (26 августа 2018 г.). «Обзор WireGuard VPN: новый тип VPN предлагает серьезные преимущества» . Ars Technica . Архивировано 20 сентября 2018 года.
  10. ^ "Linux-Kernel Archive: Re: [GIT] Networking" .
  11. ^ «Сенатор США рекомендует использовать WireGuard с открытым исходным кодом в NIST для правительственной VPN» . Фороникс . 30 июня 2018. Архивировано 5 августа 2018 года . Проверено 5 августа 2018 .
  12. ^ Donenfeld, Джейсон (7 июня 2019). «WireGuard: быстрый, современный, безопасный VPN-туннель» . Проверено 16 июня 2019 .
  13. Краснов, Влад (18 декабря 2018 г.). «BoringTun, реализация WireGuard в пользовательском пространстве на Rust» . Блог Cloudflare . Архивировано 4 апреля 2019 года . Проверено 29 марта 2019 .
  14. ^ "CloudFlare запускает" BoringTun "как написанную на Rust реализация WireGuard в пользовательском пространстве" . phoronix.com . Проверено 29 марта 2019 .
  15. Йоханссон, Янне (21 июня 2020 г.). «WireGuard импортирован в OpenBSD» .
  16. ^ "wg (4) - Страницы руководства NetBSD" . 20 августа 2020.
  17. ^ a b «Импорт поддержки ядра WireGuard» .
  18. ^ «Объявление Unbreakable Enterprise Kernel Release 6 Update 1 для Oracle Linux» . Блог Oracle Linux . 12 ноября 2020 . Проверено 12 ноября 2020 .
  19. Haller, Thomas (15 марта 2019 г.). «WireGuard в NetworkManager» . Блоги GNOME .
  20. ^ Поттеринг, Леннарт (28 января 2018). "[ОБЪЯВЛЕНИЕ] systemd v237" . systemd-devel (список рассылки).
  21. ^ Larabel, Майкл (18 февраля 2020). «Intel ConnMan 1.38 выпущен с поддержкой WireGuard» . Фороникс .
  22. ^ «Mozilla VPN: защитите все ваше устройство» .
  23. ^ Radziukas, Augustas (16 июля 2020). «Обновление разработки 07.02–07.16» . Средний . Проверено 25 июля 2020 .
  24. ^ «Что такое NordLynx? | Поддержка клиентов NordVPN» . support.nordvpn.com . Дата обращения 1 сентября 2020 .
  25. ^ "Ascrod / pfSense-pkg-wireguard" . github . 27 мая 2020 . Дата обращения 1 июня 2020 .
  26. ^ a b Томпсон, Джим (18 марта 2021 г.). «WireGuard удален из программного обеспечения pfSense® CE и pfSense® Plus» . Блог Netgate . Рубикон Коммуникации . Проверено 20 марта 2021 года .
  27. ^ "pivpn / pivpn" . GitHub . Проверено 30 мая 2020 .
  28. ^ «WireGuard® для PIA вышла из стадии бета-тестирования и доступна для использования в Windows, Mac, Linux, Android и iOS» . Проверено 26 августа 2020 .
  29. ^ «Быстрый и удобный протокол WireGuard теперь доступен на Surfshark» . Surfshark . 19 октября 2020 . Проверено 8 ноября 2020 .
  30. ^ «Mistborn объединяет важные интернет-сервисы в вашу домашнюю сеть и защищает их с помощью туннеля WireGuard VPN, Pi-hole, правил iptables и отдельных контейнеров» . Проверено 16 октября 2020 года .
  31. ^ "Что такое WireGuard?" . OVPN.com . Дата обращения 7 ноября 2020 .
  32. ^ "Новые обновления oVPN - WireGuard + OpenVPN 2.5 Скоро! - YouTube" . www.youtube.com . Дата обращения 7 ноября 2020 .
  33. ^ "Wireguard VPN | TorGuard" . torguard.net . Дата обращения 7 ноября 2020 .
  34. ^ «Почему мы выбрали WireGuard для Veeam PN v2» . Официальный блог Veeam Software . 15 мая 2019 . Дата обращения 2 декабря 2020 .
  35. ^ «Что такое протокол WireGuard VPN и как его использовать с VPN Unlimited» . Блог безлимитного VPN . 15 ноября 2019 . Дата обращения 7 ноября 2020 .
  36. ^ "Протокол VyprVPN WireGuard VPN здесь, чтобы защитить вас!" . AndroidPIMP . 14 мая 2020 . Проверено 8 ноября 2020 .
  37. S, Егор (21 июля 2020 г.). «Представляем WireGuard» . Средний . Проверено 8 ноября 2020 .
  38. ^ "Указатель / Монолитно-исторический /" .
  39. Мейсон, Джон (13 февраля 2019 г.). "Муллвад Ревью" . thebestwpn . 2. Сильные протоколы туннелирования - OpenVPN и WireGuard. Архивировано 24 июня 2019 года . Проверено 8 апреля 2019 .
  40. Мейсон, Джон (19 февраля 2019 г.). «Обзор AzireVPN» . thebestvpn . 2. Впечатляющие протоколы и шифрование. Архивировано 8 мая 2019 года . Проверено 8 апреля 2019 .
  41. ^ Pestell, Ник (11 декабря 2018). «Представляем Wireguard» . Проверено 22 сентября 2019 .
  42. ^ "Добавлена ​​поддержка WireGuard!" . блог cryptostorm . 5 апреля 2019 года. Архивировано 9 декабря 2019 года . Проверено 9 декабря 2019 .
  43. ^ «Пожертвования» . WireGuard. Архивировано 28 апреля 2018 года . Проверено 28 апреля 2018 .
  44. ^ "OVPN жертвует для поддержки WireGuard" . ОВПН . 23 марта 2020.
  45. ^ «О проекте» . WireGuard. Работа в процессе. Архивировано 25 июня 2018 года . Проверено 25 июня 2018 .
  46. ^ «Установка» . WireGuard. Архивировано из оригинального 26 июня 2018 года . Проверено 26 июня 2018 .
  47. ^ "e7096c131e5161fa3b8e52a650d7719d2857adfd - pub / scm / linux / kernel / git / davem / net-next - Git в Google" . kernel.googlesource.com .
  48. ^ «LKML: Дэвид Миллер: Re: [PATCH net-next v2] net: безопасный сетевой туннель WireGuard» . lkml.org .
  49. ^ "[ОБЪЯВЛЕНИЕ] WireGuard объединился с net-next, на пути к Linux 5.6" . 9 января 2020. Архивировано из оригинала 9 января 2020 года.
  50. ^ Торвальдс, Линус. "индекс: ядро ​​/ гит / торвальдс / linux.git" . Дерево исходных текстов ядра Linux . Kernel.org . Дата обращения 2 февраля 2020 .
  51. ^ "драйверы / сеть: Включить WIREGUARD как модуль" .
  52. ^ «ANDROID: GKI: включить CONFIG_WIREGUARD» .
  53. ^ "объединить ветку 'bg / wireguard' (d321d0df) · Коммит · GNOME / апплет сетевого менеджера" . gitlab.gnome.org . Проверено 30 мая 2020 .
  54. ^ «Опубликован WireGuard для исправлений ядра OpenBSD» .
  55. ^ "добавить wg (4), драйвер ядра для взаимодействия WireGuard vpn" .
  56. ^ «[ОБЪЯВЛЕНИЕ] WireGuard для Windows 0.3: поддержка ARM, корпоративные функции и многое другое» .
  57. ^ «WireGuard для программного обеспечения pfSense» .
  58. Андерсон, Тим (23 марта 2021 г.). «FreeBSD 13.0 будет поставляться без поддержки WireGuard, поскольку разработчик приступит к исправлению« серьезных проблем »при первоначальной реализации» . Реестр . Публикация ситуации . Проверено 31 марта 2021 года .

Внешние ссылки [ править ]

  • Официальный веб-сайт