Puerto 6379 (Redis): para qué sirve y cómo protegerlo
El puerto 6379 TCP es el puerto por defecto de Redis, la base de datos en memoria usada como caché, cola y almacén de sesiones. Antes de la versión 6 no tenía usuarios y muchas instalaciones no tienen contraseña: un Redis expuesto permite leer todos los datos e incluso escribir ficheros en el servidor para tomar el control.
Qué es el puerto 6379
Un ataque clásico contra Redis expuesto consiste en cambiar el directorio de volcado a ~/.ssh y escribir una clave pública en authorized_keys, lo que da acceso SSH al atacante. Desde la versión 3.2, el modo protegido bloquea las conexiones externas si no hay contraseña.
¿Es peligroso tener abierto el puerto 6379?
Riesgo alto: No debe estar abierto a Internet.
- Lectura de sesiones y datos en caché.
- Ejecución de código mediante escritura de ficheros o módulos.
Cómo proteger el puerto 6379
- bind 127.0.0.1 en redis.conf.
- requirepass o, mejor, ACL de usuarios (Redis 6+).
- Deshabilita comandos peligrosos (CONFIG, FLUSHALL) con rename-command.
Comandos y configuración
Comprobar si el puerto 6379 está abierto
sudo ss -tlnp | grep ':6379 '
nc -zv 203.0.113.10 6379
sudo nmap -p 6379 203.0.113.10redis.conf
bind 127.0.0.1 ::1
protected-mode yes
requirepass una-clave-muy-larga-y-aleatoria
rename-command CONFIG ""Comprobar el acceso
redis-cli -h 127.0.0.1 -a 'clave' ping
redis-cli -h IP_PUBLICA ping # desde fuera debería fallarTambién puedes comprobarlo desde fuera de tu red con nuestro escáner de puertos online.
Herramientas para comprobarlo
Preguntas frecuentes
¿Redis necesita contraseña si solo escucha en localhost?
Es recomendable igualmente: cualquier proceso del servidor, incluido uno comprometido, podría usarlo sin ella.