Guida · Per gli amministratori
Verifica in due passaggi
Con la verifica in due passaggi, per entrare nel pannello non basta la password: serve anche un codice di 6 cifre che cambia ogni 30 secondi nell'app di autenticazione del telefono (Google Authenticator, Microsoft Authenticator, Aegis, 1Password o un'altra app TOTP). Chi scopre la password da solo non entra.
Vale per gli amministratori, per i clienti e per le persone dei loro team: ognuno la attiva per sé, con il suo telefono.
Attivarla
- Apri Il mio account (in basso nel menu, «Password e verifica»).
- In Verifica in due passaggi premi Attiva la verifica e scrivi la tua password.
- Inquadra il codice QR con l'app del telefono. Se non riesci, scrivi a mano la chiave che compare sotto; dal telefono puoi anche toccare Apri nell'app.
- Scrivi il codice di 6 cifre che mostra l'app e premi Conferma e attiva.
- Salva i 10 codici di recupero (Copia o Scarica .txt) in un posto sicuro, fuori dal telefono: si vedono una volta sola.
Quando la attivi, le altre sessioni aperte con il tuo account si chiudono (resta quella da cui l'hai attivata) e ti arriva un'email.
Nell'app il conto compare con il nome del tuo marchio (Impostazioni › Il tuo marchio) e la tua email.
Entrare
Dopo email e password il pannello chiede il codice dell'app. Il telefono, se lo propone, lo inserisce da solo. Un codice vale una volta sola e per pochi minuti dopo la password: se aspetti troppo, riscrivi email e password.
Se non hai il telefono, premi Usa un codice di recupero e scrivi uno dei codici salvati (maiuscole, minuscole e trattini non contano). Ogni codice vale una volta sola; quando entri con un codice di recupero ricevi un'email, e il pannello ti dice quanti codici ti restano.
Contro chi prova a indovinare: dopo la password giusta si hanno al massimo 5 codici, poi si riparte da capo; non più di 10 codici in 10 minuti per ogni persona e non più di 30 codici sbagliati in 10 minuti dallo stesso indirizzo (gli accessi riusciti non contano: chi lavora dietro lo stesso indirizzo non si blocca a vicenda). Dopo 5 codici sbagliati con la password giusta la persona riceve un'email: qualcuno conosce la sua password (al massimo una ogni 6 ore; resta anche nel registro delle attività).
Codici di recupero e telefono nuovo
- Nuovi codici di recupero (con un codice dell'app) crea 10 codici nuovi: quelli vecchi smettono di valere. Quando ne restano 3 o meno, il pannello lo segnala.
- Per passare a un telefono nuovo: Disattiva (con la password e un codice dell'app o di recupero), poi Attiva la verifica con il telefono nuovo.
Disattivarla chiude le altre sessioni e manda un'email.
Renderla obbligatoria
In Impostazioni › Sicurezza scegli se è obbligatoria per gli amministratori e/o per i clienti (comprese le persone dei loro team). Di base è facoltativa. La scheda dice anche quanti ce l'hanno già.
Chi non ce l'ha, al prossimo accesso con la password, trova una pagina che può solo attivarla: inquadra il QR, scrive il codice, salva i codici di recupero e poi entra come sempre. Finché non la attiva, il resto del pannello e dell'API del pannello gli risponde «prima attiva la verifica in due passaggi». Chi è già dentro quando accendi l'obbligo resta dentro fino alla fine della sua sessione.
Se la verifica è obbligatoria e qualcuno la disattiva (per cambiare telefono), subito dopo il pannello gli chiede di attivarla di nuovo.
Prima di renderla obbligatoria per gli amministratori, attivala tu.
Chi ha perso il telefono e i codici
| Chi | Chi gliela toglie |
|---|---|
| un cliente | tu, in Clienti e piani: pulsante con lo scudo accanto al cliente (c'è solo se la verifica è attiva); oppure il sistema di fatturazione con l'API |
| una persona del team di un cliente | il titolare del conto o un amministratore del suo team (pagina Team e API); oppure tu, da Team, chiavi API e registro del cliente |
| un amministratore | un altro amministratore non può: si toglie dal server del pannello con il comando qui sotto |
Quando la togli, la persona esce da tutte le sessioni, riceve un'email e al prossimo accesso entra con la sola password (se è obbligatoria, la riattiva subito). L'operazione resta nel registro del pannello e in quello delle attività del cliente, dove l'autore compare come «Amministratore del pannello» (o «Il tuo fornitore» se l'ha tolta un rivenditore), senza la tua email.
Un rivenditore, con la sua chiave API, la toglie ai suoi clienti ma non a sé stesso: la chiave può averla creata una persona del suo team.
Per un amministratore (anche l'ultimo), sul server del pannello:
sudo koavm user-2fa-reset --email nome@esempio.it
Funziona anche a pannello acceso. Se il database è occupato il comando lo dice: fermalo con sudo systemctl stop koavm, ripeti e riavvialo con sudo systemctl start koavm. Vale per qualsiasi email del pannello, anche di un cliente o di una persona di un team. Il comando dice anche cosa succede al prossimo accesso: se la verifica è obbligatoria per gli amministratori, dopo la password si deve attivarla di nuovo.
Se nessun amministratore riesce più ad attivarla (per esempio perché manca la chiave dei segreti, vedi sotto), spegni l'obbligo dal server:
sudo koavm user-2fa-reset --togli-obbligo
Si può unire a --email. L'obbligo si riaccende da Impostazioni › Sicurezza.
Cosa non cambia
- Chiavi API del pannello (dei clienti) e di
/api/v1(fatturazione): funzionano come prima, senza codice. - Link di accesso creati dalla fatturazione con la chiave API (
POST /api/v1/vps/{id}/login-linke/clients/{id}/login-link): entrano senza secondo passo, perché la fatturazione ha già autenticato il cliente. Anche quando la verifica è obbligatoria per i clienti. - Accesso con Prime Software ID («Entra come admin»): ha già la sua verifica in due passaggi.
- Gli account demo e la demo pubblica non possono attivarla e non sono mai obbligati.
Dove sono i segreti
Il segreto di ogni persona è salvato nel database cifrato con una chiave che sta nella cartella dei dati (/var/lib/koavm/totp.key): chi ha in mano solo il database non lo legge. La chiave va nella copia del pannello e torna con il ripristino (vedi Aggiornamenti e versioni). Se la chiave si perde (per esempio spostando a mano solo il database), i codici dell'app non si controllano più: si entra con un codice di recupero, che non dipende dalla chiave, oppure si toglie la verifica con koavm user-2fa-reset. Finché ci sono verifiche attive il pannello non crea da solo una chiave nuova al posto di quella persa: se la ritrovi, rimettila e tutto torna a funzionare. Se è persa davvero, creane una nuova:
sudo koavm user-2fa-reset --nuova-chiave
Le attivazioni nuove usano la chiave nuova; chi aveva la verifica con quella persa entra con un codice di recupero (o gliela togli con --email) e poi la riattiva. Ogni segreto porta scritto con quale chiave è cifrato: il rapporto per l'assistenza dice quanti sono cifrati con un'altra chiave.
I codici di recupero sono salvati solo come impronta (hash): nemmeno il pannello li sa rileggere.
Il rapporto per l'assistenza dice quanti amministratori, clienti e persone dei team hanno la verifica e se la chiave c'è; mai i segreti.