Introducción
Redis es un almacén de datos en memoria de código abierto. Se utiliza como una base de datos clave-valor flexible y de alta disponibilidad que mantiene un alto nivel de rendimiento.
Además de su rendimiento y flexibilidad, Redis se destaca por su amplio soporte de idiomas, alta disponibilidad y partición automática.
En este tutorial, aprenda a instalar Redis en Ubuntu 20.04/18.04.
Requisitos previos
- Un sistema que ejecuta Ubuntu 20.04 (o Ubuntu 18.04)
- Acceso a una ventana de terminal/línea de comando
- Sudo o raíz privilegios en máquinas locales/remotas
Instalar y asegurar Redis en Ubuntu
Los siguientes pasos explican cómo instalar Redis en Ubuntu 20.04. También puede usar esta guía en Ubuntu 18.04.
Además de instalar y configurar la configuración básica, la guía cubre cómo agregar autenticación de contraseña, vincular Redis a localhost y cambiar el nombre de comandos peligrosos.
Paso 1:Instalar Redis
Siga los pasos que se describen a continuación para instalar y configurar Redis en su sistema Ubuntu.
1. Comience por actualizar el repositorio de paquetes:
sudo apt update
2. Luego, instala Redis con el comando:
sudo apt install redis-server
Paso 2:Configurar Redis
1. Una vez completada la instalación, modifique el archivo de configuración de Redis. Para hacerlo, abra el archivo con un editor de texto de su elección (estamos usando nano):
sudo nano /etc/redis/redis.conf
2. A continuación, busque la línea que especifica el supervised
directiva. De forma predeterminada, esta línea se establece en no
. Sin embargo, para administrar Redis como un servicio, establezca la directiva supervisada en systemd
(Sistema de inicio de Ubuntu).
3. Guarde los cambios y cierre el archivo.
4. Finalmente, reinicie el servicio Redis ejecutando:
sudo systemctl restart redis.service
Paso 3:Verificar la instalación de Redis
Para asegurarse de haber configurado Redis correctamente, pruebe si el servicio se está ejecutando. Además, pruebe la conexión con el servidor y si puede establecer un par clave-valor.
Paso 3.1:Comprobar el estado del servicio de Redis
Verifique el estado del servicio Redis ejecutando el comando:
sudo systemctl status redis
El resultado debe mostrar que el servicio está activo (y en ejecución) , como en la imagen de abajo.
Paso 3.2:Comprobar la conexión de Redis
También debe verificar la conexión con el servidor Redis utilizando el redis-cli herramienta. Para conectarse con este cliente de línea de comandos, ingrese lo siguiente en la ventana del terminal:
redis-cli
Esto lo lleva a redis-cli símbolo del sistema Para probar la conectividad, ejecute:
ping
La salida debe responder con:
PONG
Paso 3.3:Pruebe la configuración de pares clave-valor
Dado que Redis es una base de datos NoSQL de clave-valor en memoria, también puede probar si recupera los valores asignados en función de la clave especificada.
Primero, configure una clave usando el comando set. En este ejemplo, la clave está etiquetada como key1
y debe tener el valor de "You have successfully set up a key-value pair!"
.
Para hacer esto, ejecute el comando:
set key1 "You have successfully set up a key-value pair!"
2. Una vez que pulses Intro , el mensaje responde con OK .
3. Ahora, compruebe si ha asignado correctamente el valor dado a la clave con get
comando:
get key1
4. La salida debe responder con el mensaje que adjuntó como valor en el primer paso.
5. Para salir del shell de Redis, ejecute:
quit
Paso 4:Proteger Redis
Paso 4.1:configurar la autenticación de Redis
Redis incluye una función de autenticación como una capa de seguridad adicional. La función no está habilitada de forma predeterminada. Por lo tanto, debe modificar el archivo de configuración para activarlo.
1. Para comenzar, abra el archivo de configuración de Redis para editarlo:
sudo nano /etc/redis/redis.conf
2. Luego, busque el requirepass
directiva bajo la SEGURIDAD sección y descoméntelo (eliminando #
).
3. Una vez que haya descomentado la línea, reemplace foobared
con la contraseña de su elección.
4. Guarde y cierre el archivo.
5. Reinicie el servicio Redis:
sudo systemctl restart redis.service
Una vez que configure Redis para requerir autenticación, rechazará cualquier consulta hasta que proporcione la contraseña requerida.
Por ejemplo, si cambia a redis-cli símbolo del sistema e intente ejecutar la prueba de ping, el resultado muestra el mensaje:(error) NOAUTH Authentication required.
La única forma de comenzar a trabajar en Redis en tal caso es proporcionar la contraseña definida en el archivo de configuración.
Usa el comando:
auth [your_password]
Si la salida responde con OK
estás listo para irte.
Paso 4.2:vincular Redis a Localhost
Si instaló el software siguiendo los pasos descritos anteriormente, Redis solo debería ser accesible desde localhost. Limitar el acceso de esa manera es una cuestión de seguridad de la red.
Sin embargo, es posible que haya cambiado la configuración predeterminada y ahora desee restringir las conexiones a localhost.
Para hacerlo, abra el archivo de configuración de Redis para editarlo:
sudo nano /etc/redis/redis.conf
Desplácese hacia abajo y busque la RED sección en el archivo. Luego, descomente el bind 127.0.0.1 ::1
línea (eliminando #
), como en la imagen de abajo.
Una vez que guarde y salga del archivo, asegúrese de reiniciar el servicio con:
sudo systemctl restart redis
Con esto, ha logrado enlazar Redis a localhost, restringiendo el acceso a otras conexiones.
Paso 4.3:Renombrar o Eliminar Comandos Peligrosos
Otra forma de proteger sus datos es deshabilitar comandos específicos o cambiarles el nombre, para que no se puedan adivinar. Esta es una característica de seguridad útil que puede impedir que los usuarios normales usen comandos que podrían dañar el sistema.
Para deshabilitar o cambiar el nombre de dichos comandos, abra el archivo de configuración de Redis:
sudo nano /etc/redis/redis.conf
Localice la SEGURIDAD y desplácese hacia abajo hasta #Command renaming
línea. Allí puede encontrar ejemplos sobre cómo cambiar el nombre o eliminar comandos.
Por ejemplo, para cambiar el nombre de CONFIG
comando, agregue la línea:
rename-command CONFIG [new_command_name]
En este ejemplo, el config
el comando se renombra a sys_admin_config_836
(algo que un usuario normal no podría adivinar).
Para eliminar ciertos comandos, puede deshabilitarlos (eliminarlos). Para hacer esto, cambie el nombre del comando peligroso a una cadena vacía.
Por lo tanto, si desea deshabilitar la config
comando, agregue la línea:
rename-command CONFIG ""
Después de realizar estos cambios, asegúrese de guardarlos y reinicie el servicio Redis.