GNU/Linux >> Linux Esercitazione >  >> Debian

Installa e proteggi il server Redis su Debian 10

Redis noto anche come "Server dizionario remoto" è un database open source e in memoria che può essere utilizzato come database, cache e broker di messaggi. Redis supporta varie strutture di dati, come stringhe, hash, elenchi, set e molti altri. Redis è scritto nel linguaggio di programmazione C e funziona nella maggior parte dei sistemi POSIX come Linux, Free BSD e OS X. Redis è ed è in grado di eseguire migliaia di comandi al secondo. Redis viene fornito con un ricco set di funzionalità tra cui replica, failover automatico, scripting Lua, rimozione di chiavi LRU, transazioni e molto altro.

In questo tutorial impareremo come installare e proteggere Redis sul server Debian 10.

Requisiti

  • Un server che esegue Debian 10.
  • È stata impostata una password di root sul tuo server.

Per iniziare

Prima di iniziare, dovrai aggiornare il tuo sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:

apt-get update -y
apt-get upgrade -y

Una volta aggiornato il server, riavvia il server per applicare le modifiche.

Installa Redis

Per impostazione predefinita, Redis è disponibile nel repository Debian 10. Puoi installarlo semplicemente eseguendo il seguente comando:

apt-get install redis-server -y

Dopo aver installato Redis, avvia il servizio Redis e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:

systemctl start redis-server
systemctl enable redis-server

Puoi anche verificare lo stato del server Redis con il seguente comando:

systemctl status redis-server

Dovresti ottenere il seguente output:

? redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-09-06 05:57:45 EDT; 4s ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 2284 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 2285 (redis-server)
    Tasks: 4 (limit: 1138)
   Memory: 6.8M
   CGroup: /system.slice/redis-server.service
           ??2285 /usr/bin/redis-server 127.0.0.1:6379

Sep 06 05:57:45 debian systemd[1]: Starting Advanced key-value store...
Sep 06 05:57:45 debian systemd[1]: redis-server.service: Can't open PID file /run/redis/redis-server.pid (yet?) after start: No such file or di
Sep 06 05:57:45 debian systemd[1]: Started Advanced key-value store.

Per impostazione predefinita, Redis è in ascolto su localhost sulla porta 6379. Puoi verificarlo con il seguente comando:

ps -ef | grep redis

Dovresti vedere il seguente output:

redis     2285     1  0 05:57 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root      2294   706  0 05:59 pts/0    00:00:00 grep redis

Quindi, verifica la connettività Redis con il seguente comando:

redis-cli

Dovresti vedere il seguente output:

127.0.0.1:6379> 

Ora controlla la connettività Redis con il comando ping:

127.0.0.1:6379> ping

Se tutto va bene, dovresti vedere il seguente output:

PONG

Una volta che hai finito. Puoi procedere al passaggio successivo.

Configura Redis come cache

Puoi configurare Redis come cache modificando il file /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Aggiungi le seguenti righe alla fine del file:

maxmemory 64mb
maxmemory-policy allkeys-lru

Quando viene raggiunta la memoria massima di 64 MB. Redis rimuoverà qualsiasi chiave secondo l'algoritmo LRU. Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio Redis con il seguente comando:

systemctl restart redis-server

Una volta che hai finito. Puoi procedere al passaggio successivo.

Configura l'autenticazione Redis

Per impostazione predefinita, puoi eseguire qualsiasi comando nella shell Redis. Pertanto, si consiglia di configurare l'autenticazione Redis affinché i client richiedano una password prima di eseguire qualsiasi comando. Puoi configurare l'autenticazione della password direttamente nel file di configurazione di Redis. Per farlo, apri il file /etc/redis/redis.conf con il tuo editor preferito:

nano /etc/redis/redis.conf

Nella sezione SICUREZZA trova la seguente riga:

# requirepass foobared

Decommenta e sostituiscila con la password desiderata come mostrato di seguito:

requirepass AlsW34%#df

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio Redis per applicare le modifiche alla configurazione:

systemctl restart redis-server

Ora accedi alla shell Redis con il seguente comando:

redis-cli

Ora, esegui il seguente comando senza autenticarti:

127.0.0.1:6379> INFO server

Questo non funzionerà perché non ti autentichi. Dovresti ricevere il seguente errore:

NOAUTH Authentication required.

Quindi, esegui il comando seguente per autenticarti con la password specificata nel file di configurazione Redis:

127.0.0.1:6379> AUTH AlsW34%#df

Dovresti ottenere il seguente output:

OK

Ora, esegui di nuovo il comando precedente:

127.0.0.1:6379> INFO server

Questo verrà eseguito correttamente e dovresti vedere il seguente output:

# Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:afa0decbb6de285f
redis_mode:standalone
os:Linux 4.19.0-5-amd64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.3.0
process_id:2308
run_id:2cf0470a9492deddf98bcc72fa9ec94e941edf6c
tcp_port:6379
uptime_in_seconds:50
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:7483371
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf

Una volta che hai finito. Puoi procedere al passaggio successivo.

Rinomina comandi specifici

Per motivi di sicurezza, si consiglia di rinominare alcuni comandi considerati pericolosi.

Qui rinomineremo il comando "config". Il comando config viene utilizzato per recuperare la password Redis. Vediamo con un esempio:

Innanzitutto, connetti e autentica la shell Redis con il seguente comando:

redis-cli
127.0.0.1:6379> AUTH AlsW34%#df

Successivamente, recupera la password Redis con il seguente comando:

127.0.0.1:6379> config get requirepass

Dovresti ottenere il seguente output:

1) "requirepass"
2) "AlsW34%#df"
127.0.0.1:6379> 

Puoi rinominare il comando config modificando il file /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Trova la riga seguente:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

Decommenta e sostituisci con la stringa desiderata:

rename-command CONFIG H2sW_Config        

Salva e chiudi il file. Quindi, riavvia il servizio Redis con il seguente comando:

systemctl restart redis-server

Quindi, connetti e autentica la shell Redis con il seguente comando:

redis-cli
127.0.0.1:6379> AUTH AlsW34%#df

Quindi, recupera la password Redis con il comando config:

127.0.0.1:6379> config get requirepass

Abbiamo rinominato questo comando, quindi dovresti ricevere il seguente errore:

(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`, 

Ora, esegui il comando rinominato come mostrato di seguito:

127.0.0.1:6379> H2sW_Config get requirepass

Dovresti ottenere il seguente output:

1) "requirepass"
2) "AlsW34%#df"

Infine, esci dalla shell Redis con il seguente comando:

127.0.0.1:6379> exit

Conclusione

Congratulazioni! hai installato e protetto correttamente il server Redis su Debian 10. Spero che ora tu abbia abbastanza conoscenze per proteggere il tuo server Redis con l'autenticazione della password. Sentiti libero di chiedermi se hai qualche domanda.


Debian
  1. Come installare e configurare OpenVPN Server su Debian 10

  2. Come installare e proteggere MongoDB su Debian 11

  3. Come installare e configurare Redis 6.0 su Debian 11

  4. Come installare e proteggere MariaDB su Debian 11

  5. Come installare e configurare il server VNC su Debian 10

Come installare e proteggere phpMyAdmin su Debian 11

Installa LAMP Stack su Debian 11

Come installare Caddy Web Server su Debian 11

Come installare e configurare RabbitMQ su Debian 11

Come installare e configurare Memcached su Debian 11

Installa un server Redis su Debian 11