🛡️Authelia avanzado
Este tutorial esta destinado a usar Authelia para proteger nuestras aplicaciones expuestas a la red de una manera eficaz.
Última actualización
Este tutorial esta destinado a usar Authelia para proteger nuestras aplicaciones expuestas a la red de una manera eficaz.
Última actualización
Authelia es un servidor y portal de autenticación y autorización de código abierto que cumple la función de gestión de identidad y acceso (IAM) de la seguridad de la información al proporcionar autenticación multi factor e inicio de sesión único (SSO) para sus aplicaciones a través de un portal web.
Dificultad tutorial: Media Conocimientos a tener: Medios-Altos
Como seguir este tutorial.
Esto es lo que nos dice la web de Authelia. Lo que vamos a conseguir es brindar nuestras web con una capa adicional de seguridad utilizando tanto el factor único, como el doble factor, con Dúo / Mobile Push, también incluiremos la opción WebAuthn.
También aprenderemos a utilizar reglas para permitir a usuarios la entrada en recursos o no, desde luego la configuración ofrece bastantes alternativas.
El tutorial solo se aplica a Nginx-Proxy-Manager-Official. Si desea utilizar otro servidor proxy puedes seguir la guia oficial. https://www.authelia.com/integration/proxies/
Primeramente configuraremos una nueva red, donde añadiremos todos los componentes de la instalación, a continuación, los Docker principales y secundarios, configurando sus plantillas.
Para crear la nueva red, abriremos la terminar de Unraid e introduciremos el siguiente comando.
Primeramente crearemos las carpetas necesarias para la instalación, de esta manera avanzaremos con la instalación, añadiendo posteriormente en la plantilla variables y rutas necesarias.
Introduce el siguiente comando en el terminal de UnRaid.
Con esta operación se han creado las carpetas y archivos necesarios para jwt secret, en los archivos creados introduciremos las contraseña de los diferentes componentes que utilizaremos, esto lo haremos siguiendo los pasos a continuación, describiremos una opción, como ejemplo y los demás archivos se hacen de la misma manera, únicamente volviendo a ejecutar el comando para crear las contraseñas.
Estos archivos contendrán las contraseña utilizadas por Authelia, pero en las plantillas de Mariadb y Redis si tenemos que introducir las contraseñas como describiremos mas adelante.
tendremos los siguientes archivos en la carpeta /secrets
encryption
mysql
redis
smtp
jwt
duo_api => esta dejala tal cual, mas adelante la añadiremos.
secret
Para la creación de las diferentes contraseña utilizaremos el siguiente comando, desde la terminal de Unraid, donde el numero 50 es la longitud, podemos poner la longitud que deseemos >20.
Primeramente abriremos el archivo encryption y borraremos su contenido, luego ejecutaremos el comando anterior y copiaremos el resultado tal cual, sin variar ni espacios ni nada, en el interior del archivo encryption, guardamos y salimos. Este mismo paso se debe seguir hasta completar los diferentes archivos situados en /secrets, ejecutando el comando para cada uno.
Una vez completada la acción de las contraseñas y si quieres mejorar la seguridad, tanto la carpeta /secrets, como los archivos contenidos, puedes ponerlos en solo lectura, a excepción de duo_api, que tendremos que modificar mas adelante.
En la foto se pueden ver las configuraciones necesarias, recuerda que debes seguir los datos de tu subred creada, si son distintos a los del tutorial.
Ya tenemos en marcha Mariadb, comprueba que no existan errores y que admite conexiones.
Redis lo utilizaremos para las sesiones y almacenaje de cookies.
Es posible que al iniciarse de error por no tener permisos de escritura en /redis , lo unico que debes hacer es darle esos permisos.
Ya tenemos en marcha Redis, comprueba que no existan errores y que admite conexiones.
Utilizaremos este proxy inverso, por dos razones, su facilidad de uso y buen funcionamiento.
La instalación de la plantilla es verdaderamente fácil, ahora queda añadir configuraciones avanzadas que realizaremos mas adelante. Aplica los cambios y comprueba que no existen errores en los Docker creados hasta el momento.
Si vas a realizar la instalación sobre un proxy en producción, realiza los Backup necesarios.
Vamos con lo interesante, la instalación de Authelia, todo lo demás ha sido la preparación para añadir a la plantilla de Authelia las diferentes carpetas y variables.
Lo primero que haremos en la plantilla será cambiar el nombre como figura en la foto, todo en minúsculas y activar la vista avanzada, en la parte superior derecha de la plantilla.
Las variables que añadiremos a la plantilla serán las siguiente.
AUTHELIA_JWT_SECRET_FILE =>/config/secrets/jwt
AUTHELIA_DUO_API_SECRET_KEYFILE => /config/secrets/duo_api
AUTHELIA_SESSION_REDIS_PASSWORD_FILE => /config/secrets/redis
AUTHELIA_STORAGE_MYSQL_PASSWORD_FILE => /config/secrets/mysql
AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE => /config/secrets/smtp
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE => /config/secrets/encryption
AUTHELIA_SESSION_SECRET_FILE => /config/secrets/secret
Cada una de ellas tendrá una ruta a su correspondiente archivo de contraseña. Mostrare un ejemplo, y añadiré las rutas correspondiente a cada variable para evitar errores.
A partir de este ejemplo puedes añadir las demás variables. También puedes añadir la siguiente variable. Aunque es opcional.
Parámetros de la plantilla
El contenedor Authelia aún no te iniciara.
Pasamos al siguiente paso configuración avanzada Authelia.