2Fauth: Aplicación 2FA Self-Hosted en tu NAS o servidor unRAID

Además, aprende a integrarlo con Twitter como autenticación de doble factor.

2Fauth: Aplicación 2FA Self-Hosted en tu NAS o servidor unRAID
Regístrate en HDS+
Es gratuito. Ten acceso a todo el contenido.
🔓
Dificultad del tutorial: Fácil
👉
Tutorial actualizado con las nuevas instrucciones en caso de mostrarse la pantalla en blanco delas últimas versiones de 2Fauth.

Hacía tiempo que quería enseñaros una interesante solución para albergar un servicio 2FA en nuestro NAS, y aprovechando el tirón de estos días con la última polémica decisión de Elon Musk en su ya casi difunta red social Twitter, he decidido publicarlo hoy para que sirva de ayuda a cuanta más gente mejor.

Muchos usuarios a día de hoy, desconocen incluso el significado del 2FA pero gracias a Elon, es algo que se está buscando mucho en estos días a raíz de la nueva polémica que envuelve a Twitter, en la cual ha pasado de disponer el servicio 2FA vía SMS de forma totalmente gratuita, a ser algo exclusivo de los usuarios que decidan pagar Twitter Blue.

¡Gracias Elon! Por tu culpa, ya tenemos seguramente una excusa más para instalar una solución 2FA Self-Hosted en nuestro NAS y que de paso cada vez más usuarios utilicen la autenticación de doble factor en sus servicios.


Otros tutoriales relacionados

Cómo habilitar la verificación 2FA en DSM
Blinda el acceso a tu NAS con una capa extra de seguridad mediante la autentificación en dos pasos.
Authelia: Configuración con 2FA, LDAP, SSO e integración con Nginx Proxy Manager
Guía completa para la instalación y configuración de Authelia en tu NAS. Añade una capa extra de seguridad a tus servicios e intégralo con NPM.

Creación del Proxy Inverso

Después de la introducción, vamos a ello. Antes de empezar, tendremos que crear un nuevo Proxy Inverso en nuestro NAS, ya que para la creación de los códigos QR es obligatorio utilizar una conexión HTTPS. Si no sabéis como instalar y configurarlo, podéis seguir el tutorial disponible en HDS+ que os enlazo a continuación.

Cómo instalar y configurar Nginx Proxy Manager en tu NAS o servidor unRAID
Guía detallada sobre cómo instalar tu Proxy Inverso en un NAS - unRAID con certificado Let’s Encrypt.

Docker-Compose: Pasos a seguir

Como siempre, antes de ejecutar un Stack, deberemos de crear las carpetas correspondientes. Para ello nos vamos a 'File Station ➝ docker' y creamos la carpeta "2fauth".

Antes de seguir tendremos que conectarnos vía SSH a nuestro NAS, dirigirnos a la ruta /volume1/docker/ y ejecutar: chown 1000:1000 2fauth y chmod 700 2fauth.

Cerramos la conexión SSH y después ya podemos abrir Portainer y crearemos un nuevo Stack:

version: "3"
services:
  2fauth:
    image: 2fauth/2fauth
    container_name: 2fauth
    volumes:
      - /volume1/docker/2fauth:/2fauth
    ports:
      - 7002:8000/tcp
    environment:
      - APP_NAME=2FAuth
      - APP_ENV=local
      - APP_DEBUG=false
      - SITE_OWNER=❗MIEMAIL@gmail.com
      - APP_KEY=❗XXXXXXXXXXXXXXXXXX
      - APP_URL=❗https://xx.midominio.com
      - ASSET_URL=❗https://xx.midominio.com
      - IS_DEMO_APP=false
      - LOG_CHANNEL=daily
      - LOG_LEVEL=notice
      - DB_DATABASE="/srv/database/database.sqlite"
      - CACHE_DRIVER=file
      - SESSION_DRIVER=file
      - MAIL_DRIVER=log
      - MAIL_HOST=❗smtp.gmail.com
      - MAIL_PORT=465
      - MAIL_FROM=❗MIEMAIL@gmail.com
      - MAIL_USERNAME=❗MIEMAIL@gmail.com
      - MAIL_PASSWORD=❗MI PASSWORD
      - MAIL_ENCRYPTION=ssl
      - MAIL_FROM_NAME=❗MINOMBRE
      - MAIL_FROM_ADDRESS=❗MIEMAIL@gmail.com
      - AUTHENTICATION_GUARD=web-guard
      - AUTH_PROXY_HEADER_FOR_USER=null
      - AUTH_PROXY_HEADER_FOR_EMAIL=null
      - PROXY_LOGOUT_URL=null
      - WEBAUTHN_NAME=2FAuth
      - WEBAUTHN_ID=null
      - WEBAUTHN_ICON=null
      - WEBAUTHN_USER_VERIFICATION=preferred
      - TRUSTED_PROXIES=*
      - BROADCAST_DRIVER=log
      - QUEUE_DRIVER=sync
      - SESSION_LIFETIME=120
