Protector de alambre

protector de alambre
Tipo de red privada virtual
Autor Jason A. Donenfeld
Desarrollador Jason A. Donenfeld
Escrito en C ( Linux , módulos del kernel de FreeBSD , NetBSD , controladores del kernel de OpenBSD ),
Go ( implementación de la interfaz de usuario )
Sistema operativo Android
iOS
Linux
FreeBSD
NetBSD
OpenBSD
macOS
Windows 7+
y otros
ultima versión
Licencia software libre y de código abierto
Sitio web wireguard.com
 Archivos multimedia en Wikimedia Commons

WireGuard es un protocolo de comunicación y un software gratuito y de código abierto que implementa redes privadas virtuales (VPN) cifradas. Fue diseñado para tecnología VPN fácil, alto rendimiento y baja superficie de ataque [2] . WireGuard tiene como objetivo un mejor rendimiento y más potencia que IPsec y OpenVPN , otros dos protocolos de tunelización comunes [3] . El protocolo WireGuard transmite tráfico sobre el protocolo UDP [4] .

En marzo de 2020, la versión de Linux del software alcanzó un lanzamiento de producción estable y se incluyó en el kernel de Linux 5.6, y también se retroportó a kernels de Linux anteriores en algunas distribuciones de Linux [5] . Los componentes del kernel de Linux se distribuyen bajo la Licencia Pública General GNU versión 2 (GPLv2). Otras implementaciones también están bajo GPLv2 u otras licencias gratuitas y de código abierto [2] .

Protocolo

WireGuard utiliza [6] :

En mayo de 2019, los investigadores de INRIA publicaron una prueba verificada por máquina del protocolo WireGuard generado con el asistente de verificación CryptoVerif [8] .

Modo de clave simétrica compartida opcional

WireGuard admite un modo de clave precompartida que proporciona una capa adicional de cifrado simétrico para evitar vulnerabilidades a futuros avances en la computación cuántica. Esto elimina el riesgo de que el tráfico se almacene hasta que las computadoras cuánticas puedan descifrar Curve25519. Mientras esto sucede, el tráfico se puede descifrar. Las claves compartidas preestablecidas son "generalmente una molestia en términos de administración de claves y pueden ser 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 [9] .

Redes

WireGuard solo usa UDP [10] [6] , lo que significa que no funciona en redes que bloquean el tráfico UDP. Esto distingue a WireGuard de sus alternativas, como OpenVPN, debido a las muchas deficiencias del enrutamiento TCP sobre TCP [10] [11] .

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-in-v6 y viceversa [12] .

WireGuard admite varias topologías:

Dado que WireGuard admite redes punto a punto, se pueden realizar otras topologías, pero no en el mismo túnel.

Extensibilidad

WireGuard está diseñado para ser ampliado por programas y scripts de terceros. Las características avanzadas de WireGuard incluyen: mejores interfaces de administración (incluida una configuración de clave más sencilla), registro, actualizaciones dinámicas de firewall e integración LDAP .

La exclusión de funciones tan complejas de una base de código mínima aumenta su estabilidad y seguridad. Por seguridad, WireGuard limita las opciones de implementación para controles criptográficos, la elección de procesos de intercambio de claves y asigna algoritmos a un pequeño subconjunto de primitivas criptográficas modernas . Si se encuentra un error en cualquiera de las primitivas, se puede lanzar una nueva versión que solucione el problema. Además, los usuarios sin privilegios no pueden cambiar los ajustes de configuración que afectan la seguridad de toda la aplicación [13] .

Disponibilidad

Implementaciones

Las implementaciones del protocolo WireGuard incluyen:

Soporte Linux

Los programas de espacio de usuario que admiten WireGuard incluyen:

Historia

Los primeros fragmentos de código base existen desde el 30 de junio de 2016 [43] . Los cuatro primeros usuarios de WireGuard fueron los servicios VPN Mullvad [44] , AzireVPN [45] , IVPN [46] y cryptostorm [47] . WireGuard ha recibido donaciones de Mullvad, Private Internet Access, IVPN, NLnet Foundation [48] y OVPN [49] .

A partir de junio de 2018, los desarrolladores de WireGuard aconsejan considerar el código y el protocolo como experimentales y advierten que aún no han alcanzado una versión estable compatible con el seguimiento de CVE de las vulnerabilidades de seguridad que puedan encontrarse [50] [51] .

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

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 [55] .

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 de kernel para Debian versión 11 (prueba) [56] .

El 29 de marzo de 2020, WireGuard se incluyó en el árbol de versiones de Linux 5.6. La versión de Windows del software permanece en beta [5] .

El 30 de marzo de 2020, los desarrolladores de Android agregaron soporte nativo para el kernel WireGuard a su imagen de kernel compartida [57] .

