Redis è un archivio di chiavi/valore in memoria open source, utilizzato come database, cache e broker di messaggi. È un database di valori-chiave in memoria distribuito con durabilità opzionale. Supporta strutture di dati comuni come stringhe, hash, elenchi, set, bitmap, set ordinati, HyperlogLog, stream e indici geospaziali con query raggio.
In questo tutorial, ti mostreremo come installare e configurare Redis Server su Ubuntu 18.04 LTS. Installeremo prima il server Redis, quindi proteggeremo l'installazione per renderlo pronto per la produzione.
Prerequisiti
Per questa guida, installeremo il server Redis su Ubuntu 18.04 con 1GB di RAM e 2 core di CPU. Questo è solo per il test e avrai bisogno di più di questo per la tua produzione.
Cosa faremo:
- Installa il server Redis
- Configurazione di base del server Redis
- Protezione del server Redis
- Test
Passaggio 1:installazione del server Redis
In primo luogo, aggiorneremo tutti i repository sul sistema Ubuntu e tutti i pacchetti.
Esegui i comandi apt di seguito.
sudo apt update
sudo apt upgrade
Successivamente, installa il pacchetto Redis-server dal repository ufficiale di Ubuntu usando il comando apt di seguito.
sudo apt install redis-server
Una volta completata l'installazione, riceverai un messaggio di errore sull'avvio del servizio Redis non riuscito, ignora il messaggio di errore e configureremo nel passaggio successivo.
Fase 2 - Configurazione di base del server Redis
In questo passaggio, configureremo il server Redis di base. Sul sistema Linux, la configurazione di Redis si trova nella directory '/etc/redis'.
Vai alla directory '/etc/redis' e modifica il file di configurazione 'redis.conf' usando vim editor.
cd /etc/redis/
vim redis.conf
In primo luogo, dobbiamo decidere che l'indirizzo IP "bind" eseguirà il servizio redis. Non è consigliabile utilizzare l'indirizzo IP pubblico per il servizio redis oppure, se stai eseguendo il servizio redis multiplo/cluster, dovresti utilizzare la rete interna.
Modificare l'indirizzo 'bind' con l'indirizzo IP localhost per questo esempio.
bind 127.0.0.1
Successivamente, è necessario impostare come verrà eseguito il servizio redis sul server. Dato che stiamo usando il server Ubuntu e systemd, quindi dobbiamo cambiare la configurazione della linea 'supervisionata' in 'systemd'.
supervised systemd
Salva e chiudi.
Ora riavvia il servizio redis e aggiungilo al tempo di avvio.
systemctl restart redis-server
systemctl enable redis-server
Ora assicurati che non ci siano errori e poi controlla il suo stato.
systemctl status redis-server
Di conseguenza, il servizio redis è attivo e funzionante su Ubuntu 18.04 Server.
Ora controlla la porta Redis predefinita '6379' usando il comando netstat di seguito.
netstat -plntu
E otterrai il risultato che il servizio redis è in esecuzione sull'indirizzo IP localhost con '6379' predefinito.
Ora controlla il Redis usando i comandi 'redis-cli' come di seguito.
redis-cli ping
redis-cli ping "Hello Redis"
E otterrai il risultato come di seguito.
Se la tua installazione è corretta, riceverai la risposta del server Redis con "PONG" o risponderai con il testo che hai appena inviato dopo l'opzione "ping".
L'installazione di base e la configurazione del Server Redis sono state completate con successo.
Passaggio 3 - Protezione dell'installazione di Redis
In questo passaggio, metteremo al sicuro la nostra installazione di Redis. Ci sono 3 cose che devi sapere sulla protezione del server Redis.
1. Sicurezza della rete
La sicurezza di rete per il server Redis è correlata alla configurazione 'bind' sulla configurazione Redis 'redis.conf'. Si consiglia di utilizzare la rete privata interna per l'installazione di Redis e di non utilizzare la rete pubblica.
Vai alla directory '/etc/redis' e modifica il file di configurazione 'redis.conf'.
cd /etc/redis/
vim redis.conf
Nella sezione 'bind', cambia l'indirizzo IP con il tuo indirizzo IP di rete interna.
bind INTERNAL-IP-ADDRESS
Salva e chiudi.
E ora il servizio Redis verrà eseguito sotto 'INTERNAL-IP-ADDRESS'.
2. Autenticazione password
L'autenticazione della password per Redis ti darà il controllo dell'accesso al tuo server Redis. Questo è un piccolo livello di sicurezza che migliorerà la sicurezza del tuo server Redis e non è ancora abilitato per l'installazione predefinita.
Per abilitare l'autenticazione della password per il server Rediser, dovrai decommentare la sezione 'requirepass' sul file 'redis.conf' e digitare la tua password complessa dopo di essa.
requirepass [email protected]#$
Modifica "[email protected]#$" con la tua password complessa. E ora l'autenticazione della password per Redis è stata abilitata.
3. Disabilitazione del comando Redis pericoloso
Redis fornisce una funzione per disabilitare alcuni comandi Redis specifici. Questa funzione può essere utilizzata per rinominare o disabilitare alcuni dei comandi pericolosi come 'FLUSHALL' per la cancellazione di tutti i dati, il comando 'CONFIG' per impostare i parametri di configurazione tramite la CLI Redis, ecc.
Per modificare o disabilitare il comando Redis, puoi utilizzare l'opzione 'rename-command'. Modifica il file di configurazione Redis 'redis.conf' e aggiungi alcune configurazioni di seguito.
# rename-command COMMAND "CUSTOM"
rename-command FLUSHALL "DELITALL"
rename-command CONFIG "MYSERVERCONF"
Salva e chiudi.
Al termine, riavvia il servizio Redis utilizzando il comando systemctl di seguito.
systemctl restart redis-server
E la sicurezza di base di Redis per proteggere l'installazione di Redis è stata applicata al nostro host.
Un'altra considerazione, potresti anche aver bisogno del supporto "Crittografia dei dati" per Redis, oltre alla codifica sicura necessaria sul lato dell'applicazione.
Fase 4 - Test
In questo passaggio, testeremo la nostra distribuzione del server Redis utilizzando la riga di comando 'redis-cli'.
1. Test dell'host e dell'autenticazione
Connettiti al server Redis utilizzando il comando redis-cli specificando il nome host/l'indirizzo IP e la porta del server redis.
redis-cli -h 10.5.5.25 -p 6379
Modifica "10.5.5.25" con il tuo indirizzo IP.
Una volta connesso al server, prova il comando ping.
ping
ping "Hello Redis"
Ora otterrai il risultato come di seguito.
Stai ricevendo un errore perché devi autenticarti prima di invocare qualsiasi comando sulla shell della CLI Redis.
Esegui il comando seguente per autenticarti sul server Redis.
AUTH [email protected]#$
Una volta autenticato, puoi provare il comando ping e riceverai una risposta dal server Redis.
ping
ping "Hello Redis"
Di seguito è riportato il risultato dopo l'autenticazione al server Redis.
2. Test comando disabilitato/rinominato
Esegui tutti i comandi che abbiamo rinominato sulla shell e otterrai l'errore di comando.
FLUSHALL
CONFIG
Di seguito è riportato il risultato dell'errore di quei comandi.
Quindi, esegui i comandi "PERSONALIZZATI" per ciascuno.
Crea una nuova chiave usando il comando redis-cli come di seguito.
SET Name "Hakase Labs"
SET Blog "Howtoforge.com"
Keys *
Ora cancella tutte le chiavi e i dati usando il comando 'FLUSHALL' rinominato 'DELITALL'.
DELITALL
Per il comando 'CONFIG', puoi provare a recuperare o impostare un nuovo valore della configurazione del server Redis. Il comando 'CONFIG' è stato rinominato in 'MYSERVERCONF'.
MYSERVERCONF get bind
MYSERVERCONF get requirepass
E di seguito è riportato il risultato di questi nuovi comandi personalizzati rinominati.
L'installazione di base di Redis Server su Ubuntu 18.04 è stata completata ed è stata applicata la sicurezza di base per Redis Server.