Introducció
L'autenticació és un aspecte crucial per assegurar que només els usuaris autoritzats puguin accedir i manipular les dades emmagatzemades en Redis. Redis proporciona mecanismes d'autenticació senzills però efectius per protegir l'accés al servidor.
Configuració de l'Autenticació
- Configuració del Password
Redis permet configurar un password que els clients han de proporcionar per poder interactuar amb el servidor. Aquesta configuració es fa al fitxer de configuració redis.conf
.
Pasos per configurar el password:
- Obre el fitxer
redis.conf
amb un editor de text. - Cerca la línia que conté
# requirepass foobared
. - Descomenta la línia i substitueix
foobared
pel password desitjat. Per exemple:requirepass mysecurepassword
- Desa els canvis i reinicia el servidor Redis per aplicar la configuració.
- Autenticació des de la CLI
Un cop configurat el password, els clients han d'autenticar-se abans de poder executar qualsevol comanda. Això es fa utilitzant la comanda AUTH
.
Exemple:
$ redis-cli 127.0.0.1:6379> AUTH mysecurepassword OK 127.0.0.1:6379> SET mykey "Hello" OK 127.0.0.1:6379> GET mykey "Hello"
Si el password és incorrecte, Redis retornarà un error:
Autenticació en Aplicacions
Quan es treballa amb aplicacions que interactuen amb Redis, és important assegurar-se que el password s'envia correctament. A continuació es mostren exemples en diferents llenguatges de programació.
Exemple en Python (usant redis-py
):
import redis # Connecta a Redis amb autenticació client = redis.StrictRedis(host='localhost', port=6379, password='mysecurepassword') # Estableix una clau client.set('mykey', 'Hello') # Obté el valor de la clau value = client.get('mykey') print(value) # Output: b'Hello'
Exemple en Node.js (usant redis
):
const redis = require('redis'); // Crea un client de Redis amb autenticació const client = redis.createClient({ host: 'localhost', port: 6379, password: 'mysecurepassword' }); client.on('connect', function() { console.log('Connected to Redis'); }); // Estableix una clau client.set('mykey', 'Hello', function(err, reply) { if (err) throw err; console.log(reply); // Output: OK }); // Obté el valor de la clau client.get('mykey', function(err, reply) { if (err) throw err; console.log(reply); // Output: Hello });
Errors Comuns i Consells
Errors Comuns
- No configurar el password correctament: Assegura't que la línia
requirepass
no estigui comentada i que el password sigui correcte. - No reiniciar el servidor després de canviar la configuració: Els canvis al fitxer
redis.conf
no s'apliquen fins que el servidor es reinicia. - No autenticar-se abans d'executar comandes: Si no s'executa la comanda
AUTH
amb el password correcte, Redis retornarà errors d'autenticació.
Consells
- Utilitza passwords forts: Evita utilitzar passwords trivials o fàcils d'endevinar.
- Gestiona els secrets de manera segura: No incloguis passwords en el codi font. Utilitza variables d'entorn o serveis de gestió de secrets.
- Revisa els logs de Redis: Els logs poden proporcionar informació útil sobre intents d'autenticació fallits.
Resum
En aquesta secció, hem après com configurar l'autenticació en Redis per protegir l'accés al servidor. Hem vist com configurar el password al fitxer redis.conf
, com autenticar-se des de la CLI i com gestionar l'autenticació en aplicacions utilitzant diferents llenguatges de programació. També hem revisat errors comuns i consells per assegurar una configuració segura.
Amb aquests coneixements, estàs preparat per assegurar el teu servidor Redis i protegir les teves dades contra accessos no autoritzats.
Curs de Redis
Mòdul 1: Introducció a Redis
Mòdul 2: Estructures de Dades de Redis
Mòdul 3: Comandes i Operacions de Redis
Mòdul 4: Persistència de Redis
- Instantànies (RDB)
- Fitxers Només de Afegeix (AOF)
- Configuració de la Persistència
- Còpia de Seguretat i Restauració
Mòdul 5: Seguretat de Redis
Mòdul 6: Optimització del Rendiment de Redis
Mòdul 7: Clúster i Alta Disponibilitat de Redis
Mòdul 8: Mòduls i Extensions de Redis
- Introducció als Mòduls de Redis
- Mòduls Populars de Redis
- Creant Mòduls Personalitzats
- Utilitzant Redis amb Altres Tecnologies