Categoria: Sviluppo
Generatore di htpasswd
Crea voci di file password per Basic Auth in locale
Genera una riga htpasswd di Apache nel browser. Crea credenziali Basic Auth con bcrypt e copia o scarica una voce .htpasswd senza mai inviare la password a un server.
Ogni passo raddoppia il lavoro che deve fare un attaccante, e anche il tempo che questa pagina impiega a generare la riga. Da 10 a 12 va bene per la maggior parte dei server.
Qui comparirà il risultato.
bcrypt legge al massimo 72 byte di una password; tutto ciò che segue viene ignorato, sia su questa pagina sia sul tuo server.
Salva il file fuori dalla radice web e fai puntare AuthUserFile lì. Un .htpasswd dentro una cartella servita può essere scaricato.
La password viene trasformata in hash in questa scheda. Non viene mai inviata da nessuna parte, mai memorizzata, e neanche la riga che ne esce.
Tutto ciò che c'è in questa pagina viene elaborato nel tuo browser. Niente viene caricato.
A cosa serve
Un file .htpasswd è un semplice elenco di record `utente:hash` che l'autenticazione Basic di Apache consulta al login, e nginx legge lo stesso formato in auth_basic_user_file. Questa pagina costruisce quei record sul tuo dispositivo: l'implementazione di bcrypt gira nella scheda, quindi la password non viaggia mai. bcrypt è l'impostazione predefinita perché è deliberatamente lento e salato individualmente, il che rende costoso forzare un file rubato; il cursore del costo decide quanto lo rallenti. SHA-1 è offerto solo per un server troppo vecchio per accettare bcrypt: è senza sale e veloce, e la pagina lo dice proprio dove scegli.
Come si usa
- Inserisci nome utente e password, oppure genera una password casuale.
- Mantieni bcrypt e scegli un costo: da 10 a 12 va bene per la maggior parte dei server.
- Copia la riga, o scarica il file .htpasswd, e conservalo fuori dalla tua radice web.
Privacy
Questo strumento funziona interamente nel tuo browser. Quello che inserisci non viene mai caricato, salvato o condiviso: chiudendo la scheda sparisce.
Domande frequenti
- La mia password viene caricata?
- No. L'hash è calcolato nella scheda del browser. La password, il sale e la riga finale non vengono mai trasmessi, registrati o memorizzati da nessuna parte.
- Quale hash devo scegliere?
- bcrypt, a meno che il tuo server davvero non lo accetti. È salato per ogni voce e lento di proposito, così chi ruba il file deve spendere tempo reale su ogni tentativo. L'opzione SHA-1 è senza sale e rapida da forzare, ed esiste solo per compatibilità.
- Che cosa fa il costo di bcrypt?
- È il logaritmo in base 2 del numero di round di preparazione della chiave, quindi ogni passo raddoppia il lavoro, per un attaccante e per il tuo server al momento del login. Un costo tra 10 e 12 è il compromesso abituale; costi più alti rendono anche questa pagina sensibilmente più lenta.
- Posso usare l'output con nginx?
- Sì. nginx legge lo stesso formato di file in auth_basic_user_file e supporta le voci bcrypt, quindi una riga generata qui funziona sia per Apache sia per nginx.
- Dove va messo il file?
- Fuori dalla cartella pubblicata dal tuo server, con AuthUserFile che punta al suo percorso. Se .htpasswd sta dentro una cartella servita, chiunque può scaricare gli hash e forzarli offline.