Segurança
Onde encontrar no admin: System › Admin › Console security (
/account), Admin users (/users); System › Settings › Customer logins (/settings/login).
Console administrativo
Autenticação de dois fatores (TOTP)
O console é acessível a partir da Internet, portanto, ative o TOTP.
- Abra System › Admin › Console security.
- Em Two-factor authentication (TOTP), clique em Start setup.
- Escaneie o código QR com o Google Authenticator, Authy, 1Password ou Bitwarden e insira o código de 6 dígitos.
Intervalos de IP permitidos para o console
Em Allowed console IP ranges, insira um IP ou CIDR (IPv4 ou IPv6) por linha. Campo vazio significa qualquer lugar. Fora desse intervalo, tanto o login quanto a API de admin serão bloqueados.
Não fique sem acesso
A página exibe seu IP atual e exige que a nova lista o inclua. Use + Add my IP. Se você perder o acesso mesmo assim, utilize o emergency access a partir do servidor.
Alterar senha
Preencha Current password, New password e Confirm new password. Use uma senha longa e exclusiva (12 caracteres ou mais; o assistente de instalação exige 12 para o primeiro administrador).
Contas e funções de administradores
Abra System › Admin › Admin users e use + Create account.
| Função | Acesso |
|---|---|
admin | Acesso total à API de admin |
staff | Apenas leitura em todo o sistema |
user | Visualização somente leitura dos recursos de um cliente |
A conta root é a criada no setup wizard. Ações de linha: Edit, Reset PW, Key, Delete. As senhas são armazenadas como hashes com salt; alterar ou bloquear uma conta encerra suas sessões imediatamente.
Login de clientes
Abra System › Settings › Customer logins.
| Configuração | O que faz |
|---|---|
| Google sign-in | Ative e insira o ID de cliente OAuth e o segredo. Copie a Callback URL exibida na página para Google Cloud Console › APIs & Services › Credentials › OAuth client ID › Authorized redirect URIs. Use Test configuration. |
| GitHub login | O mesmo, com GitHub › Settings › Developer settings › OAuth Apps › Authorization callback URL |
| Passkey | Login por impressão digital, PIN ou chave de hardware; ativado por padrão. As passkeys são vinculadas ao domínio; cada domínio de revendedor funciona de forma independente. Insira um domínio antigo em Legacy passkey Domain após um rebranding para que os clientes recebam uma dica útil |
| Reautenticar ao adicionar métodos de login | Solicitar a senha novamente antes de adicionar uma passkey ou vincular o Google/GitHub (desativado por padrão) |
| Captcha | Cloudflare Turnstile ou Google reCAPTCHA no cadastro: ative, escolha o provedor, insira a chave do site e a chave secreta |
| Block e-mail domains | Um domínio por linha (máx. 2000). Endereços correspondentes são rejeitados no cadastro com email_domain_blocked |

Built-in policies
| Política | Valor |
|---|---|
| Customer password | Pelo menos 10 caracteres, letras e dígitos |
| Customer session | 30 dias; sessões de "fazer login como cliente" duram 1 hora |
| E-mail verification | Obrigatório antes de criar uma VM quando require e-mail verified estiver ativado nas configurações de vendas |
| Anti-carding | Contas com saldo inferior à recarga mínima só podem criar um número limitado de VMs |
Server hardening
- A porta 3000 é fechada após a configuração e o TLS; consulte Installation.
- O serviço é executado como o usuário não privilegiado
nexcmpcom uma sandbox do systemd restrita. - Chaves de API, credenciais de pagamento e senhas SMTP são armazenadas de forma criptografada; a chave mestre está em
/var/lib/nexcmp/secrets— proteja backups. - As versões são verificadas com SHA-256 e uma assinatura Ed25519 antes da instalação.