Un proxy accetta una vecchia password quando cambia la sua parte finale, oppure una migrazione del file delle password rompe improvvisamente gli account con password lunghe. Ispeziona il formato dell'hash prima di accorciare le password di tutti.

htpasswd -d di Apache seleziona l'hashing legacy crypt(). Il suo limite DES documentato è di otto caratteri significativi della password. Quel limite appartiene al formato, non a una regola universale di otto caratteri per le password in Squid.

L'helper NCSA legge la rappresentazione memorizzata della password e verifica il valore fornito con i formati supportati da quell'helper e dalla sua piattaforma. Chiamare un file “formato htpasswd” non garantisce che ogni helper storico e attuale accetti ogni algoritmo di hash prodotto da ogni opzione di htpasswd.

Migra la rappresentazione in modo deliberato

Mantieni un backup protetto e identifica il formato usato dalle voci esistenti. Controlla il manuale dell'helper installato e la build della distribuzione prima di scegliere l'algoritmo sostitutivo.

Poi verifica un piccolo account di test approvato attraverso lo stesso helper e lo stesso percorso proxy usati dagli account reali. Il fatto che un generatore scriva correttamente un file non dimostra che l'helper che lo consuma possa validarlo. Usa una password di test i cui caratteri significativi superino il vecchio limite.

Cambiare formato richiede di norma la password effettiva o un reset della password. Un hash legacy non può essere trasformato nell'hash più forte della password originale completa se quell'informazione non è mai stata conservata.

Infine, distingui un errore di migrazione da un'autenticazione in cache. Un client già autenticato può continuare a funzionare per un po' anche quando una nuova validazione fallirebbe. Pianifica il rilascio sia intorno all'autenticazione nuova sia alle sessioni esistenti.

Non pubblicare il file delle password in una segnalazione di bug. Il marcatore dell'algoritmo e un account sintetico di solito forniscono prove più utili degli hash degli utenti reali.

Articoli correlati