Som vist i forrige illustrasjon har visse brukere tilgang til avgrensede nøkler og kommandoer, mens standardbrukeren har tilgang til alle nøkler og operasjoner i butikken.
Vanligvis støtter Redis Auth -kommandoen med brukernavn og passordargumenter for å autentisere som en spesifikk bruker med visse begrensninger som er brukt.
ACL -passord
Redis ACL -passord er lagret i SHA256 Hashed -format. Vanligvis er disse mer som delte hemmeligheter. Disse passordene er heksadesimale strenger som inneholder pseudorandom -tall, som vist i følgende eksempel:
"TY6C75273D91T32DF726FB545C8A4EDC14RF0A95A6FD993950B10I814AD2R57U"
ACL -passordene legges ikke inn av et menneske. Det er lagret i en eller annen type klientprogramvare. Derfor er ikke passordlengden et problem i denne sammenhengen.
For å generere Redis ACL -passord, må du bruke en spesiell kommando kalt ACL Genpass, som vi vil diskutere i følgende avsnitt.
ACL Genpass -kommandoen
ACL Genpass-kommandoen brukes til å generere en alfanumerisk streng som har en størrelse på 64-byte som inneholder 256 biter av pseudorandom-data. For å gjøre passordet sterkere og vanskeligere å knekke, bruker denne kommandoen pseudorandomnummergeneratorene som /dev/urandom eller /dev/tilfeldig. Dette er spesielle typer filer som brukes til å lage sekvenser med tilfeldige tallverdier der de genererte tilfeldige tallene har egenskaper til en sekvens med tilfeldige tall. Disse passordene er ti ganger vanskeligere å sprekke enn et vanlig passord.
Syntaks
ACL Genpass [Number_of_bits_per_output_string]
NUMMER_OF_BITS_PER_OUTPUT_STRING: Dette er et valgfritt argument som spesifiserer antall biter som må være inneholdt i utgangsstrengen.
Denne kommandoen vil returnere en 64 byte alfanumerisk streng, som inkluderer 256 biter av pseudorandom -dataverdier. Hver gang du passerer det valgfrie argumentet der antall biter varierer fra 1 til 1024, vil utgangsstrenglengden endres deretter. Vanligvis vil utgangsstrenglengden bli beregnet ved å dele det spesifiserte antallet biter med 4. I tillegg er biter alltid avrundet til neste multiplum av 4.
Eksempel 01 - Generer standard lengde passord
La oss anta at vi må generere et ACL -passord for standardbrukeren som har tilgang til hver kommando og nøkkel i Redis Data Store. Vi vil bruke ACL Genpass -kommandoen, som er mindre kompleks og raskere på grunn av konstant tidskompleksitet.
Som forventet er utgangen en 64-byte alfanumerisk streng med 256 biter av pseudorandom-data. Utgangspassordlengden er 64 HEX -tegn. Det innebærer 256 biter er der.
Eksempel 02 - Generer passord for tilpasset lengde
ACL Genpass -kommandoen gir full kontroll til brukeren for å definere antall biter som trengs for å være i den endelige strengen. Den valgfrie parameteren kan sendes i form av antall biter i det genererte passordet.
La oss opprette et ACL -passord med størrelsen 16 biter. Derfor bør den endelige alfanumeriske strenglengden være 16 biter delt med fire som tilsvarer 4 sekskantkarakterer.
ACL Genpass 16
La oss prøve å spesifisere antall biter til 6. Kommandoen vil runde dette nummeret til neste flere av fire. Derfor blir antall biter 8 under panseret.
Som forventet er utgangsstrenglengden 2 sekskant tegn som representerer 8 biter av pseudorandom -data.
Som diskutert i de foregående eksemplene, kan ACL Genpass -kommandoen være en pålitelig passordgenerator for Redis Data Stores.
Konklusjon
For å oppsummere, introduserte Redis tilgangskontrolllistefunksjonen fra versjon 6.0.0. Det muliggjør et nytt sikkerhetslag der visse klientforbindelser kan få tilgang til begrensede kommandoer og nøkler i Redis Data Store. Hver klientforbindelse kan autentiseres ved hjelp av Auth kommando med brukernavnet og passordet som er gitt. Disse passordene lagres som SHA256 Hashed -verdier i Redis Storage. Derfor anbefales det å generere sterke Redis -passord ved hjelp av ACL Genpass -kommandoen. Det genererer en 64-byte alfanumerisk streng som er sterk nok til å unngå angrep.