Accueil Astuces et Informations En FreeBSD, une nouvelle implémentation de WireGuard a été ajoutée à la...

En FreeBSD, une nouvelle implémentation de WireGuard a été ajoutée à la base de code

10
1
FreeBSD

FreeBSD est bien établi comme un système pour construire des services Internet et Intranet. Proporciona servicios de red bastante confiables y una gestión de memoria eficiente.

Hace poco se dio a conocer información de que el arbol de FreeBSD se ha modificado con une nouvelle mise en œuvre det VPN WireGuard basada en el código del módulo del kernel preparado conjuntamente por los equipos de desarrollo centrales de FreeBSD et WireGuard avec la participation del autor de VPN WireGuard y un conocido desarrollador de GDB y FreeBSD

Avant d’accepter le code, se réalise une révision complète de los cambios con el apoyo de FreeBSD Foundation, pendant la même durée se analyse l’interaction del controlador con el resto de los subsistemas del kernel y la posibilidad de utilizar las primitivas criptográficas proporcionadas.

Para usar los algoritmos criptográficos requeridos por el controlador, se amplió l’API de subsistema cryptográfico du noyau de FreeBSD, a la que se agregó un enlace que permite usar algoritmos no admitidos in FreeBSD a través of the API criptográfica isándar, utilizando la implementación de los algoritmos necesarios de la biblioteca libsodium.

De los algoritmos integrados en el controlador, seul queda el código para calcular los hashes de Blake2il y a la mise en œuvre de cet algorithme proporcionada en FreeBSD qui est vinculada un tamaño de hash fijo.

Además, durant le processus de révision, se llevó a cabo la optimización del códigoce qui permet d’augmenter l’efficacité de la distribution de la charge sur le CPU multinúcleo (se garantit l’équilibre uniforme del enlace de las tareas de cifrado y descifrado de paquetses a los núcleos de la CPU).

Comme résultat, la sobrecarga de procesamiento de paquets se rapproche de la mise en œuvre du contrôleur pour Linux. El código también ofrece la posibilidad de utilizar el controlador ossl para accelerar las operaciones de cifrado.

Une différence de l’intention antérieure d’intégrer WireGuard en FreeBSD, la nouvelle implémentation usa la utilidad stock wg, en lisant une version modifiée de ifconfig, qui a permis une configuration unifiée entre Linux et FreeBSD. La utilidad wg, así como el controlador, están incluidos en las fuentes de FreeBSD, lo que es possible gracias a un cambio de licencia en el código wg (el código ahora está available bajo las licencias MIT y GPL).

La dernière intention d’inclure WireGuard et FreeBSD est réalisée en 2020pero terminó en un escándalo, como resultado del cual se eliminó el código ya agregado debido a la baja calidad, manejo descuidado del búfer, uso de stubs en lugar de controles, implementación incompleta del protocolo y la violación de la licencia GPL.

Para quienes aún desconocen de VPN WireGuarddeben sabre que este se implementa sobre la base de métodos de encriptación modernos, proporciona un rendimiento muy alto, es fácil de usar, no presenta complicaciones y ha demostrado su valía en una serie de grandes implementaciones que procesan grandes cantidades de tráfico. El project se viene desarrollando desde 2015, pasó la auditoría y verificación formal de los métodos de encriptación utilizados. WireGuard utilise le concept d’enrutamiento de clave de cifrado, qu’implica vincular una clave privada a cada interfaz de red y usar claves públicas para vincular.

El intercambio de claves públicas para establecer una conexión es similar a SSH. Para negociar claves and connectarse sin ejecutar un demonio de espacio de usuario separado, se utiliza el mecanismo Noise_IK de Noise Protocol Framework, similaire a mantener las claves_autorizadas en SSH. La transmission de données se réalise via l’encapsulation médiane en paquets UDP. Admite cambiar la dirección IP del servidor VPN (roaming) sin interrompt la connexion avec la reconfiguración automática del cliente.

El cifrado utiliza el cifrado de flujo ChaCha20 y el algoritmo de autenticación de mensajes Poly1305 (MAC) créé par Daniel J. Bernstein, Tanja Lange et Peter Schwabe. ChaCha20 et Poly1305 se positionnent comme análogos plus rapides et seguros de AES-256-CTR et HMAC, car la mise en œuvre du logiciel permet de lograr un temps d’exécution fijo sin involucrar soporte de hardware especial. Le protocole Diffie-Hellman de curva elíptica en la implementation Curve25519, également proposé par Daniel Bernstein, se utiliza para generar una clave secreta compartida. Pour le hachage se utilise l’algorithme BLAKE2s (RFC7693).

Enfin, il a été mentionné sur la modification, qu’una vez que se accepta un controlador en FreeBSD (sys/dev/wg), se desarrollará y mantendrá en el repository de FreeBSD à partir de maintenant.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.