Cómo instalar y asegurar Redis en CentOS 7

Redis es un almacén de estructuras de datos en memoria de código abierto, que se utiliza como base de datos, caché y corredor de mensajes. Es una base de datos distribuida en memoria de clave-valor con durabilidad opcional. Admite las principales estructuras de datos, como cadenas, hashes, listas, conjuntos, mapas de bits, conjuntos ordenados, HyperlogLogs, stream e índices geoespaciales con consultas de radio.

En este tutorial, te mostraremos cómo instalar y configurar el Servidor Redis en CentOS 7. Instalaremos el Servidor Redis desde el repositorio Remi, y luego aseguraremos la instalación.

Requisitos previos

Para esta guía, instalaremos el Servidor Redis en CentOS 7 con 1GB de RAM y 2CPUs. Esto es sólo para pruebas, y necesitarás más que esto para tu producción.

Qué vamos a hacer

  • Instalar y habilitar el repositorio Remi
  • Instalar el Servidor Redis
  • Configurar el Servidor Redis
  • Asegurar el Servidor Redis
  • Probar

Paso 1 – Instalar y habilitar el repositorio Remi

En primer lugar, añadiremos el repositorio Remi al sistema CentOS 7. El repositorio Remi proporciona la última versión del paquete Redis para nuestra instalación.

Antes de añadir el repositorio Remi, vamos a instalar el repositorio EPEL y los paquetes de utilidad yum.

sudo yum install epel-release yum-utils

Ahora añade el repositorio Remi para CentOS 7 utilizando el siguiente comando yum.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Después, habilita el repositorio ‘remi’ utilizando la herramienta yum-config-manager como se indica a continuación.

sudo yum-config-manager --enable remi

El repositorio Remi ha sido añadido y habilitado en el sistema CentOS 7, compruébalo utilizando el comando yum de abajo.

yum repolist enabled

Y obtendrás el resultado que se indica a continuación.

Añadir repositorio Remi

Paso 2 – Instalar Redis en CentOS 7

Después de instalar el repositorio Remi, instalaremos el último paquete Redis. Puedes comprobar la versión de Redis disponible utilizando el comando yum que aparece a continuación.

yum search redis
yum info redis

Ahora obtendrás que Redis 5.0.5 está disponible en el repositorio Remi.

Instalar Redis en CentOS

Instala Redis utilizando el siguiente comando.

sudo yum -y install redis

Una vez completada la instalación, inicia el servicio Redis y añádelo al arranque del sistema.

systemctl start redis
systemctl enable redis

El servicio Redis está en marcha con la configuración por defecto, comprueba el estado del servicio y el puerto utilizado por el servidor.

systemctl status redis
netstat -plntu

Y obtendrás el resultado que se indica a continuación.

Comprobar el estado de Redis

El servidor Redis está en funcionamiento en el sistema CentOS 7, ejecutando la dirección IP localhost ‘127.0.0.1’ con el puerto TCP por defecto ‘6379’.

Paso 3 – Configurar Redis

En este paso, vamos a configurar nuestra instalación del servidor Redis en el servidor CentOS 7.

Edita el archivo de configuración de Redis ‘/etc/redis.conf’ utilizando el editor vim.

vim /etc/redis.conf

Ahora cambia la dirección ‘bind’ por tu dirección IP interna. Si estás ejecutando como clúster, puedes cambiar con la dirección IP privada. Se recomienda ejecutar el Servidor Redis en la dirección IP interna privada.

bind 127.0.0.1

Ahora cambia el valor de ‘daemonize’ a ‘yes’, porque ejecutaremos el servicio Redis como un demonio.

daemonize yes

Como estamos utilizando el servidor CentOS 7 y systemd, debemos cambiar la configuración de la línea ‘supervisada’ a ‘systemd’.

supervised systemd

Guarda y cierra.

Ahora reinicia el servicio redis.

systemctl restart redis

La configuración básica del Servidor Redis se ha completado. Ahora conéctate al Servidor Redis utilizando el comando redis-cli como se indica a continuación.

redis-cli

Ejecuta el siguiente comando ping.

ping
ping "Hello Redis"

Si tu instalación es correcta, obtendrás la respuesta «PONG» y el mensaje que se escribe después del comando.

Editar la configuración de Redis

Paso 4 – Asegurar la instalación de Redis

En este paso, vamos a asegurar nuestra instalación de Redis. Hay 3 cosas que debes saber para asegurar el servidor Redis.

1. Seguridad de la red

La seguridad de red para el servidor Redis está relacionada con la configuración ‘bind’ en la configuración de Redis ‘redis.conf’. Se recomienda utilizar la red privada interna para tu instalación de Redis y no utilizar la pública.

