Security
Ubicación en el admin: System › Admin › Console security (
/account), Admin users (/users); System › Settings › Customer logins (/settings/login).
Consola de administración
Autenticación de dos factores (TOTP)
La consola es accesible desde Internet, así que active TOTP.
- Abra System › Admin › Console security.
- En Two-factor authentication (TOTP), haga clic en Start setup.
- Escanee el código QR con Google Authenticator, Authy, 1Password o Bitwarden y, a continuación, introduzca el código de 6 dígitos.
Rangos de IP permitidos para la consola
En Allowed console IP ranges, introduzca una IP o CIDR (IPv4 o IPv6) por línea. Dejarlo vacío permite el acceso desde cualquier lugar. Fuera del rango, se bloquean tanto el inicio de sesión como la admin API.
Evite perder el acceso
La página muestra su IP actual y requiere que la nueva lista la incluya. Utilice + Add my IP. Si a pesar de ello pierde el acceso, utilice el acceso de emergencia desde el servidor.
Cambiar contraseña
Complete Current password, New password y Confirm new password. Utilice una contraseña larga y única (de 12 caracteres o más; el asistente de configuración exige 12 para el primer administrador).
Cuentas y roles de administrador
Abra System › Admin › Admin users y utilice + Create account.
| Rol | Acceso |
|---|---|
admin | Acceso total a la admin API |
staff | Solo lectura en todo el sistema |
user | Vista de solo lectura de los recursos de un cliente |
La cuenta root es la creada en el asistente de configuración. Acciones de fila: Edit, Reset PW, Key, Delete. Las contraseñas se almacenan como hashes con salt; modificar o bloquear una cuenta cierra sus sesiones de inmediato.
Inicio de sesión de clientes
Abra System › Settings › Customer logins.
| Ajuste | Qué hace |
|---|---|
| Google sign-in | Habilite y luego introduzca el client ID y el secret de OAuth. Copie la Callback URL que se muestra en la página en Google Cloud Console › APIs & Services › Credentials › OAuth client ID › Authorized redirect URIs. Utilice Test configuration. |
| Inicio de sesión con GitHub | Igual, con GitHub › Settings › Developer settings › OAuth Apps › Authorization callback URL |
| Passkey | Inicio de sesión mediante huella dactilar, PIN o llave de hardware; activado por defecto. Las passkeys están vinculadas al dominio; el dominio de cada revendedor funciona por separado. Introduzca un dominio anterior en Legacy passkey Domain tras un cambio de marca para que los clientes reciban una sugerencia útil |
| Reautenticar al añadir métodos de inicio de sesión | Solicita de nuevo la contraseña antes de añadir una passkey o vincular Google/GitHub (desactivado por defecto) |
| Captcha | Cloudflare Turnstile o Google reCAPTCHA en el registro: habilite, elija el proveedor e introduzca la site key y la secret key |
| Bloquear dominios de correo electrónico | Un dominio por línea (máx. 2000). Las direcciones que coincidan se rechazan en el registro con email_domain_blocked |

Políticas integradas
| Política | Valor |
|---|---|
| Contraseña del cliente | Al menos 10 caracteres, letras y dígitos |
| Sesión del cliente | 30 días; las sesiones de "login as customer" duran 1 hora |
| Verificación de correo electrónico | Obligatorio antes de crear una VM cuando require e-mail verified está activado en los ajustes de ventas |
| Anti-carding | Las cuentas con menos de la recarga mínima solo pueden crear un número limitado de VM |
Fortalecimiento del servidor
- El puerto 3000 se cierra tras la configuración y TLS; consulte Instalación.
- El servicio se ejecuta como el usuario sin privilegios
nexcmpcon un sandbox de systemd restringido. - Las claves de API, las credenciales de pago y las contraseñas SMTP se almacenan cifradas; la clave maestra está en
/var/lib/nexcmp/secrets— proteja los backups. - Las versiones se verifican con SHA-256 y una firma Ed25519 antes de la instalación.