Redis Genpass

Redis Genpass
Redis è un archivio dati in memoria ottimizzato per le prestazioni che utilizza un formato di coppia di valore chiave per archiviare i dati. Redis consente a qualsiasi nuova connessione client per accedere a ogni chiave e comando all'interno dell'archivio dati fino alla sua versione 6.0.0. Dalla versione 6.0.0, Redis ha introdotto un nuovo livello di sicurezza con la funzione Elenco di controllo degli accessi. Con la funzione ACL, Redis può limitare i livelli di accesso a comandi e chiavi per diverse connessioni client. Quando è in atto Redis ACL, la connessione client dovrebbe autenticarsi con un nome utente e una password. Quindi, il livello di accesso di ogni connessione varia da tutte le chiavi e comandi a un sottoinsieme di quelli. L'utente "predefinito" può accedere a ogni comando e chiave nell'archivio dati.

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.