Modelo de seguridad
Quién puede hacer qué, dónde están los límites y de qué no te protege CloudZH.
Capas
| Capa | Protección |
|---|---|
| Entrada | Caddy como única puerta, HTTPS en todas partes, apps de administración tras el inicio de sesión del panel, la cookie de sesión se elimina antes de que las solicitudes lleguen a una app |
| Inicio de sesión | Política de contraseñas, passkeys, códigos de autenticación con códigos de recuperación, bloqueo tras intentos fallidos, lista de dispositivos con cierre de sesión |
| Reglas | Administración solo desde la red doméstica o VPN, 2FA obligatoria, confirmación con contraseña para acciones delicadas |
| Panel | Sin privilegios, contenedor reforzado, sin paquetes de terceros |
| Agente | Lista fija de comandos por un socket Unix, refuerzo de systemd, rutas comprobadas sin seguir enlaces simbólicos, registro de auditoría |
| Servidor | Software del sistema solo desde la línea de comandos, Fail2Ban en los inicios de sesión, actualizaciones de seguridad con un botón |
Secretos
- Los enlaces de invitación solo se guardan como hashes. Las claves de licencia se comprueban mediante un hash y se guardan cifradas, para que puedas verlas en tu cuenta.
- Las claves de IA se guardan cifradas; el navegador ve los cuatro últimos caracteres.
- El token de tu cuenta de Plex solo se queda en memoria durante la configuración.
- Las apps de administración obtienen sus API keys de sus propios archivos de configuración; las claves nunca se envían al navegador.
Límites
Quien tenga root en el servidor puede leer y cambiarlo todo, incluido CloudZH. Dos apps, Lingarr y Requestrr, funcionan sin inicio de sesión propio y son accesibles para otros contenedores en la red de Docker; desde fuera están tras el inicio de sesión del panel, como cualquier app de administración.