Sicherheitsmodell
Wer was darf, wo die Grenzen liegen und wovor CloudZH nicht schützt.
Schichten
| Schicht | Schutz |
|---|---|
| Eingang | Caddy als einzige Tür, überall HTTPS, Admin-Apps hinter dem Dashboard-Login, Sitzungscookie wird entfernt, bevor Anfragen eine App erreichen |
| Anmeldung | Passwortregeln, Passkeys, Authenticator-Codes mit Wiederherstellungscodes, Sperre nach Fehlversuchen, Geräteliste mit Abmelden |
| Regeln | Admin nur aus Heimnetz oder VPN, 2FA Pflicht, Passwortbestätigung bei heiklen Aktionen |
| Dashboard | Keine Privilegien, gehärteter Container, keine Fremdpakete |
| Agent | Feste Befehlsliste über einen Unix-Socket, systemd-Härtung, Pfade geprüft, ohne Symlinks zu folgen, Audit-Log |
| Server | Systemsoftware nur über die Kommandozeile, Fail2Ban für Anmeldungen, Sicherheitsupdates per Button |
Geheimnisse
- Einladungslinks werden nur als Hashes gespeichert. Lizenzschlüssel werden über einen Hash geprüft und verschlüsselt gespeichert, damit du sie in deinem Konto ansehen kannst.
- KI-Schlüssel werden verschlüsselt gespeichert, der Browser sieht die letzten vier Zeichen.
- Dein Plex-Kontotoken bleibt nur während der Einrichtung im Arbeitsspeicher.
- Admin-Apps bekommen ihre API-Schlüssel aus ihren eigenen Konfigurationsdateien; Schlüssel gehen nie an den Browser.
Grenzen
Wer root auf dem Server hat, kann alles lesen und ändern, auch CloudZH. Zwei Apps, Lingarr und Requestrr, laufen ohne eigenes Login und sind für andere Container im Docker-Netz erreichbar; von aussen liegen sie wie jede Admin-App hinter dem Dashboard-Login.