# Proteggere un percorso o un sito con password (basic auth)

> Metti nome utente e password davanti a /admin, a un altro percorso o a tutto il sito con l'autenticazione HTTP basic di Nginx, per uno o più utenti.

La pagina **Regole di sicurezza** di un sito chiede un nome utente e una password prima che qualcuno veda una parte del sito, come `/admin`, o tutto il sito. Usa l'autenticazione HTTP basic di Nginx: il browser mostra una richiesta di accesso, e passa solo chi ha uno dei nomi utente e delle password della regola. La tua app non deve saperne nulla.

Usala per proteggere dal pubblico e dai motori di ricerca un'area di amministrazione, uno strumento come Horizon o phpMyAdmin sotto un percorso, o un sito di staging.

![La pagina Regole di sicurezza di un sito con una regola per /admin e i suoi utenti](https://ops.vimonto.com/docs-media/it/site-security.webp?v=161e760d "Le regole di sicurezza di un sito")

## Aggiungere una regola di sicurezza

1. Apri il sito e clicca su **Regole di sicurezza** nella sua barra laterale.
2. Clicca su **Aggiungi regola**.
3. Compila:
   - **Nome**: per te, come `Area di amministrazione`.
   - **Percorso**: il percorso da proteggere, come `/admin`. Lascialo vuoto per proteggere tutto il sito.
   - **Utenti**: un **Nome utente** e una **Password** per ogni persona o team che può entrare. Clicca su **Aggiungi utente** per aggiungerne altri, fino a 10 per regola. I nomi utente usano lettere, numeri, `.`, `_`, `@` e `-`; le password hanno almeno 8 caratteri.
4. Clicca su **Aggiungi regola**.

La regola mostra uno stato mentre viene scritta sul server, ed è attiva quando ha finito. Un sito può avere al massimo 20 regole, una per percorso.

## Cosa protegge un percorso?

Una regola protegge il percorso e tutto ciò che sta sotto. Con il percorso `/admin`:

| Richiesta | Chiede l'accesso? |
| --- | --- |
| `/admin` e `/admin/` | Sì |
| `/admin/users`, `/admin/x/y` | Sì |
| I file PHP sotto, come `/admin/index.php` | Sì |
| `/adminx`, `/administrator` | No |

Una regola con il percorso vuoto protegge ogni pagina del sito. Let's Encrypt può comunque raggiungere il sito per emettere e rinnovare i certificati.

## Modificare utenti e password

Clicca su **Modifica** su una regola per cambiarne nome, percorso o utenti. Le password non vengono mai mostrate: lascia vuota la **Password** di un utente per mantenere quella salvata, o scrivine una nuova per sostituirla. Un utente che aggiungi ha bisogno di una password. Rimuovi un utente con **Rimuovi** accanto; una regola mantiene sempre almeno un utente.

Clicca su **Rimuovi** sulla regola stessa e conferma per eliminarla: il percorso, o tutto il sito, torna aperto a tutti.

## Come vengono salvate le password?

Vimonto Deploy conserva solo un hash bcrypt di ogni password, mai la password stessa. Sul server, ogni regola riceve un file di password in `/etc/nginx/vimonto-auth/`, e le regole vanno in `security.conf` nella cartella di include della configurazione [Nginx](https://ops.vimonto.com/docs/it/sites/nginx) del sito, `/etc/nginx/vimonto-conf/site-{id}/`. La configurazione viene verificata con `nginx -t` prima che Nginx si ricarichi; se Nginx la rifiuta, le regole precedenti restano attive e la regola risulta non riuscita.

Come per i [redirect](https://ops.vimonto.com/docs/it/sites/redirects), la pagina mostra **Non tutte le regole sono attive** con **Applica di nuovo** quando una modifica non ha raggiunto il server, e **Queste regole non si applicano a questo sito** quando la configurazione Nginx personalizzata del sito non include più la cartella di include.

## Regole di sicurezza o protezione con password?

La [funzionalità del sito](https://ops.vimonto.com/docs/it/sites/site-features#protezione-con-password) **Protezione con password** mette anch'essa un nome utente e una password davanti a tutto il sito. Una regola di sicurezza può fare lo stesso, con più utenti, e può anche proteggere solo un percorso.

Una regola per tutto il sito e la funzionalità **Protezione con password** non si possono usare insieme: disattiva la funzionalità prima di aggiungere una regola senza percorso, o rimuovi quella regola prima di attivare la funzionalità. Le regole per un percorso si possono combinare con la funzionalità.

I siti su un load balancer non hanno la pagina **Regole di sicurezza**; usa lì la **Protezione con password**, che protegge in un colpo solo tutti gli app server dietro il load balancer.

## Chi può modificare le regole di sicurezza?

Ogni membro può vedere le regole e i loro nomi utente. Aggiungere, modificare e rimuovere regole richiede il permesso di gestire i siti (proprietario, amministratore, manager e sviluppatore), e il sito e il suo server devono essere attivi. Le modifiche vengono registrate nel [registro di audit](https://ops.vimonto.com/docs/it/organization/audit-log), senza le password.

## Domande frequenti

### L'autenticazione basic è sicura?

La password viaggia con ogni richiesta, quindi usala solo su un sito con [HTTPS](https://ops.vimonto.com/docs/it/sites/domains-and-ssl). Su HTTPS è un modo semplice e solido per tenere persone e motori di ricerca fuori da una parte di un sito.

### Posso invece proteggere un percorso nella mia app?

Sì, con l'accesso della tua app. Una regola di sicurezza è utile per ciò che non ha un accesso proprio, o come livello in più davanti.

### Un sito clonato mantiene le sue regole di sicurezza?

Sì. Quando [cloni un sito](https://ops.vimonto.com/docs/it/sites/site-settings#clonare-un-sito), i suoi redirect e le sue regole di sicurezza vengono copiati, con gli stessi utenti e le stesse password.
