Desarrolladores del proyecto NetBSD la inclusión en el núcleo principal de NetBSD del controlador wg con la implementación del protocolo WireGuard. NetBSD se convirtió en el tercer sistema operativo después de Linux y OpenBSD en contar con soporte integrado para WireGuard. También se proponen comandos auxiliares para la configuración de VPN: wg-keygen y wgconfig. En la configuración del núcleo por defecto (GENERIC), el controlador aún no está activado y requiere una indicación explícita en la configuración de "pseudo-device wg".
También se puede destacar una actualización correctiva del paquete wireguard-tools 1.0.20200820, que incluye utilidades que funcionan en el espacio de usuario, como wg y wg-quick. En esta nueva versión, se preparó el IPC para el próximo soporte de WireGuard en el sistema operativo FreeBSD. Se llevó a cabo la separación en diferentes archivos de código específico para distintas plataformas. Se añadió soporte para el comando "reload" en el archivo unit para systemd, lo que permite ejecutar comandos como "systemctl reload wg-quick at wgnet0".
Recordemos que la VPN WireGuard se basa en métodos de cifrado modernos, ofrece un rendimiento muy alto, es fácil de usar, carece de complicaciones y ha demostrado ser eficaz en una serie de grandes implementaciones que manejan grandes volúmenes de tráfico. El proyecto ha estado en desarrollo desde 2015, ha pasado una auditoría y de los métodos de cifrado aplicados. El soporte para WireGuard ya está integrado en NetworkManager y systemd, y los parches para el núcleo están incluidos en la base de las distribuciones , Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, y .
En WireGuard se aplica el concepto de enrutamiento por claves de cifrado, que implica la vinculación de una clave privada a cada interfaz de red y la aplicación para la unión de claves públicas. El intercambio de claves públicas para establecer una conexión se realiza de manera similar a SSH. Para el acuerdo de claves y la conexión sin iniciar un daemon separado en el espacio de usuario, se utiliza el mecanismo Noise_IK del , similar al mantenimiento de authorized_keys en SSH. La transmisión de datos se lleva a cabo a través de la encapsulación en paquetes UDP. Se admite el cambio de dirección IP del servidor VPN (roaming) sin interrumpir la conexión con una reconfiguración automática del cliente.
Para el cifrado un cifrador de flujo y un algoritmo de autenticación de mensajes (MAC) , desarrollado por Daniel Bernstein (), Tanja Lange
(Tanja Lange) y Peter Schwabe (Peter Schwabe). ChaCha20 y Poly1305 se presentan como alternativas más rápidas y seguras a AES-256-CTR y HMAC, cuya implementación de software permite lograr un tiempo de ejecución fijo sin la necesidad de soporte hardware especial. Para la generación de una clave secreta compartida se aplica el protocolo de Diffie-Hellman sobre curvas elípticas con la implementación de , también propuesto por Daniel Bernstein. Para el hashing se utiliza el algoritmo .
Fuente: opennet.ru