Edita el archivo de configuración de Redis ‘/etc/redis.conf’ utilizando el editor vim.

vim /etc/redis.conf

En la sección ‘bind’, cambia la dirección IP por la de tu red interna.

bind INTERNAL-IP-ADDRESS

Guarda y cierra.

Y ahora el servicio redis se ejecutará bajo la ‘DIRECCIÓN-IP-INTERNA’.

2. Autenticación por contraseña

La autentificación por contraseña para Redis te dará el control de acceso a tu servidor Redis. Se trata de una pequeña capa de seguridad que mejorará la seguridad de tu servidor Redis, y que aún no está habilitada por defecto en la instalación.

Para habilitar la autenticación por contraseña para el servidor Rediser, tendrás que descomentar la sección ‘requirepass’ en el archivo ‘redis.conf’ y escribir después tu contraseña fuerte.

requirepass hakase-labs321@#$

Cambia ‘hakase-labs321@#$’ por tu contraseña fuerte. Y ahora la autenticación por contraseña para Redis ha sido habilitada.

3. Desactivar el comando peligroso de Redis

Redis proporciona una función para desactivar algún comando específico de Redis. Esta función puede utilizarse para cambiar el nombre o desactivar algunos de los comandos peligrosos, como el comando ‘FLUSHALL’ para borrar todos los datos, el comando ‘CONFIG’ para establecer parámetros de configuración a través de la CLI de Redis, etc.

Para cambiar o deshabilitar el comando de Redis, puedes utilizar la opción ‘rename-command’. Edita el archivo de configuración de Redis ‘redis.conf’ y añade algunas configuraciones a continuación.

# rename-command COMMAND "CUSTOM"
rename-command CONFIG "REDISCONFIG"
rename-command FLUSHALL "DELITALL"

Guarda y cierra.

Una vez completado todo, reinicia el servicio redis utilizando el comando systemctl que aparece a continuación.

systemctl restart redis

Y la seguridad básica de Redis para asegurar la instalación de Redis se ha aplicado a nuestro host.

Configuración segura de Redis

Otra consideración, puede que también necesites el soporte de «Cifrado de datos» para Redis, así como la codificación segura necesaria en el lado de la aplicación.

Paso 5 – Pruebas

En este paso, vamos a probar nuestra implementación del Servidor Redis utilizando la línea de comandos ‘redis-cli’.

– Probar el host y la autenticación

Conéctate al Servidor Redis utilizando el comando redis-cli especificando el nombre de host/dirección IP del servidor redis y el puerto.

redis-cli -h 10.5.5.15 -p 6379

Cambia el ‘10.5.5.15’ por tu dirección IP.

Una vez que estés conectado al servidor, prueba el comando ping.

ping
ping "Hello Redis"

Ahora obtendrás el resultado que se muestra a continuación.

Prueba de Redis

Estás obteniendo el error ann porque necesitas autenticarte antes de invocar cualquier comando en el shell CLI de Redis.

Ejecuta el siguiente comando para autenticarte en el servidor Redis.

AUTH hakase-labs321@#$

Una vez autenticado, puedes intentar el comando ping y obtendrás una respuesta del servidor Redis.

ping
ping "Hello Redis"

A continuación se muestra el resultado después de haberte autenticado con el Servidor Redis.

Ping Redis

– Probar el comando deshabilitado/renombrado

Ejecuta todos los comandos que hemos renombrado en el shell y obtendrás el error del comando.

CONFIG
FLUSHALL

A continuación se muestra el resultado del error de esos comandos.

Uso de la CLI de Redis

A continuación, ejecuta los comandos ‘CUSTOM’ de cada uno.

Crea una nueva Clave utilizando el comando ‘SET’ como se indica a continuación.

SET Name "Hakase Labs"
SET Blog "Howtoforge.com"

Keys *

Ahora borra todas las claves y datos utilizando el comando ‘FLUSHALL’ renombrado ‘DELITALL’.

DELITALL

Para el comando ‘CONFIG’, puedes intentar recuperar o establecer un nuevo valor de la configuración del Servidor Redis. El comando ‘CONFIG’ ha sido renombrado a ‘REDISCONFIG’.

REDISCONFIG get bind
REDISCONFIG get requirepass

Y a continuación se muestra el resultado de este nuevo comando personalizado renombrado.

Utiliza el comando REDISCONFIG

Se ha completado la instalación básica del Servidor Redis en el Servidor CentOS 7, y se ha aplicado la seguridad básica para el Servidor Redis.

Referencia

También te podría gustar...