GNU/Linux >> Tutoriales Linux >  >> Debian

Instale y proteja el servidor Redis en Debian 10

Redis, también conocido como "Servidor de diccionario remoto", es una base de datos de código abierto y en memoria que se puede utilizar como base de datos, caché y agente de mensajes. Redis admite varias estructuras de datos, como cadenas, hashes, listas, conjuntos y muchas más. Redis está escrito en lenguaje de programación C y funciona en la mayoría de los sistemas POSIX como Linux, Free BSD y OS X. Redis es capaz de ejecutar miles de comandos por segundo. Redis viene con un amplio conjunto de características que incluyen replicación, conmutación por error automática, secuencias de comandos Lua, desalojo de claves LRU, transacciones y muchas más.

En este tutorial, aprenderemos cómo instalar y asegurar Redis en el servidor Debian 10.

Requisitos

  • Un servidor que ejecuta Debian 10.
  • Se ha configurado una contraseña de root para su servidor.

Cómo empezar

Antes de comenzar, deberá actualizar su sistema con la última versión. Puede hacerlo ejecutando el siguiente comando:

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

Una vez que su servidor esté actualizado, reinícielo para aplicar los cambios.

Instalar Redis

De forma predeterminada, Redis está disponible en el repositorio de Debian 10. Puede instalarlo simplemente ejecutando el siguiente comando:

apt-get install redis-server -y

Después de instalar Redis, inicie el servicio Redis y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:

systemctl start redis-server
systemctl enable redis-server

También puede verificar el estado del servidor Redis con el siguiente comando:

systemctl status redis-server

Deberías obtener el siguiente resultado:

? 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.

De forma predeterminada, Redis escucha en el host local en el puerto 6379. Puede verificarlo con el siguiente comando:

ps -ef | grep redis

Debería ver el siguiente resultado:

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

A continuación, pruebe la conectividad de Redis con el siguiente comando:

redis-cli

Debería ver el siguiente resultado:

127.0.0.1:6379> 

Ahora, verifique la conectividad de Redis con el comando ping:

127.0.0.1:6379> ping

Si todo está bien, debería ver el siguiente resultado:

PONG

Una vez que haya terminado. Puede continuar con el siguiente paso.

Configurar Redis como caché

Puede configurar Redis como caché editando el archivo /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Agregue las siguientes líneas al final del archivo:

maxmemory 64mb
maxmemory-policy allkeys-lru

Cuando se alcanza la memoria máxima de 64mb. Redis eliminará cualquier clave según el algoritmo LRU. Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Redis con el siguiente comando:

systemctl restart redis-server

Una vez que haya terminado. Puede continuar con el siguiente paso.

Configurar la autenticación de Redis

De forma predeterminada, puede ejecutar cualquier comando en el shell de Redis. Por lo tanto, se recomienda configurar la autenticación de Redis para que los clientes soliciten una contraseña antes de ejecutar cualquier comando. Puede configurar la autenticación de contraseña directamente en el archivo de configuración de Redis. Para hacerlo, abra el archivo /etc/redis/redis.conf con su editor preferido:

nano /etc/redis/redis.conf

En la sección SEGURIDAD, busque la siguiente línea:

# requirepass foobared

Quite el comentario y reemplácelo con la contraseña deseada como se muestra a continuación:

requirepass AlsW34%#df

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Redis para aplicar los cambios de configuración:

systemctl restart redis-server

Ahora, acceda al shell de Redis con el siguiente comando:

redis-cli

Ahora, ejecute el siguiente comando sin autenticarse:

127.0.0.1:6379> INFO server

Esto no funcionará porque no se autentica. Debería recibir el siguiente error:

NOAUTH Authentication required.

A continuación, ejecute el siguiente comando para autenticarse con la contraseña especificada en el archivo de configuración de Redis:

127.0.0.1:6379> AUTH AlsW34%#df

Deberías obtener el siguiente resultado:

OK

Ahora, ejecute el comando anterior nuevamente:

127.0.0.1:6379> INFO server

Esto se ejecutará correctamente y debería ver el siguiente resultado:

# 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 vez que haya terminado. Puede continuar con el siguiente paso.

Renombrar comandos específicos

Por razones de seguridad, se recomienda cambiar el nombre de ciertos comandos que se consideran peligrosos.

Aquí cambiaremos el nombre del comando "config". El comando config se usa para recuperar la contraseña de Redis. Veamos con un ejemplo:

Primero, conecte y autentique el shell de Redis con el siguiente comando:

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

A continuación, recupere la contraseña de Redis con el siguiente comando:

127.0.0.1:6379> config get requirepass

Deberías obtener el siguiente resultado:

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

Puede cambiar el nombre del comando de configuración editando el archivo /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Busque la siguiente línea:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

Descomente y reemplace con la cadena deseada:

rename-command CONFIG H2sW_Config        

Guarde y cierre el archivo. Luego, reinicie el servicio Redis con el siguiente comando:

systemctl restart redis-server

A continuación, conecte y autentique el shell de Redis con el siguiente comando:

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

A continuación, recupere la contraseña de Redis con el comando de configuración:

127.0.0.1:6379> config get requirepass

Cambiamos el nombre de este comando para que reciba el siguiente error:

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

Ahora, ejecute el comando renombrado como se muestra a continuación:

127.0.0.1:6379> H2sW_Config get requirepass

Deberías obtener el siguiente resultado:

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

Finalmente, salga del shell de Redis con el siguiente comando:

127.0.0.1:6379> exit

Conclusión

¡Felicidades! ha instalado y asegurado con éxito el servidor Redis en Debian 10. Espero que ahora tenga suficiente conocimiento para asegurar su servidor Redis con autenticación de contraseña. No dude en preguntarme si tiene alguna duda.


Debian
  1. Cómo instalar y configurar OpenVPN Server en Debian 10

  2. Cómo instalar y proteger MongoDB en Debian 11

  3. Cómo instalar el servidor Redis en Debian 11

  4. Cómo instalar y configurar Redis 6.0 en Debian 11

  5. Cómo instalar y configurar el servidor VNC en Debian 10

Cómo instalar y asegurar phpMyAdmin en Debian 11

Instale la pila LAMP en Debian 11

Cómo instalar el servidor web Caddy en Debian 11

Cómo instalar y configurar RabbitMQ en Debian 11

Cómo instalar y configurar Memcached en Debian 11

Instale un servidor Redis en Debian 11