Authelia: Configuración con 2FA, LDAP, SSO e integración con Nginx Proxy Manager

🔓
Dificultad del tutorial: Difícil
⚠️
Funciona al 100% hasta la versión 4.37.5. La nueva versión 4.38 (2024) han introducido cambios importantes y puede fallar. En mi caso todo sigue funcionando bien siguiendo este tutorial.

La siguiente guía es de aquellas que ha costado elaborar hasta llegar a que todo funcione como debería. Con más motivo, me anima a compartirla con el resto de usuarios y de esta manera brindar la opción de poder aumentar la seguridad al acceder a nuestros servicios de Docker.

En el mundo de los contenedores existe una interminable amplitud de servicios, y es más que probable que que muchas de ellas no cuenten con autentificación de usuario y mucho menos 2FA, y aquí es donde entra en juego Authelia.

¿Qué nos permite Authelia?

Con vemos en la demo de arriba, Authelia nos permitirá añadir un sistema de autentificación antes de acceder a cualquier servicio. En definitiva, podremos añadir una capa de seguridad extra, la cual nos va a permitir tres opciones:

  1. Autentificación de 1 factor: Acceso mediante usuario y contraseña.
  2. Autentificación de 2 factores (2FA): Accedo mediante 1 factor + código QR.
  3. Bypass: No nos pedirá autentificación alguna.

Una vez que hayamos escogido que sistema de autentificación queremos para nuestro servicio, podemos limitar el acceso mediante:

  1. Rangos de IP
  2. Subdominios o dominios en concreto
  3. Limitando o permitiendo acceso en Red Local o Externa
  4. Según qué usuarios / grupos

Como podéis ver, las opciones de configuración son muy extensas. Y nos permite infinidad de combinaciones para cada uno de los servicios. En esta guía vamos a aprender a ponerlo todo en marcha.