Come mostrato nell'illustrazione precedente, alcuni utenti hanno accesso a chiavi e comandi delimitati, mentre l'utente predefinito ha accesso a tutte le chiavi e operazioni nel negozio.
Di solito, Redis supporta il comando Auth con gli argomenti di nome utente e password per autenticarsi come utente specifico con determinate restrizioni applicate.
Password ACL
Le password di Redis ACL sono archiviate in formato hash sha256. Di solito, questi sono più simili ai segreti condivisi. Queste password sono stringhe esadecimali che contengono numeri pseudorandi, come mostrato nell'esempio seguente:
"Ty6c75273d91t32df726fb545c8a4edc14rf0a95a6fd993950b10i814ad2r57u"
Le password ACL non sono inserite da un essere umano. È archiviato in qualche tipo di software client. Quindi, la lunghezza della password non è affatto un problema in questo contesto.
Per generare le password ACL Redis, è necessario utilizzare un comando speciale chiamato ACL Genpass, di cui discuteremo nella sezione seguente.
Il comando ACL Genpass
Il comando ACL Genpass viene utilizzato per generare una stringa alfanumerica che ha una dimensione di 64 byte che contiene 256 bit di dati pseudorandom. Per rendere la password più forte e più difficile da rompere, questo comando utilizza i generatori di numeri pseudorandom come /dev/urandom O /Dev/Random. Questi sono tipi speciali di file utilizzati per creare sequenze di valori di numeri casuali in cui i numeri casuali generati hanno proprietà di una sequenza di numeri casuali. Queste password sono dieci volte più difficili da rompere rispetto a una solita password.
Sintassi
ACL Genpass [Number_of_bits_per_output_string]
NUMBER_OF_BITS_PER_OUTPUT_STRING: Questo è un argomento facoltativo che specifica il numero di bit necessari per essere contenuti nella stringa di output.
Questo comando restituirà una stringa alfanumerica da 64 byte, che include 256 bit di valori di dati pseudorandom. Ogni volta che si passa l'argomento opzionale in cui il numero di bit varia da 1 a 1024, la lunghezza della stringa di output cambierà di conseguenza. Di solito, la lunghezza della stringa di output verrà calcolata dividendo il numero specificato di bit per 4. Inoltre, i bit sono sempre arrotondati al prossimo multiplo di 4.
Esempio 01 - Genera password di lunghezza predefinita
Supponiamo che dobbiamo generare una password ACL per l'utente predefinito che ha accesso a ogni comando e chiave nel Redis Data Store. Useremo il comando Genpass ACL, che è meno complesso e più veloce a causa della costante complessità del tempo.
Come previsto, l'output è una stringa alfanumerica a 64 byte con 256 bit di dati pseudorandom. La lunghezza della password di output è di 64 caratteri esadecimi. Ciò implica che ci sono 256 bit.
Esempio 02 - Genera password di lunghezza personalizzata
Il comando ACL GenPass dà il pieno controllo all'utente per definire il numero di bit necessari per essere nella stringa finale. Il parametro opzionale può essere passato sotto forma del numero di bit nella password generata.
Creiamo una password ACL con le dimensioni di 16 bit. Quindi, la lunghezza finale della stringa alfanumerica dovrebbe essere di 16 bit divise per quattro che equivale a 4 caratteri esadecimi.
ACL Genpass 16
Proviamo a specificare il numero di bit a 6. Il comando arrotonderà questo numero al prossimo multiplo di quattro. Quindi, il numero di bit diventa 8 sotto il cofano.
Come previsto, la lunghezza della stringa di output è 2 caratteri esagonali che rappresentano 8 bit di dati pseudorandom.
Come discusso negli esempi precedenti, il comando ACL GenPass può essere un generatore di password affidabile per Redis Data Store.
Conclusione
Per riassumere, Redis ha introdotto la funzione dell'elenco di controllo degli accessi dalla versione 6.0.0. Abilita un nuovo livello di sicurezza in cui determinate connessioni client possono accedere a comandi e chiavi limitate nel Redis Data Store. Ogni connessione client può essere autenticata utilizzando il AUTH comando con il nome utente e la password forniti. Queste password sono memorizzate come valori di hash sha256 nell'archiviazione Redis. Quindi, si consiglia di generare password Redis forti utilizzando il comando ACL Genpass. Genera una stringa alfanumerica a 64 byte che è abbastanza forte da evitare gli attacchi.