stringtranslate.com

AlambreGuardia

WireGuard es un protocolo de comunicación y un software gratuito y de código abierto que implementa redes privadas virtuales (VPN) cifradas. [5] Su objetivo es ser más liviano y de mejor rendimiento que IPsec y OpenVPN , dos protocolos de tunelización comunes . [6] El protocolo WireGuard pasa el tráfico a través de UDP . [7]

En marzo de 2020, la versión de Linux del software alcanzó una versión de producción estable y se incorporó al kernel de Linux 5.6 y se adaptó a kernels de Linux anteriores en algunas distribuciones de Linux . [4] Los componentes del kernel de Linux tienen la licencia GNU General Public License (GPL) versión 2; otras implementaciones están bajo GPLv2 u otras licencias gratuitas/de código abierto. [5]

El nombre WireGuard es una marca registrada de Jason A. Donenfeld. [5]

Protocolo

WireGuard utiliza lo siguiente: [8]

En mayo de 2019, investigadores de INRIA publicaron una prueba verificada por máquina del protocolo WireGuard, producida utilizando el asistente de prueba CryptoVerif . [9]

Modo de clave simétrica precompartida opcional

WireGuard admite el modo de clave simétrica previamente compartida , que proporciona una capa adicional de cifrado simétrico para mitigar los avances futuros en la computación cuántica. Esto aborda el riesgo de que el tráfico pueda almacenarse hasta que las computadoras cuánticas sean capaces de romper Curve25519 , momento en el que el tráfico podría descifrarse. Las claves precompartidas "normalmente son problemáticas desde la perspectiva de la gestión de claves y es más probable que sean robadas", pero a corto plazo, si la clave simétrica se ve comprometida, las claves Curve25519 aún brindan protección más que suficiente. [10]

Redes

WireGuard usa solo [11] UDP , [5] debido a las posibles desventajas de TCP sobre TCP. [11] [12] [13] La creación de un túnel TCP a través de una conexión basada en TCP se conoce como "TCP-over-TCP", y hacerlo puede inducir una pérdida dramática en el rendimiento de la transmisión (un problema conocido como "fusión de TCP"). La fusión de TCP ocurre cuando una conexión TCP se apila encima de otra. La capa subyacente puede detectar un problema e intentar compensarlo, y la capa superior sobrecompensa debido a eso, y esta sobrecompensación causa dichos retrasos y un rendimiento de transmisión degradado.

Su puerto de servidor predeterminado es UDP 51820.

WireGuard es totalmente compatible con IPv6, tanto dentro como fuera del túnel. Solo admite la capa 3 para IPv4 e IPv6 y puede encapsular v4 en v6 y viceversa. [14]

Gastos generales de MTU

Los gastos generales de WireGuard se desglosan de la siguiente manera: [15]

Consideraciones operativas de MTU

Suponiendo que la red subyacente que transporta los paquetes WireGuard mantiene una MTU de 1500 bytes, configurar la interfaz WireGuard en una MTU de 1420 bytes para todos los pares involucrados es ideal para transportar tráfico IPv6 + IPv4. Sin embargo, cuando se transporta exclusivamente tráfico IPv4 heredado, una MTU superior de 1440 bytes para la interfaz WireGuard es suficiente. [15]

Desde una perspectiva operativa y para la uniformidad de la configuración de la red, sería ventajoso elegir configurar una red de 1420 MTU para las interfaces WireGuard. Este enfoque garantiza la coherencia y facilita una transición más fluida para habilitar IPv6 para los pares e interfaces de WireGuard en el futuro.

Advertencia

Puede haber situaciones en las que, por ejemplo, un par está detrás de una red con 1500 bytes de MTU y un segundo par está detrás de una red inalámbrica como una red LTE , donde muchas veces el operador optó por usar una MTU que es mucho menor. de 1420 bytes: en tales casos, la pila de red IP subyacente del host fragmentará el paquete encapsulado UDP y enviará los paquetes; sin embargo, los paquetes dentro del túnel permanecerán consistentes y no será necesario fragmentarlos ya que PMTUD detectará la MTU. entre los pares (en este ejemplo, eso sería 1420 bytes) y envía un tamaño de paquete fijo entre los pares.

Extensibilidad

WireGuard está diseñado para ser ampliado por programas y scripts de terceros. Esto se ha utilizado para aumentar WireGuard con varias características que incluyen interfaces de administración más fáciles de usar (incluida una configuración más sencilla de claves), registro, actualizaciones dinámicas de firewall, asignación dinámica de IP [16] e integración LDAP . [ cita necesaria ]