⚠️
IMPORTANTE: Deberemos de cambiar las variables marcadas con ❗por las nuestras. En el campo APP_KEY deberemos de especificar una string random de 32 carácteres. En el campo APP_URL especificaremos la URL del Proxy Inverso que hemos creado para este servicio.

⚠️
La Plantilla ya no se encuentra disponible en unRAID. Para instalar 2Fauth se debe hacer mediante Docker-Compose.

unRAID: Pasos a seguir

El proceso de instalación en unRAID más fácil no podría ser gracias a la utilización de las plantillas.

Antes de empezar, tendremos que conectarnos vía SSH a nuestro unRAID y ejecutar el siguiente comando: mkdir -m 777 /mnt/user/appdata/2fauth.

Después, nos vamos a Apps y buscamos "2fauth" e instalamos la única imagen que se nos muestra.

La plantilla la dejaremos tal y como viene por defecto, aunque si queremos utilizar el envío de emails por SMTP, para el restablecimiento de password y demás, deberemos de añadir las siguientes variables:

Tendrás que añadir las variables de SMTP para poder enviar emails desde 2Fauth.
MAIL_DRIVER=log
MAIL_HOST=❗smtp.gmail.com
MAIL_PORT=465
MAIL_FROM=❗MIEMAIL@gmail.com
MAIL_USERNAME=❗MIEMAIL@gmail.com
MAIL_PASSWORD=❗MI PASSWORD
MAIL_ENCRYPTION=ssl
MAIL_FROM_NAME=❗MINOMBRE
MAIL_FROM_ADDRESS=❗MIEMAIL@gmail.com

Si nos muestra la pantalla en blanco

En las últimas versiones de 2Fauth hay un error buenos impide mostrar el Dashboard, quedándose la pantalla en blanco, para solucionarlo debemos añadir estas dos variables:

En la variable ASSET_URL debemos de especificar el subdominio donde tenemos ejecutándoselo el servicio.


Configuración inicial

Una vez tenemos ya el contenedor corriendo correctamente, accedemos al servicio mediante la URL creada en el Proxy Inverso y seguiremos unos primeros pasos esenciales, como son la creación de la cuenta de usuario nuestra y el registro de nuestras cuentas.

Además de permitir escanearnos el código QR, también se nos ofrece la posibilidad de introducir los parámetros a mano. Aquí os dejo el ejemplo en el caso de Twitter.


Habilitar el 2FA en tu cuenta de Twitter

Ahora que ya tenemos nuestra aplicación de 2FA funcionando correctamente en nuestra máquina, podremos activar la Autenticación en dos pasos de Twitter.

  • Entramos en nuestra cuenta de Twitter y nos dirigimos a Configuración y Privacidad ➝ Seguridad y acceso a la cuenta ➝ Seguridad ➝ Autenticación en dos fases
  • Marcáis "Aplicación de autenticación" y seguimos los pasos marcados. Nos dará la opción de usar el código QR o si no podemos, nos mostrará un código único que tendremos que pegar en 2Fauth cuando vayamos a vincular Twitter como servicio 2FA (como se puede observar en la imagen inferior).

Invítame a un café



Más artículos

Cómo instalar y configurar WireGuard en tu Router Asus e integrarlo con Pi-Hole

Cómo instalar y configurar WireGuard en tu Router Asus e integrarlo con Pi-Hole

Aprende a configurar la VPN más rápida y segura en tu Asus. Además intégralo con Pi-Hole.

Por Joan
Cómo instalar FreshRSS en tu NAS o servidor unRAID

Cómo instalar FreshRSS en tu NAS o servidor unRAID

Instala tu servidor Self-Hosted de agregador de noticias. Configuración y primeros pasos explicados.

Por Joan
Cómo usar CloudFlare como servidor DDNS en vuestro UnRAID / NAS

Cómo usar CloudFlare como servidor DDNS en vuestro UnRAID / NAS

Utiliza Cloudfare como servidor de DDNS con actualización automática para acceder a tus servicios con un dominio propio.

Por Joan