Introducción
El panel tiene una cuenta restringida preparada, pero aún conecta mediante la cuenta predeterminada amplia de Redis. Cambiarás su configuración y retirarás esa vía conservando el monitor.
Este entorno independiente incluye la cuenta dashboard de la lección anterior. Solo necesitas sus comandos Redis y conceptos ACL. Cada operación abre una conexión nueva, por lo que la siguiente solicitud usa la configuración actual.
Establecer la situación inicial de la aplicación
Selecciona la pestaña Dashboard en la interfaz del laboratorio para comenzar este paso.
En este paso, establecerás el funcionamiento normal en este entorno nuevo. Cambia a la pestaña Dashboard. La entrada es Ticket 104: password reset, el resultado está vacío y el usuario es default. Pulsa Process ticket y confirma Processed: Ticket 104: password reset.
En la pestaña Client, lee la configuración privada. cat muestra el archivo. La terminal comienza en /workspace, su directorio de configuración:
Cambia a la pestaña Client antes de ejecutar el siguiente comando.
cat app.json
JSON almacena campos con nombre entre llaves. username identifica al usuario Redis y password aporta su secreto de autenticación. Las cadenas van entre comillas dobles y las comas separan campos. Ahora el usuario es default y la contraseña está vacía.
La aplicación relee el archivo en cada solicitud y abre nuevas conexiones Redis. No necesitas reiniciar ni escribir un cliente. Una cuenta monitor separada lee monitor:heartbeat; consérvala al modificar la cuenta predeterminada. El archivo contiene secretos, por eso es privado y no se sirve públicamente.
Cambiar la conexión del panel
Selecciona la pestaña Client en la interfaz del laboratorio para comenzar este paso.
En este paso, harás que la aplicación use la cuenta restringida. En la pestaña Client, sustituye la configuración de dos campos. cat > app.json redirige el texto siguiente al archivo, reemplazándolo. EOF entre comillas inicia un documento integrado; pega todas las líneas, incluido el EOF final solo en su línea. Las comillas impiden expansiones del shell dentro del JSON.
Cambia a la pestaña Client antes de ejecutar el siguiente comando.
cat > app.json <<'EOF'
{"username":"dashboard","password":"Dash-Lab-42"}
EOF
Solo cambia la configuración. En esta instantánea nueva, la cuenta ya tiene GET/SET sobre support:*. Cambia a la pestaña Dashboard y actualiza la página, comprueba que el usuario sea dashboard y vuelve a pulsar Process ticket. Un resultado antiguo no basta: esta operación nueva demuestra lectura y escritura con la cuenta configurada.

Si aparece WRONGPASS, vuelve a la pestaña Client, corrige las credenciales JSON con el bloque completo anterior y cambia a la pestaña Dashboard para repetir Process ticket. Para NOPERM, cambia a la pestaña Cache Server y ejecuta cache-admin ACL GETUSER dashboard para examinar el patrón de claves y los comandos. El comando completo con reset del primer laboratorio permite recuperar una cuenta mal configurada. Si el JSON está mal formado, cambia a la pestaña Client y repite el bloque completo de configuración anterior; vuelve después a la pestaña Dashboard para reintentar.
No uses maint como atajo: la aplicación debe tener una cuenta propia limitada.
Retirar la entrada predeterminada amplia
Selecciona la pestaña Cache Server en la interfaz del laboratorio para comenzar este paso.
En este paso, desactivarás la vía automática sin desactivar cuentas legítimas. Cambia a la pestaña Cache Server. La cuenta de mantenimiento de cache-admin sigue habilitada, por lo que podrás administrar.
ACL SETUSER default off impide nuevas autenticaciones como usuario predeterminado. Guarda el cambio activo en el archivo ACL configurado:
Cambia a la pestaña Cache Server antes de ejecutar el siguiente comando.
cache-admin ACL SETUSER default off
cache-admin ACL SAVE
Ambos responden OK. Cambia a la pestaña Client e intenta una conexión nueva sin credenciales:
Cambia a la pestaña Client antes de ejecutar el siguiente comando.
redis-cli -h cache-server GET support:ticket
Espera NOAUTH Authentication required., el rechazo deseado. Es distinto de NOPERM, que indica falta de permisos de una cuenta autenticada. Cada invocación abre una conexión nueva. Desactivar un usuario no garantiza terminar sesiones ya autenticadas; esa revocación queda fuera del ejercicio.
Cambia a la pestaña Dashboard, actualiza la página y pulsa Process ticket. La cuenta identificada debe seguir funcionando. Si desactivaste otra cuenta, cambia a la pestaña Cache Server para repetir su regla completa correcta y guarda de nuevo. No reabras la cuenta predeterminada amplia para ocultar un error de configuración de la aplicación.
Probar seguridad y disponibilidad juntas
Selecciona la pestaña Client en la interfaz del laboratorio para comenzar este paso.
En este paso, compararás trabajo permitido, datos prohibidos y un comando innecesario. Usa la pestaña Client. En cada petición --askpass, escribe Dash-Lab-42.
Cambia a la pestaña Client antes de ejecutar el siguiente comando.
redis-cli -h cache-server --user dashboard --askpass GET support:result
El resultado procesado sigue siendo legible. El siguiente comando pide deliberadamente datos financieros ajenos:
redis-cli -h cache-server --user dashboard --askpass GET finance:payroll
Espera NOPERM. CONFIG GET lee ajustes del servidor; incluso esta lectura administrativa es innecesaria. El asterisco entre comillas solicita todos los nombres y debe llegar sin cambios a Redis:
redis-cli -h cache-server --user dashboard --askpass CONFIG GET '*'
Espera un NOPERM por permisos de comando. Usa ahora la identidad del monitor existente e introduce Monitor-Lab-42:
redis-cli -h cache-server --user monitor --askpass GET monitor:heartbeat
Espera healthy. Desactivar todas las cuentas o parar Redis rompería esta prueba positiva y no es una reparación. En la pestaña Cache Server, muestra las ACL activas y el archivo guardado:
Cambia a la pestaña Cache Server antes de ejecutar el siguiente comando.
cache-admin ACL LIST
cat /data/users.acl
Las entradas guardadas deben coincidir con las activas, incluida default off. Si difieren, repite cache-admin ACL SAVE. Termina pulsando de nuevo Process ticket en la pestaña Dashboard. La disponibilidad real junto con rechazos pertinentes establece el resultado; una página saludable por sí sola no demuestra privilegio mínimo.
Resumen
Cambiaste la aplicación real a su cuenta Redis restringida, desactivaste el acceso predeterminado nuevo, guardaste las ACL y comprobaste solicitudes prohibidas y operaciones legítimas de negocio y monitor. Las pruebas usan conexiones nuevas; no afirman revocar sesiones existentes.



