Lanzamiento de Nebula 1.5, un sistema para crear redes superpuestas P2P

El lanzamiento del proyecto Nebula 1.5 ya está disponible, y ofrece herramientas para construir redes superpuestas seguras. La red puede unir desde varios hasta decenas de miles de hosts geográficamente separados alojados por diferentes proveedores, formando una red aislada separada encima de la red global. El proyecto está escrito en Go y distribuido bajo licencia MIT. El proyecto fue fundado por Slack, que desarrolla un mensajero corporativo del mismo nombre. Soporta Linux, FreeBSD, macOS, Windows, iOS y Android.

Los nodos de la red Nebula se comunican directamente entre sí en modo P2P: las conexiones VPN directas se crean dinámicamente a medida que es necesario transferir datos entre nodos. La identidad de cada host en la red se confirma mediante un certificado digital y la conexión a la red requiere autenticación: cada usuario recibe un certificado que confirma la dirección IP en la red Nebula, el nombre y la membresía en los grupos de hosts. Los certificados están firmados por una autoridad de certificación interna, implementados por el creador de la red en sus instalaciones y utilizados para certificar la autoridad de los hosts que tienen derecho a conectarse a la red superpuesta.

Para crear un canal de comunicación seguro y autenticado, Nebula utiliza su propio protocolo de túnel basado en el protocolo de intercambio de claves Diffie-Hellman y el cifrado AES-256-GCM. La implementación del protocolo se basa en primitivas probadas y listas para usar proporcionadas por el marco Noise, que también se utiliza en proyectos como WireGuard, Lightning e I2P. Se dice que el proyecto ha sido sometido a una auditoría de seguridad independiente.

Para descubrir otros nodos y coordinar conexiones a la red, se crean nodos "faro" especiales, cuyas direcciones IP globales son fijas y conocidas por los participantes de la red. Los nodos participantes no están vinculados a una dirección IP externa; están identificados mediante certificados. Los propietarios de hosts no pueden realizar cambios en los certificados firmados por sí solos y, a diferencia de las redes IP tradicionales, no pueden pretender ser otro host simplemente cambiando la dirección IP. Cuando se crea un túnel, la identidad del host se verifica con una clave privada individual.

A la red creada se le asigna un cierto rango de direcciones de intranet (por ejemplo, 192.168.10.0/24) y las direcciones internas están asociadas con certificados de host. Se pueden formar grupos a partir de participantes en la red superpuesta, por ejemplo, en servidores y estaciones de trabajo separados, a los que se aplican reglas de filtrado de tráfico independientes. Se proporcionan varios mecanismos para evitar los traductores de direcciones (NAT) y los firewalls. Es posible organizar el enrutamiento a través de la red superpuesta de tráfico de hosts de terceros que no forman parte de la red Nebula (ruta insegura).

Admite la creación de firewalls para separar el acceso y filtrar el tráfico entre nodos en la red superpuesta de Nebula. Las ACL con enlace de etiquetas se utilizan para el filtrado. Cada host de la red puede definir sus propias reglas de filtrado basadas en hosts, grupos, protocolos y puertos de red. En este caso, los hosts no se filtran por direcciones IP, sino por identificadores de host firmados digitalmente, que no pueden falsificarse sin comprometer al centro de certificación que coordina la red.

En el nuevo lanzamiento:

  • Se agregó un indicador "-raw" al comando print-cert para imprimir la representación PEM del certificado.
  • Se agregó soporte para la nueva arquitectura Linux riscv64.
  • Se agregó una configuración experimental de remote_allow_ranges para vincular listas de hosts permitidos a subredes específicas.
  • Se agregó la opción pki.disconnect_invalid para restablecer los túneles después de que expire la terminación de la confianza o la vida útil del certificado.
  • Se agregó la opción unsafe_routes. .metric para asignar peso a una ruta externa específica.

Fuente: opennet.ru

Añadir un comentario