El 22 de abril de 2020, el desarrollador de NetworkManager , Beniamino Galvani, consolidó la compatibilidad con GUI para WireGuard [58] .

El 12 de mayo de 2020, Matt Dunwoody propuso correcciones para la compatibilidad nativa con el kernel de WireGuard en OpenBSD [59] .

El 22 de junio de 2020, siguiendo el trabajo de Matt Dunwoody y Jason Donenfeld, el soporte de WireGuard se importó a OpenBSD [60] .

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

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

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

En marzo de 2021, la compatibilidad con el modo kernel para WireGuard se eliminó de FreeBSD 13.0, que aún estaba en pruebas, después de que no se pudiera completar rápidamente una limpieza de código de emergencia en FreeBSD WireGuard [63] . PfSense Community Edition (CE) 2.5.0 y pfSense Plus 21.02 basado en FreeBSD también eliminaron WireGuard basado en kernel [64] .

En mayo de 2021, se reintrodujo la compatibilidad con WireGuard en las instantáneas de desarrollo de pfSense CE y pfSense Plus como un paquete experimental escrito por Christian McDonald, miembro de la comunidad de pfSense. El paquete WireGuard para pfSense incluye el trabajo de desarrollo en modo kernel actual de Jason Donenfeld en WireGuard, que originalmente fue patrocinado por Netgate [65] [62] [66] .

En junio de 2021, los repositorios de paquetes oficiales para pfSense CE 2.5.2 y pfSense Plus 21.05 incluyeron el paquete WireGuard [67] .

Recepción

WireGuard tiene como objetivo proporcionar una implementación de red privada virtual simple y eficiente. Una revisión de 2018 realizada por Ars Technica encontró que las tecnologías VPN populares como OpenVPN e IPsec a menudo son difíciles de configurar, se desactivan fácilmente (sin configuración adicional), toman una cantidad significativa de tiempo para negociar reconexiones, pueden usar cifrados obsoletos y tienen relativamente grandes bases de código de más de 400 000 y 600 000 líneas de código, respectivamente, lo que dificulta la depuración [68] . El diseño de WireGuard tiene como objetivo reducir estos problemas para que el túnel sea más seguro y fácil de administrar de forma predeterminada. Al usar versiones de paquetes criptográficos, se enfoca en cifrados que se consideran entre los métodos de cifrado actuales más seguros y, en el momento de la revisión de Ars Technica, su base de código tiene alrededor de 4000 líneas de código central, que es aproximadamente el 1% de OpenVPN o IPsec. , simplificando así la auditoría de la seguridad de la información .

WireGuard ha sido elogiado por el creador del kernel de Linux, Linus Torvalds, quien afirmó que es "una obra de arte" en contraste con OpenVPN e IPsec [69] .

Ars Technica informó que en las pruebas, los túneles estables se crearon fácilmente con WireGuard en comparación con las alternativas, y señaló que después de usar WireGuard, sería "difícil volver" a los largos retrasos de reconexión en comparación con la reconexión instantánea de WireGuard [68] .

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

