Redis es un almacén de claves/valores en memoria de código abierto que se utiliza como base de datos, caché y agente de mensajes. Es una base de datos clave-valor distribuida en memoria con durabilidad opcional. Admite estructuras de datos comunes, como cadenas, hash, listas, conjuntos, mapas de bits, conjuntos ordenados, HyperlogLogs, flujo e índices geoespaciales con consultas de radio.
En este tutorial, le mostraremos cómo instalar y configurar Redis Server en Ubuntu 18.04 LTS. Primero instalaremos el servidor Redis y luego aseguraremos la instalación para que esté lista para la producción.
Requisitos previos
Para esta guía, instalaremos el servidor Redis en Ubuntu 18.04 con 1 GB de RAM y 2 núcleos de CPU. Esto es solo para pruebas y necesitará más que esto para su producción.
Qué haremos:
- Instalar servidor Redis
- Configuración básica del servidor Redis
- Seguridad del servidor Redis
- Pruebas
Paso 1:instalar el servidor Redis
En primer lugar, actualizaremos todos los repositorios en el sistema Ubuntu y actualizaremos todos los paquetes.
Ejecute los comandos apt a continuación.
sudo apt update
sudo apt upgrade
Después de eso, instale el paquete del servidor Redis desde el repositorio oficial de Ubuntu usando el comando apt a continuación.
sudo apt install redis-server
Una vez que se complete la instalación, recibirá un mensaje de error sobre el error al iniciar el servicio Redis, ignore el mensaje de error y lo configuraremos en el siguiente paso.
Paso 2:configuración básica del servidor Redis
En este paso, configuraremos el servidor Redis básico. En el sistema Linux, la configuración de Redis se encuentra en el directorio '/etc/redis'.
Vaya al directorio '/etc/redis' y edite el archivo de configuración 'redis.conf' usando el editor vim.
cd /etc/redis/
vim redis.conf
En primer lugar, debemos decidir que la dirección IP 'bind' ejecutará el servicio redis. No se recomienda usar la dirección IP pública para el servicio Redis, o si está ejecutando el servicio Redis múltiple/en clúster, debe usar la red interna.
Cambie la dirección de 'enlace' con la dirección IP localhost para este ejemplo.
bind 127.0.0.1
Después de eso, debemos configurar cómo se ejecutará el servicio redis en el servidor. Como estamos usando el servidor Ubuntu y systemd, necesitamos cambiar la configuración de la línea 'supervisada' a 'systemd'.
supervised systemd
Guardar y cerrar.
Ahora reinicie el servicio redis y agréguelo al tiempo de arranque.
systemctl restart redis-server
systemctl enable redis-server
Ahora asegúrese de que no haya ningún error y luego verifique su estado.
systemctl status redis-server
Como resultado, el servicio redis está funcionando en Ubuntu 18.04 Server.
Ahora verifique el puerto Redis predeterminado '6379' usando el comando netstat a continuación.
netstat -plntu
Y obtendrá el resultado de que el servicio redis se está ejecutando en la dirección IP del host local con el valor predeterminado '6379'.
Ahora verifique Redis usando los comandos 'redis-cli' como se muestra a continuación.
redis-cli ping
redis-cli ping "Hello Redis"
Y obtendrá el resultado como se muestra a continuación.
Si su instalación es correcta, obtendrá la respuesta del servidor Redis con 'PONG' o responderá con el texto que acaba de enviar después de la opción 'ping'.
La instalación y configuración básicas del servidor Redis se han completado con éxito.
Paso 3:asegurar la instalación de Redis
En este paso, aseguraremos nuestra instalación de Redis. Hay 3 cosas que debe saber sobre cómo proteger el servidor Redis.
1. Seguridad de la red
La seguridad de la red para el servidor de Redis está relacionada con la configuración de 'enlace' en la configuración de Redis 'redis.conf'. Se recomienda utilizar la red privada interna para la instalación de Redis y no utilizar la red pública.
Vaya al directorio '/etc/redis' y edite el archivo de configuración 'redis.conf'.
cd /etc/redis/
vim redis.conf
En la sección 'vincular', cambie la dirección IP con su propia dirección IP de red interna.
bind INTERNAL-IP-ADDRESS
Guardar y cerrar.
Y ahora el servicio Redis se ejecutará bajo la 'DIRECCIÓN IP INTERNA'.
2. Autenticación de contraseña
La autenticación de contraseña para Redis le dará control de acceso a su servidor Redis. Esta es una pequeña capa de seguridad que mejorará la seguridad de su servidor Redis y aún no está habilitada por la instalación predeterminada.
Para habilitar la autenticación de contraseña para el servidor Rediser, deberá descomentar la sección 'requirepass' en el archivo 'redis.conf' y escribir su contraseña segura después.
requirepass [email protected]#$
Cambie el '[email protected]#$' con su contraseña segura. Y ahora se ha habilitado la autenticación de contraseña para Redis.
3. Deshabilitar el comando Redis peligroso
Redis proporciona una función para deshabilitar algunos comandos específicos de Redis. Esta función se puede usar para cambiar el nombre o deshabilitar algunos de los comandos peligrosos, como 'FLUSHALL' para borrar todos los datos, el comando 'CONFIG' para configurar el parámetro de configuración a través de la CLI de Redis, etc.
Para cambiar o deshabilitar el comando Redis, puede usar la opción 'cambiar nombre de comando'. Edite el archivo de configuración de Redis 'redis.conf' y agregue algunas configuraciones a continuación.
# rename-command COMMAND "CUSTOM"
rename-command FLUSHALL "DELITALL"
rename-command CONFIG "MYSERVERCONF"
Guardar y cerrar.
Una vez que todo esté completo, reinicie el servicio Redis usando el siguiente comando systemctl.
systemctl restart redis-server
Y la seguridad básica de Redis para asegurar la instalación de Redis se ha aplicado a nuestro host.
Otra consideración, es posible que también necesite el soporte de 'Cifrado de datos' para Redis, así como la codificación segura necesaria en el lado de la aplicación.
Paso 4 - Prueba
En este paso, probaremos la implementación de nuestro servidor Redis usando la línea de comando 'redis-cli'.
1. Host de prueba y autenticación
Conéctese al servidor de Redis mediante el comando redis-cli especificando el nombre de host/dirección IP y puerto del servidor de Redis.
redis-cli -h 10.5.5.25 -p 6379
Cambia el '10.5.5.25' con tu propia dirección IP.
Una vez que esté conectado al servidor, pruebe el comando ping.
ping
ping "Hello Redis"
Ahora obtendrá el resultado como se muestra a continuación.
Recibe un error porque necesita autenticarse antes de invocar cualquier comando en el shell de la CLI de Redis.
Ejecute el siguiente comando para autenticarse en el servidor Redis.
AUTH [email protected]#$
Una vez que esté autenticado, puede probar el comando ping y obtendrá una respuesta del servidor Redis.
ping
ping "Hello Redis"
A continuación, se muestra el resultado después de autenticarse en el servidor Redis.
2. Comando de prueba desactivado/renombrado
Ejecute todos los comandos que hemos renombrado en el shell y obtendrá el error de comando.
FLUSHALL
CONFIG
A continuación se muestra el resultado del error de esos comandos.
A continuación, ejecute los comandos 'PERSONALIZADOS' para cada uno.
Cree una nueva clave usando el comando redis-cli como se muestra a continuación.
SET Name "Hakase Labs"
SET Blog "Howtoforge.com"
Keys *
Ahora elimine todas las claves y datos usando el comando renombrado 'FLUSHALL' 'DELITALL'.
DELITALL
Para el comando 'CONFIG', puede intentar recuperar o configurar un nuevo valor de la configuración del servidor Redis. El comando 'CONFIG' cambió de nombre a 'MYSERVERCONF'.
MYSERVERCONF get bind
MYSERVERCONF get requirepass
Y debajo está el resultado de estos nuevos comandos personalizados renombrados.
Se completó la instalación básica de Redis Server en Ubuntu 18.04 y se aplicó la seguridad básica para Redis Server.