Authentication Manager
El Authentication Manager (AM) de RaidProtect es un sistema de autenticación avanzado que permite proteger el acceso a ciertos roles de Discord mediante una verificación de identidad. Gracias a las passkeys (WebAuthn), los códigos PIN y OTP, solo los miembros autenticados pueden obtener roles sensibles.
❓ Funcionamiento general
El Authentication Manager se basa en un sistema de roles protegidos y de sesiones temporales. Cuando un administrador configura un rol con el AM:
- El rol de Discord queda protegido por una autenticación obligatoria.
- Los miembros autorizados deben autenticarse mediante el comando
/authpara obtener el rol. - Se crea una sesión temporal con una duración definida (configurable).
- Al expirar la sesión, el rol se retira automáticamente.
El Authentication Manager requiere que cada miembro cree un perfil de autenticación mediante /auth-profile antes de poder autenticarse.
🔐 Grados de seguridad
Cada método de autenticación está asociado a un grado de seguridad. Los roles protegidos exigen un grado mínimo que el miembro debe alcanzar.
| Grado | Condición |
|---|---|
| Al menos una passkey registrada | |
| Código OTP (2FA) activado | |
| PIN reforzado de 8 dígitos o más | |
| PIN reforzado de 6 dígitos o más | |
| PIN simple de 6 dígitos o más | |
| PIN simple de 4 dígitos o más |
El grado más alto entre tus métodos configurados se conserva automáticamente. Por ejemplo, si tienes un PIN simple (grado D) y una passkey (grado S), tu grado será S.
🛡️ Métodos de autenticación
- PIN
- OTP (Código 2FA)
- Passkey (WebAuthn)
El código PIN es el método más sencillo. Hay dos modos disponibles:
- PIN simple: Entrada clásica mediante un formulario (de 4 a 12 dígitos).
- PIN reforzado: Teclado numérico con disposición aleatoria de las teclas (de 6 a 12 dígitos), que impide la observación por terceros.
Los PIN débiles se rechazan automáticamente: dígitos idénticos repetidos, secuencias ascendentes/descendentes y patrones comunes.
El OTP utiliza el estándar TOTP (Time-based One-Time Password), compatible con las aplicaciones de autenticación como Google Authenticator, Authy, 1Password, Dashlane o Bitwarden.
- Código de 6 dígitos renovado cada 30 segundos.
- Tolerancia de una ventana de ±1 para compensar los desfases.
Las passkeys ofrecen el nivel de seguridad más alto (grado S). La autenticación se realiza a través del navegador usando:
- Huella digital o reconocimiento facial (Touch ID, Face ID, Windows Hello).
- Llave de seguridad física (YubiKey, etc.).
Cuando usas una passkey, se abre un enlace externo en tu navegador para efectuar la verificación. Una vez validada, el bot es notificado en tiempo real y te asigna el rol.
👤 Perfil de autenticación (/auth-profile)
El comando /auth-profile permite gestionar tu perfil de autenticación personal. Es accesible en cualquier servidor o por mensaje privado.
Primera utilización
En la primera utilización, una pantalla de bienvenida te explica el funcionamiento del sistema. Haz clic en Continuar para configurar tu primer método de autenticación.
Gestión de autenticaciones
Desde tu perfil, puedes gestionar tus métodos de autenticación.
- Añadir, modificar o eliminar un PIN (simple o reforzado).
- Activar el OTP (2FA) mediante código QR, regenerar el secreto o desactivar el método.
- Añadir una passkey mediante la página de registro o eliminarla.
Cada passkey muestra el nombre de su dispositivo y la fecha de último uso.
Sesiones activas
Consulta tus sesiones activas desde tu perfil. En contexto de mensaje privado, las sesiones de todos tus servidores son visibles.
Registro de auditoría
Consulta las 3 últimas acciones realizadas en tu cuenta, con acceso al registro completo paginado.
Restablecimiento de la cuenta
El botón He olvidado mis auths permite restablecer por completo tu cuenta. Esta acción:
- Elimina todos tus métodos de autenticación.
- Desactiva todos tus accesos a los roles protegidos.
- Requiere una reconfiguración completa.
Esta acción es irreversible. Todos tus accesos serán revocados inmediatamente.
🔑 Autenticarse (/auth)
El comando /auth permite autenticarse para obtener un rol protegido.
Proceso de autenticación
- Ejecuta
/authen el servidor. - Un menú desplegable muestra los roles disponibles con su grado requerido y la duración de la sesión.
- Selecciona un rol.
- Elige tu método de autenticación entre los que satisfacen el grado mínimo del rol.
- Efectúa la verificación (PIN, OTP o passkey).
- En caso de éxito, el rol de Discord te es asignado y se crea una sesión.
Solo los roles a los que has sido asignado (estado Activo) aparecen en el menú.
Gestión de sesiones
Desde el panel /auth, puedes:
- Prolongar una sesión: Vuelve a autenticarte para prolongar la duración de la sesión activa.
- Cerrar sesión: Revoca inmediatamente la sesión y retira el rol de Discord.
Seguridad
- Intentos limitados: Tras 5 fallos, tu cuenta queda bloqueada durante 1 hora. Tras 10 fallos, la cuenta se restablece.
- Advertencia: Aparece un mensaje de advertencia a partir de 3 intentos fallidos.
⚙️ Configuración del servidor (/auth-settings)
El comando /auth-settings está reservado a los administradores y a los managers autorizados. Permite configurar todo el sistema de autenticación en el servidor.
Permisos
| Rol | Acceso |
|---|---|
| Propietario | Acceso completo |
| Administrador | Acceso completo (salvo si el permiso ADMINISTRATOR proviene de un rol AM) |
| Manager | Acceso limitado, debe autenticarse, solo puede gestionar los roles inferiores |
Los managers deben alcanzar un grado de seguridad mínimo (configurable) para acceder a los ajustes.
Ajustes del servidor
- Duración de sesión predeterminada: Duración de las sesiones para los nuevos roles (hasta 8 horas en la versión gratuita, 24 horas en la versión premium).
- Grado mínimo predeterminado: Grado de seguridad mínimo aplicado a los nuevos roles.
- Grado mínimo de los managers: Grado requerido para que un miembro sea manager.
- URL del webhook: Webhook de Discord para recibir los registros de auditoría (opcional).
Pestaña Roles
Añadir un rol
- Abre
/auth-settingsy accede a la pestaña Roles. - Haz clic en Añadir un rol.
- Selecciona el rol de Discord a proteger.
- Define el grado mínimo requerido.
- Define la duración de la sesión.
Límites: 3 roles en la versión gratuita, 10 roles en la versión premium.
Si tu rol está configurado para mostrarse por separado en la lista de miembros, considera conservar el rol original (quitándole sus permisos sensibles) para la visualización, y crear un nuevo rol con los permisos reales que protegerás mediante el AM. Así, tus miembros conservan su rol visible de forma permanente, mientras que los permisos sensibles solo se asignan durante las sesiones autenticadas.
Modificar un rol
Puedes modificar el grado mínimo y la duración de sesión de un rol existente.
Activar / Desactivar un rol
Un rol puede ponerse en pausa sin eliminarlo. Los roles inactivos siguen ocupando un espacio.
Eliminar un rol
Elimina definitivamente el rol del sistema de autenticación.
Pestaña Usuarios
Añadir un usuario
- Accede a la pestaña Usuarios.
- Haz clic en Añadir un usuario.
- Selecciona el miembro y los roles a asignarle.
- El miembro recibe un mensaje privado informándole de la invitación.
Límites: 20 usuarios en la versión gratuita, 50 en la versión premium.
Estados de los miembros
| Estado | Descripción |
|---|---|
| Invitado | El miembro ha sido añadido pero aún no ha configurado su perfil |
| Pendiente | El perfil está configurado, en espera de aprobación |
| Activo | El miembro puede autenticarse para obtener el rol |
| Desactivado | El acceso al rol está temporalmente suspendido |
Promover a manager
Un manager puede gestionar los usuarios y los roles que se encuentran por debajo de su techo de permisos. El techo corresponde a la posición más alta entre el rol de Discord y el rol AM activo del manager.
Eliminar un usuario
Retira al miembro de todos los roles protegidos en el servidor.
Pestaña Logs
Consulta el registro de auditoría del servidor con paginación. Cada entrada contiene: el usuario, la acción, el tipo (AM o Discord) y la fecha.
Pestaña Sesiones
Consulta todas las sesiones del servidor con su estado (Activa, Expirada, Revocada), el usuario, el rol y las fechas de creación y expiración.