Excluir características tan complejas del código base mínimo mejora su estabilidad y seguridad. Para garantizar la seguridad, WireGuard restringe las opciones para implementar controles criptográficos, limita las opciones para los procesos de intercambio de claves y asigna algoritmos [8] a un pequeño subconjunto de primitivas criptográficas modernas . Si se encuentra una falla en cualquiera de las primitivas, se puede lanzar una nueva versión que resuelva el problema.

Recepción

Una revisión realizada por Ars Technica encontró que WireGuard era fácil de configurar y usar, usaba cifrados potentes y tenía una base de código mínima que proporcionaba una pequeña superficie de ataque. [17]

WireGuard ha recibido financiación del Open Technology Fund . [18] y donaciones de Mullvad , Private Internet Access , IVPN , la Fundación NLnet [19] y OVPN. [20]

El senador de Oregón , Ron Wyden, recomendó al Instituto Nacional de Estándares y Tecnología (NIST) que evalúen WireGuard como reemplazo de las tecnologías existentes. [21]

Disponibilidad

Implementaciones

Las implementaciones del protocolo WireGuard incluyen:

Historia

Las primeras instantáneas de la base del código existen desde el 30 de junio de 2016. [30] Los cuatro primeros en adoptar WireGuard fueron los proveedores de servicios VPN Mullvad , [31] AzireVPN, [32] IVPN [33] y cryptostorm. [34]

El 9 de diciembre de 2019, David Miller, mantenedor principal de la pila de redes de Linux, aceptó los parches WireGuard en el árbol de mantenedores "net-next", para incluirlos en un próximo kernel. [35] [36] [37]

El 28 de enero de 2020, Linus Torvalds fusionó el árbol net-next de David Miller y WireGuard ingresó al árbol principal del kernel de Linux. [38]

El 20 de marzo de 2020, los desarrolladores de Debian habilitaron las opciones de compilación del módulo para WireGuard en su configuración del kernel para la versión Debian 11 (prueba). [39]

El 29 de marzo de 2020, WireGuard se incorporó al árbol de versiones de Linux 5.6. La versión para Windows del software permanece en fase beta. [4]

El 30 de marzo de 2020, los desarrolladores de Android agregaron soporte de kernel nativo para WireGuard en su imagen de kernel genérica. [40]

El 22 de abril de 2020, el desarrollador de NetworkManager , Beniamino Galvani, fusionó la compatibilidad con GUI para WireGuard en GNOME . [41]

El 12 de mayo de 2020, Matt Dunwoodie propuso parches para el soporte nativo del kernel de WireGuard en OpenBSD . [42]

El 22 de junio de 2020, tras el trabajo de Matt Dunwoodie y Jason A. Donenfeld, se importó el soporte WireGuard a OpenBSD. [43]

El 23 de noviembre de 2020, Jason A. Donenfeld lanzó una actualización del paquete de Windows que mejora la instalación, la estabilidad, la compatibilidad con ARM y las funciones empresariales . [44]

El 29 de noviembre de 2020, se importó la compatibilidad con WireGuard al kernel FreeBSD 13. [27]

El 19 de enero de 2021, se agregó compatibilidad con WireGuard para obtener una vista previa en las instantáneas de desarrollo de pfSense Community Edition (CE) 2.5.0. [45]

En marzo de 2021, la compatibilidad con WireGuard en modo kernel se eliminó de FreeBSD 13.0, aún en prueba, después de que una limpieza urgente de código en FreeBSD WireGuard no se pudo completar rápidamente. [46] pfSense Community Edition (CE) 2.5.0 basado en FreeBSD y pfSense Plus 21.02 también eliminaron WireGuard basado en kernel. [47]

En mayo de 2021, la compatibilidad con WireGuard se reintrodujo en las instantáneas de desarrollo de pfSense CE y pfSense Plus como un paquete experimental escrito por un miembro de la comunidad de pfSense, Christian McDonald. El paquete WireGuard para pfSense incorpora el trabajo de desarrollo en curso de WireGuard en modo kernel realizado por Jason A. Donenfeld que fue patrocinado originalmente por Netgate. [48] ​​[49] [50]

En junio de 2021, los repositorios de paquetes oficiales para pfSense CE 2.5.2 y pfSense Plus 21.05 incluían el paquete WireGuard. [51]

En 2023, WireGuard recibió más de 200.000 euros de apoyo del Fondo Soberano de Tecnología de Alemania . [52]

Ver también

Notas

  1. ^ Es posible que no todas las plataformas tengan una versión publicada actualmente y algunas pueden estar en versión beta. [ ¿necesita actualización? ]