Notas

  1. https://git.zx2c4.com/wireguard-linux-compat/tag/?h=v1.0.20220627
  2. ↑ 1 2 Jason A. Donenfeld. WireGuard: túnel VPN rápido, moderno y seguro  . www.wireguard.com . Recuperado: 4 junio 2022.
  3. Bart Preneel, Frederik Vercauteren. Criptografía aplicada y seguridad de redes: 16.ª Conferencia internacional, ACNS 2018, Lovaina, Bélgica, 2 al 4 de julio de 2018, Actas . — Springer, 2018-06-11. — 715 pág. — ISBN 978-3-319-93387-0 .
  4. Jason A. Donenfeld. Limitaciones conocidas : WireGuard  . www.wireguard.com . Recuperado: 4 junio 2022.
  5. ↑ 1 2 Jim Salter.  WireGuard VPN llega a 1.0.0, ¿y al próximo kernel de Linux  ? . Ars Technica (30 de marzo de 2020). Recuperado: 4 junio 2022.
  6. ↑ 1 2 Jason A. Donenfeld. WireGuard: túnel VPN rápido, moderno y seguro  . protector de alambre Consultado el 14 de junio de 2022. Archivado desde el original el 28 de abril de 2018.
  7. Jason A. Donenfeld. Limitaciones conocidas : WireGuard  . protector de alambre Recuperado: 14 junio 2022.
  8. Benjamin Lipp, Bruno Blanchet, Karthikeyan Bhargavan. Una prueba criptográfica mecanizada del protocolo de red privada virtual WireGuard  . — Inria París, 2019-04.
  9. Jason Donenfield. WireGuard: Túnel de red kernel de próxima generación . wireguard.com (2 de mayo de 2021).
  10. ↑ 1 2 Jason A. Donenfeld. Limitaciones conocidas : WireGuard  . www.wireguard.com . Recuperado: 14 junio 2022.
  11. Por qué TCP sobre TCP es una mala idea . sitios.inka.de . Recuperado: 14 junio 2022.
  12. Jason A. Donenfeld. WireGuard: Túnel de red kernel de próxima generación . wireguard.com (4 de marzo de 2018). Archivado desde el original el 25 de junio de 2018.
  13. Protocolo VPN de Wireguard - Cuartel general de privacidad . privacidadhq.com . Recuperado: 14 junio 2022.
  14. Jason A. Donenfeld. WireGuard: túnel VPN rápido, moderno y seguro  . www.wireguard.com . Recuperado: 14 junio 2022.
  15. BoringTun , una implementación de WireGuard en el espacio de usuario en Rust  . El blog de Cloudflare (27 de marzo de 2019). Recuperado: 14 junio 2022.
  16. ↑ CloudFlare lanza "BoringTun" como una implementación de espacio de usuario de WireGuard escrita en óxido  . www.phoronix.com . Recuperado: 14 junio 2022.
  17. WireGuard importado a OpenBSD . undeadly.org . Recuperado: 14 junio 2022.
  18. wg(4) - Páginas del manual de NetBSD . man.netbsd.org . Recuperado: 14 junio 2022.
  19. ↑ 1 2 Compatibilidad con WireGuard del kernel de importación . svnweb.freebsd.org . Recuperado: 14 junio 2022.
  20. Jason A. Donenfeld. WireGuardNT, una implementación de WireGuard de alto rendimiento para el kernel de Windows (lunes 2 de agosto a las 17:27:37 UTC de 2021). Recuperado: 14 junio 2022.
  21. Documentación de Search-OPNsense . docs.opnsense.org . Recuperado: 14 junio 2022.
  22. WireGuard en NetworkManager -  ¿ Blog de Thomas Haller  ? . Recuperado: 14 junio 2022.
  23. Lennart Poettering. systemd v237 (dom 28 de enero 16:08:51 UTC 2018). Recuperado: 14 junio 2022.
  24. ↑ Intel ConnMan 1.38 lanzado con compatibilidad con WireGuard  . www.phoronix.com . Recuperado: 14 junio 2022.
  25. Mozilla VPN: Proteja todo su dispositivo . mozilla _ Recuperado: 14 junio 2022.
  26. Augustas Radziukas. Actualización de desarrollo 07.02–07.16  (inglés) . Medio (22 de enero de 2021). Recuperado: 14 junio 2022.
  27. ¿Qué es NordLynx? | Soporte NordVPN . support.nordvpn.com _ Recuperado: 14 junio 2022.
  28. Por qué elegimos WireGuard® para Veeam PN  v2 . Blog oficial de Veeam Software (15 de mayo de 2019). Recuperado: 14 junio 2022.
  29. pivpn/  pivpn . GitHub . Recuperado: 14 junio 2022.
  30. ¿Qué es el protocolo VPN WireGuard y cómo usarlo con VPN Unlimited ? www.vpnunlimited.com _ Recuperado: 14 junio 2022.
  31. WireGuard® en PIA ya no es beta y está disponible para usar en Windows, Mac, Linux, Android e   iOS . . Blog VPN de PIA (10 de abril de 2020). Recuperado: 14 junio 2022.
  32. GitHub - event/hide.client.linux: cliente VPN CLI de Hide.me para  Linux . GitHub . Recuperado: 14 junio 2022.
  33. ¿El protocolo WireGuard, rápido y ordenado, ahora está disponible en  Surfshark  ? . Surfshark (19 de octubre de 2020). Recuperado: 14 junio 2022.
  34. Fernando Thommes.  Protección de fuente única » Revista  Linux . Revista Linux . Recuperado: 14 junio 2022.
  35. Anuncio de Unbreakable Enterprise Kernel Release 6 Update 1 para Oracle Linux . Blog de Oracle Linux (12 de noviembre de 2020).
  36. ¿Qué es WireGuard?  (Inglés) . OVPN.com . Recuperado: 14 junio 2022.
  37. Nuevas actualizaciones de oVPN - WireGuard + OpenVPN 2.5 ¡Próximamente!  (ruso)  ? . youtube _ Recuperado: 14 junio 2022.
  38. VPN con protección contra cables | Torguard . torguard.net . Recuperado: 14 junio 2022.
  39. ¡El protocolo VyprVPN WireGuard VPN está aquí para protegerlo!  (Inglés)  ? . www.androidpimp.com (14 de mayo de 2020). Recuperado: 14 junio 2022.
  40. Presentación de WireGuard  . Windscribbles (16 de julio de 2020). Recuperado: 14 junio 2022.
  41. Trust.Zone comienza a admitir el protocolo WireGuard: Trust.Zone . zona.de.confianza . Recuperado: 14 junio 2022.
  42. ProtonVPN adopta el protocolo WireGuard  . PCMAG . Recuperado: 14 junio 2022.
  43. Índice de /monolítico-histórico/ . descargar.wireguard.com . Recuperado: 14 junio 2022.
  44. Rob Mardisalu. Revisión Mullwad . thebestvpn.com (28 de mayo de 2019). Archivado desde el original el 24 de junio de 2019.
  45. John Masón. Reseña de AzireVPN . thebestvpn.com . Archivado desde el original el 8 de mayo de 2019.
  46. Presentamos WireGuard, completamente automatizado.  (Inglés)  ? . www.ivpn.net (11 de diciembre de 2018). Recuperado: 14 junio 2022.
  47. ¡Se agregó compatibilidad con WireGuard! | Blog de criptotormentas . criptotormenta.es . Recuperado: 14 junio 2022.
  48. Jason A. Donenfeld. Donaciones - WireGuard  . wireguard.com . Consultado el 14 de junio de 2022. Archivado desde el original el 28 de abril de 2018.
  49. OVPN realiza una donación para apoyar a WireGuard®  . OVPN.com . Recuperado: 14 junio 2022.
  50. Jason A. Donenfeld. WireGuard: túnel VPN rápido, moderno y seguro  . www.wireguard.com . Consultado el 14 de junio de 2022. Archivado desde el original el 25 de junio de 2018.
  51. Instalación: WireGuard . web.archive.org . Consultado el 14 de junio de 2022. Archivado desde el original el 26 de junio de 2018.
  52. e7096c131e5161fa3b8e52a650d7719d2857adfd - pub/scm/linux/kernel/git/davem/net-next - Git en Google . kernel.googlesource.com . Recuperado: 14 junio 2022.
  53. LKML: David Miller: Re: PATCH net-next v2 net: Túnel de red segura WireGuard . lkml.org . Recuperado: 14 junio 2022.
  54. ANUNCIO WireGuard fusionado con net-next, en camino a Linux 5.6 . web.archive.org . Consultado el 14 de junio de 2022. Archivado desde el original el 9 de enero de 2020.
  55. Linus Torvalds. índice: kernel/git/torvalds/linux.git . Árbol de fuentes del kernel de Linux .
  56. drivers/net: Activar WIREGUARD como módulo (9d60411c) Confirma el equipo del kernel de Debian/linux  GitLab . gitlab . Recuperado: 14 junio 2022.
  57. Diferencia - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/común - Git en Google . android.googlesource.com _ Recuperado: 14 junio 2022.
  58. ↑ editor: merge branch 'bg/ wireguard ' (d321d0df) Confirma GNOME / network-manager-applet  . gitlab . Recuperado: 14 junio 2022.
  59. Jason A. Donenfeld. WireGuard para los parches del kernel de OpenBSD publicados (martes 12 de mayo a las 08:32:46 CEST de 2020). Recuperado: 14 junio 2022.
  60. 'CVS: cvs.openbsd.org: src' - MARC . marc.info . Recuperado: 14 junio 2022.
  61. Jason A. Donenfeld. ANUNCIO WireGuard para Windows 0.3: compatibilidad con ARM, características empresariales y más (lunes, 23 de noviembre a las 15:24:57 CET de 2020). Recuperado: 14 junio 2022.
  62. 1 2 ¿  Software WireGuard para pfSense  ? . www.netgate.com . Recuperado: 14 junio 2022.
  63. Tim Anderson. FreeBSD 13.0 se distribuirá sin compatibilidad con WireGuard a medida que el desarrollador interviene para solucionar "problemas graves" con la  implementación inicial . www.theregister.com . Recuperado: 14 junio 2022.
  64. ¿WireGuard eliminado del software pfSense® CE y pfSense®   Plus ? . www.netgate.com . Recuperado: 14 junio 2022.
  65. ↑ pfSense  : ¿Regresa WireGuard como paquete experimental  ? . www.netgate.com . Recuperado: 14 junio 2022.
  66. wireguard-freebsd - Implementación de WireGuard para el kernel de FreeBSD . git.zx2c4.com . Recuperado: 14 junio 2022.
  67. ↑ pfSense Plus 21.05-  LANZAMIENTO ¿Ya disponible  ? . www.netgate.com . Recuperado: 14 junio 2022.
  68. ↑ 1 2 Jim Salter. Revisión de WireGuard VPN: ¿Un nuevo tipo de VPN ofrece serias   ventajas ? . Ars Technica (26 de agosto de 2018). Recuperado: 14 junio 2022.
  69. ↑ Las VPN cambiarán para siempre con la llegada de WireGuard a Linux  . ZDNet . Recuperado: 14 junio 2022.
  70. El senador de EE. UU. recomienda WireGuard de código abierto a NIST para VPN del gobierno  . www.phoronix.com . Recuperado: 14 junio 2022.