Modèle de sécurité
Qui peut faire quoi, où sont les limites, et contre quoi CloudZH ne protège pas.
Couches
| Couche | Protection |
|---|---|
| Entrée | Caddy comme seule porte d'entrée, HTTPS partout, apps d'administration derrière la connexion au tableau de bord, cookie de session retiré avant que les requêtes n'atteignent une app |
| Connexion | Politique de mots de passe, passkeys, codes d'authentification avec codes de récupération, verrouillage après des tentatives échouées, liste des appareils avec déconnexion |
| Règles | Administration uniquement depuis le réseau domestique ou le VPN, 2FA obligatoire, confirmation par mot de passe pour les actions sensibles |
| Tableau de bord | Aucun privilège, conteneur renforcé, aucun paquet tiers |
| Agent | Liste de commandes fixe via un socket Unix, durcissement systemd, chemins vérifiés sans suivre les liens symboliques, journal d'audit |
| Serveur | Logiciels système uniquement en ligne de commande, Fail2Ban sur les connexions, mises à jour de sécurité d'un bouton |
Secrets
- Les liens d'invitation ne sont stockés que sous forme de hash. Les clés de licence sont vérifiées par hash et stockées chiffrées, pour que tu puisses les voir dans ton compte.
- Les clés IA sont stockées chiffrées, le navigateur voit les quatre derniers caractères.
- Ton token de compte Plex reste en mémoire uniquement pendant la configuration.
- Les apps d'administration lisent leurs clés API dans leurs propres fichiers de config ; les clés ne sont jamais envoyées au navigateur.
Limites
Quiconque a root sur le serveur peut tout lire et tout modifier, CloudZH compris. Deux apps, Lingarr et Requestrr, tournent sans connexion propre et sont accessibles par les autres conteneurs du réseau Docker ; depuis l'extérieur, elles sont derrière la connexion au tableau de bord comme toute app d'administration.