↓ Ir al contenido
← Proyectos
En implementación Infraestructura y seguridad como servicio En producción, con SSO operativo; falta integrar LDAP/AD

Red privada con identidad propia: NetBird + Authentik autohospedados

Acceso remoto Zero Trust autohospedado: VPN mesh con NetBird, SSO y doble factor con Authentik, orquestado con Ansible.

NetBird Authentik WireGuard Traefik Docker Ansible Debian 13
NetBird como red Zero Trust y Authentik como proveedor de identidad, conectados por SSO y con acceso seguro a los recursos internos

Actualmente estoy implementando esta solución de infraestructura para un cliente, con el objetivo de modernizar el acceso remoto a sus servicios internos y centralizar la gestión de identidades y permisos.

Integra NetBird, WireGuard, Authentik y Ansible para construir una arquitectura basada en Zero Trust: VPN de fácil despliegue, autenticación centralizada, doble factor y publicación segura de aplicaciones internas.

La solución ya está en producción, con el SSO operativo y el acceso a los servicios internos funcionando. El objetivo es reemplazar el modelo tradicional de acceso remoto —puertos abiertos, publicaciones individuales y credenciales independientes— por una infraestructura donde la identidad y las políticas de acceso determinan quién llega a cada servicio.

El escenario inicial
#

Hasta ahora, los servicios internos se usaban desde la red local: para entrar desde afuera había que abrir un puerto por cada aplicación, publicar cada servicio a mano y confiar en contraseñas locales.

Modelo anteriorNueva arquitectura
Publicación individual de serviciosAcceso mediante red privada
Un puerto abierto por aplicaciónSuperficie de exposición mínima
Credenciales independientesIdentidad centralizada con SSO y doble factor
Gestión usuario por usuarioPolíticas y grupos centralizados
Configuración manual por servidorDespliegue automatizado y reproducible

La arquitectura
#

Dos piezas hacen el trabajo. NetBird arma la red privada entre los dispositivos —una malla WireGuard— y Authentik centraliza la identidad. Alrededor de ellas, el reverse proxy publica cada servicio con su dominio y su certificado.

Usuario

Cliente de escritorio o móvil

Cliente NetBird

Malla WireGuard

Reverse proxy

TLS termina acá

Servicios internos

Uno por dominio

Authentik

SSO / OIDC + doble factor

La identidad la resuelve Authentik; la conectividad y la autorización de red, las políticas de NetBird.

Esquema de la arquitectura: cada acceso exige identidad (Authentik) y autorización de red (NetBird).

El acceso depende de dos controles complementarios: la identidad —quién sos y el segundo factor, gestionados por Authentik— y la conectividad y autorización de red —a qué llegás, gestionada por las políticas de NetBird—. Zero Trust no es usar una VPN con SSO: es exigir los dos controles en cada acceso.

  • El servidor expone únicamente 80, 443 y el puerto de STUN. Nada más.
  • El reverse proxy decide por SNI qué tráfico corresponde a cada destino y publica cada servicio interno bajo su propio nombre.
  • Authentik no se publica directamente: escucha en loopback y sale al exterior solo a través del proxy de NetBird, con un sidecar que oficia de routing peer dentro de la malla.
  • El DNS interno resuelve esos dominios a la IP de la LAN, así los contenedores no salen a internet para volver a entrar.

Cómo funciona el acceso
#

La persona instala el cliente de NetBird, inicia sesión contra Authentik por OIDC y completa el segundo factor. A partir de ahí recibe una IP dentro de la malla y accede a los servicios que su grupo tiene habilitados. Cada servicio se publica con su dominio y su certificado, y las políticas de la red deciden quién llega a qué.

El resultado es que nadie abre puertos por aplicación, no se comparten contraseñas por chat y el alta o la baja de una persona se resuelve en un solo lugar: el proveedor de identidad.

Automatización y operación
#

Uno de los objetivos del proyecto fue evitar que la infraestructura dependiera de procedimientos manuales. Para eso desarrollé una capa de automatización con Ansible y una CLI propia que permite desplegar, validar y administrar los componentes de forma controlada y reproducible.

  • Validaciones previas: un preflight que revisa sistema operativo, memoria, disco, DNS, puertos y conectividad antes de tocar nada.
  • Ejecución por fases: fases reanudables y un modo de simulación (--check) que muestra qué haría cada cambio sin aplicarlo.
  • Secretos bajo control: credenciales cifradas con Ansible Vault; claves de alta y tokens fuera del repositorio, con permisos acotados.
  • Verificación y respaldos: verificación end-to-end del stack y copias diarias con retención.
  • CLI contra la API de NetBird: estado de usuarios, grupos, políticas, peers y servicios del proxy; las mutaciones se muestran en dry-run por defecto y piden confirmación explícita.
  • Runbook documentado: operación diaria, upgrades, restauración y resolución de problemas.

Stack tecnológico
#

NetBird

NetBird

Red privada Zero Trust

Authentik

Authentik

Identidad y SSO

WireGuard

WireGuard

Conectividad VPN

Ansible

Ansible

Automatización

Docker

Docker

Contenedores

Debian 13

Debian 13

Sistema operativo

NetBird self-hosted corre en contenedores, con su management, dashboard y reverse proxy; Authentik corre junto, integrado a la malla por un sidecar. Debian 13 es el sistema operativo del servidor y Docker la base de ejecución.

Seguridad por diseño y privacidad
#

  • Superficie mínima: solo los puertos necesarios quedan abiertos; Authentik no tiene exposición directa.
  • TLS bien delimitado: los certificados terminan en el reverse proxy (ACME / Let’s Encrypt) y entre el proxy y los servicios internos el tráfico viaja dentro de la malla WireGuard, cifrada por WireGuard.
  • Identidad con doble factor: SSO/OIDC y segundo factor obligatorio, con políticas por grupo.
  • Secretos fuera del código: credenciales cifradas con Ansible Vault; setup keys y tokens en archivos con permisos 0600, fuera del repositorio.
  • Host endurecido: fail2ban, ajustes de kernel, límites de logs y swap controlado.
  • Respaldos: copia diaria con retención y procedimiento de restauración documentado en el runbook.
  • Permisos acotados: la automatización usa un usuario de servicio, no la cuenta de una persona; las operaciones destructivas piden confirmación y las lecturas se pueden monitorear sin riesgo.

La identidad, los datos y las políticas quedan en infraestructura propia: software libre y autohospedado, con menor dependencia de proveedores externos y control sobre identidades, infraestructura y políticas de acceso. Cada componente mantiene sus licencias y condiciones.

Estado del proyecto
#

Implementado y operativo
#

  • Infraestructura NetBird autohospedada: management, dashboard y reverse proxy.
  • Integración con Authentik como proveedor de identidad.
  • SSO y doble factor operativos.
  • Acceso remoto a los servicios internos a través del reverse proxy.
  • DNS interno y políticas de acceso por grupos.
  • Automatización del despliegue y de la operación diaria.

Próximas etapas
#

  • Integración con LDAP/Active Directory.
  • Retiro progresivo de la autenticación local.
  • Publicación de nuevos servicios.
  • Automatización adicional del lado de Authentik.
  • Rotación periódica de tokens.
  • Los ajustes que vayan surgiendo de la operación real.