03 aislamiento
Principio¶
SmallCountry no expone ningún servicio interno a Internet.
Todo acceso legítimo desde el exterior atraviesa un único punto de entrada: la malla NetBird, que redirige la autenticación a Authentik mediante OIDC (protocolo de autenticación OpenID Connect).
Una vez verificada la identidad, el tráfico se enruta internamente a través de Caddy como proxy inverso (intermediario que recibe peticiones y las deriva).
Pi-hole resuelve el DNS (servidor de nombres de dominio) local y la CA interna (autoridad certificadora propia) emite los certificados TLS (cifrado de comunicaciones) para el cifrado extremo a extremo.
Los servicios que requieren visibilidad pública se sirven desde un enclave externo, la Zona Cero, que recibe datos por sincronización unidireccional y no posee capacidad de conexión hacia el núcleo protegido.
Flujo de acceso desde el exterior¶
-
**Conexión a la malla NetBird
El usuario externo inicia la conexión a través del cliente NetBird.
El único puerto abierto al exterior es el puerto UDP de NetBird. -
**Autenticación OIDC con Authentik
NetBird redirige la autenticación a Authentik mediante OIDC.
Authentik se sirve a través del proxy inverso del propio NetBird, sin exposición directa a Internet.
Se valida la identidad, el segundo factor y los grupos del usuario. -
Establecimiento del túnel WireGuard
Una vez autenticado, NetBird establece un túnel WireGuard entre el dispositivo externo y el núcleo deSmallCountry.
-
Enrutamiento interno con Caddy
Todo el tráfico de aplicación se enruta a través de Caddy, que actúa como proxy inverso interno.
Caddy verifica la autenticación con Authentik mediante forward auth.
El tráfico entre Caddy y los backends viaja cifrado con TLS, usando certificados emitidos por la CA interna**. -
Acceso a los servicios internos
Los servicios internos (Forgejo, Nextcloud, Immich, etc.) solo son accesibles dentro de la malla.
No tienen exposición directa a Internet.
La Zona Cero¶
Para los servicios que requieren visibilidad pública —blog, tienda, repositorio de ciencia abierta— SmallCountry utiliza un enclave externo aislado.
| Propiedad | Descripción |
|---|---|
| Ubicación | Servidor externo (VPS o hardware dedicado) física y lógicamente separado del núcleo. |
| Sincronización | Unidireccional push desde |
| Credenciales | La Zona Cero no posee credenciales ni capacidad de red para acceder a |
| Certificados | Let's Encrypt automatizado en el servidor externo, independiente de la CA interna. |
Defensa en profundidad¶
El perímetro único se apoya en múltiples capas de defensa coordinadas:
| Capa | Herramienta | Función |
|---|---|---|
| Red Zero Trust (modelo de seguridad sin confianza implícita) | NetBird | Único punto de entrada, malla peer‑to‑peer, políticas de acceso. |
| Identidad y 2FA (autenticación en dos pasos) | Authentik | Federación OIDC, segundo factor obligatorio, segmentación por grupos. |
| Proxy inverso | Caddy | Enrutamiento interno, forward auth, TLS con CA interna. |
| DNS filtrado | Pi-hole | Resolución local, bloqueo de dominios maliciosos. |
| Firewall interno | Proxmox VE | Default Deny entre bridges, reglas explícitas como código. |
Stack necesario¶
- NetBird – Malla VPN (red privada virtual) Zero Trust, único puerto UDP abierto.
- Authentik – Proveedor OIDC, 2FA, federación de identidad.
- Caddy – Proxy inverso interno, forward auth, TLS.
- Pi-hole – DNS local, filtrado de dominios.
- CA interna – Emisión de certificados TLS (cifrado de comunicaciones) para el tráfico interno.
- Zona Cero – Enclave externo con Caddy público, Let's Encrypt y sincronización push.
- Proxmox VE – Firewall Default Deny entre bridges.
Relaciones con otros principios¶
- 4. Segmentación estricta de redes: la segmentación en bridges añade una segunda barrera tras el perímetro único, impidiendo el movimiento lateral.
- 2. Reconstruibilidad total desde cero: la reconstrucción se puede realizar completamente dentro del perímetro, sin exposición externa.
- 7. Soberanía operativa y operación local: Pi-hole resuelve el DNS localmente y Authentik mantiene caché de sesiones, garantizando la operación offline.
- 5. Resiliencia física delegada al hardware: los dispositivos de campo (Capa 1) no se comunican con el exterior; su operación es independiente del perímetro.
Diagrama del flujo de acceso¶
graph TD
subgraph Exterior [Exterior]
direction TB
U[Usuario remoto]
Z[Zona Cero - servicios públicos]
end
subgraph Perimetro [Perímetro único]
direction TB
N[NetBird - Puerto UDP]
A[Authentik - OIDC + 2FA]
end
subgraph Interno [Red interna]
direction TB
C[Caddy - Proxy inverso + TLS]
P[Pi-hole - DNS local]
CA[CA interna - Certificados]
S1[Forgejo]
S2[Nextcloud]
S3[Immich]
end
U --> N
N --> A
A --> C
C --> S1
C --> S2
C --> S3
P --> C
CA --> C
Z -.->|Push unidireccional| N
Z -.->|Sin acceso al núcleo| Interno
style Exterior fill:#e1bee7,stroke:#8e24aa,color:#000
style Perimetro fill:#90caf9,stroke:#1565c0,color:#000
style Interno fill:#a5d6a7,stroke:#2e7d32,color:#000
← Principio 2: Reconstruibilidad total | Principio 4: Segmentación de redes →