Referencias

  1. ^ Grauer, Yael (16 de enero de 2021). "Cómo el impulso de un hacker para proteger Internet se convirtió en una parte crucial de los sistemas operativos Mac, Linux y Windows". Business Insider . Consultado el 25 de noviembre de 2022 .
  2. ^ https://git.zx2c4.com/wireguard-linux-compat/tag/?h=v1.0.20220627 . Consultado el 4 de noviembre de 2022 . {{cite web}}: Falta o está vacío |title=( ayuda )
  3. ^ "Instalación". AlambreGuardia . Consultado el 23 de abril de 2020 .
  4. ^ abc Salter, Jim (30 de marzo de 2020). "WireGuard VPN llega a la versión 1.0.0 y al siguiente kernel de Linux". Archivado desde el original el 31 de marzo de 2020 . Consultado el 23 de abril de 2020 .
  5. ^ abcd "WireGuard: túnel VPN rápido, moderno y seguro". AlambreGuardia. Archivado desde el original el 28 de abril de 2018 . Consultado el 31 de marzo de 2021 .
  6. ^ Preneel, Bart; Vercauteren, Frederik, eds. (11 de junio de 2018). Criptografía Aplicada y Seguridad de Redes. Saltador. ISBN 978-3-319-93387-0. Archivado desde el original el 18 de febrero de 2019 . Consultado el 25 de junio de 2018 .
  7. ^ ab Donenfeld, Jason A. "Limitaciones conocidas: WireGuard". www.wireguard.com . Consultado el 1 de junio de 2020 .
  8. ^ ab Donenfeld, Jason A. "Protocolo y criptografía: WireGuard". www.wireguard.com . Consultado el 14 de mayo de 2023 .
  9. ^ Lipp, Benjamín; Blanchet, Bruno; Bhargavan, Karthikeyan (2019), Una prueba criptográfica mecanizada del protocolo de red privada virtual WireGuard (informe), Informe de investigación RR-9269, París: Inria, p. 49, hal-02100345
  10. ^ Donenfeld, Jason (2 de mayo de 2021). "WireGuard: Túnel de red kernel de próxima generación" (PDF) . Wireguard.com .
  11. ^ ab Donenfeld, Jason A. "Limitaciones conocidas: WireGuard". www.wireguard.com . Consultado el 2 de mayo de 2021 .
  12. ^ Titz, Olaf (23 de abril de 2001). "Por qué TCP sobre TCP es una mala idea" . Consultado el 17 de octubre de 2015 .
  13. ^ Honda, Osamu; Ohsaki, Hiroyuki; Imase, Makoto; Ishizuka, Mika; Murayama, Junichi (octubre de 2005). "Comprensión de TCP sobre TCP: efectos de la tunelización TCP en el rendimiento y la latencia de un extremo a otro". En Atiquzzaman, Mahoma; Balandin, Sergey I (eds.). Rendimiento, calidad de servicio y control de redes de sensores y comunicaciones de próxima generación III . vol. 6011. Código bibliográfico : 2005SPIE.6011..138H. CiteSeerX 10.1.1.78.5815 . doi : 10.1117/12.630496. S2CID  8945952. 
  14. ^ Donenfeld, Jason A. "Introducción y motivación" (PDF) . WireGuard: Túnel de red kernel de próxima generación (PDF) . Archivado (PDF) desde el original el 4 de marzo de 2018.
  15. ^ ab Donenfeld, Jason A. (11 de diciembre de 2017). "[WireGuard] Tamaños de encabezado/MTU para Wireguard" . Consultado el 13 de enero de 2024 .
  16. ^ Herramienta de configuración dinámica de IP Wireguard, WireGuard, 14 de mayo de 2023 , consultado el 14 de mayo de 2023
  17. ^ Salter, Jim (26 de agosto de 2018). "Revisión de WireGuard VPN: un nuevo tipo de VPN ofrece importantes ventajas". Ars Técnica . Archivado desde el original el 20 de septiembre de 2018.
  18. ^ "Creación de un protocolo VPN WireGuard más seguro, accesible y resistente". www.opentech.fund . Consultado el 20 de junio de 2022 .
  19. ^ "Donaciones". AlambreGuardia. Archivado desde el original el 28 de abril de 2018 . Consultado el 28 de abril de 2018 .
  20. ^ "OVPN dona para apoyar a WireGuard". OVPN . 23 de marzo de 2020.
  21. ^ "El senador estadounidense recomienda WireGuard de código abierto al NIST para VPN gubernamental". Forónix . 30 de junio de 2018. Archivado desde el original el 5 de agosto de 2018 . Consultado el 5 de agosto de 2018 .
  22. ^ Donenfeld, Jason (7 de junio de 2019). "WireGuard: túnel VPN rápido, moderno y seguro" . Consultado el 16 de junio de 2019 .
  23. ^ Krasnov, Vlad (18 de diciembre de 2018). "BoringTun, una implementación de WireGuard en el espacio de usuario en Rust". Blog de Cloudflare . Archivado desde el original el 4 de abril de 2019 . Consultado el 29 de marzo de 2019 .
  24. ^ "CloudFlare lanza" BoringTun "como implementación de espacio de usuario WireGuard escrita en Rust". phoronix.com . Consultado el 29 de marzo de 2019 .
  25. ^ Johansson, Janne (21 de junio de 2020). "WireGuard importado a OpenBSD".
  26. ^ "wg(4) - Páginas del manual de NetBSD". 20 de agosto de 2020.
  27. ^ ab "Importar soporte WireGuard del kernel".
  28. ^ "WireGuardNT, una implementación WireGuard de alto rendimiento para el kernel de Windows". 2 de agosto de 2021.
  29. ^ "WireGuard: VPN nunca ha sido tan fácil".
  30. ^ "Índice de /Monolítico-histórico/".
  31. ^ Mason, John (13 de febrero de 2019). "Revisión de Mullvad". el mejor wpn . 2. Protocolos de túnel sólidos: OpenVPN y WireGuard. Archivado desde el original el 24 de junio de 2019 . Consultado el 8 de abril de 2019 .
  32. ^ Mason, John (19 de febrero de 2019). "Revisión de AzireVPN". el mejor vpn . 2. Protocolos y cifrado impresionantes. Archivado desde el original el 8 de mayo de 2019 . Consultado el 8 de abril de 2019 .
  33. ^ Pestell, Nick (11 de diciembre de 2018). "Presentamos Wireguard" . Consultado el 22 de septiembre de 2019 .
  34. ^ "¡Se agregó soporte para WireGuard!". Blog de criptotormenta . 5 de abril de 2019. Archivado desde el original el 9 de diciembre de 2019 . Consultado el 9 de diciembre de 2019 .
  35. ^ "e7096c131e5161fa3b8e52a650d7719d2857adfd - pub/scm/linux/kernel/git/davem/net-next - Git en Google". kernel.googlesource.com .
  36. ^ "LKML: David Miller: Re: [PATCH net-next v2] net: túnel de red seguro WireGuard". lkml.org .
  37. ^ "[ANUNCIO] WireGuard se fusionó con net-next, en camino a Linux 5.6". 9 de enero de 2020. Archivado desde el original el 9 de enero de 2020.
  38. ^ Torvalds, Linus. "índice: kernel/git/torvalds/linux.git". Árbol de fuentes del kernel de Linux . Kernel.org . Consultado el 2 de febrero de 2020 .
  39. ^ "drivers/net: habilite WIREGUARD como módulo". 21 de marzo de 2020.
  40. ^ "ANDROID: GKI: habilitar CONFIG_WIREGUARD".
  41. ^ "fusionar rama 'bg/wireguard' (d321d0df) · Confirmaciones · GNOME / network-manager-applet". gitlab.gnome.org . 22 de abril de 2020 . Consultado el 30 de mayo de 2020 .
  42. ^ "Publicados los parches del kernel de WireGuard para OpenBSD". 12 de mayo de 2020.
  43. ^ "agregue wg(4), un controlador del kernel para la comunicación VPN WireGuard".
  44. ^ "[ANUNCIO] WireGuard para Windows 0.3: compatibilidad con ARM, funciones empresariales y más". 23 de noviembre de 2020.
  45. ^ "WireGuard para el software pfSense".
  46. ^ Anderson, Tim (23 de marzo de 2021). "FreeBSD 13.0 se enviará sin soporte WireGuard a medida que el desarrollador interviene para solucionar 'problemas graves' con la implementación inicial". El registro . Publicación de situación . Consultado el 31 de marzo de 2021 .
  47. ^ Thompson, Jim (18 de marzo de 2021). "WireGuard eliminado del software pfSense® CE y pfSense® Plus". Blog de Netgate . Comunicaciones Rubicón . Consultado el 20 de marzo de 2021 .
  48. ^ Largo, Scott (5 de mayo de 2021). "pfSense: WireGuard regresa como un paquete experimental". Netgate: las redes seguras comienzan aquí . Consultado el 9 de junio de 2021 .
  49. ^ Paxson, Audian (19 de enero de 2021). "WireGuard para el software pfSense". Netgate: las redes seguras comienzan aquí . Consultado el 9 de junio de 2021 .
  50. ^ "wireguard-freebsd: implementación de WireGuard para el kernel de FreeBSD". git.zx2c4.com . Consultado el 9 de junio de 2021 .
  51. ^ Pingle, Jim (2 de junio de 2021). "pfSense Plus 21.05-LANZAMIENTO ya disponible". Netgate: las redes seguras comienzan aquí . Consultado el 9 de junio de 2021 .
  52. ^ "Guardia de alambre". Fondo Soberano Tecnológico . Consultado el 26 de mayo de 2024 .