Das Sicherheitsmodell
Das Sicherheitsmodell
Read-only als Standard
Die Übersichts-Befehle (/diag, /nas-status, /smart-status, /health-summary, /logs, /dsm-update-check, /docker-list, /compose-list, /compose-logs) verändern den Zustand des NAS nicht. Verändernde Aktionen verlangen ein ausdrückliches Argument — etwa einen Projektnamen bei /compose-up oder einen Zielpfad bei /manage-mounts mount.
Dedizierter SSH-Schlüssel
Das Plugin nutzt einen eigenen Ed25519-Schlüssel — bei einer einzelnen NAS ~/.ssh/synology-manager-plus_ed25519, bei mehreren je NAS einen eigenen (~/.ssh/synology-manager-plus_<slug>_ed25519). So bleibt jede NAS unabhängig rotier- und widerrufbar, und deine sonstigen Schlüssel bleiben unberührt.
Host-Schlüssel & kein blindes Vertrauen
Beim ersten Verbinden (über das interaktive ! ssh-copy-id) prüfst und bestätigst du den Host-Schlüssel-Fingerprint (Trust on First Use). Alle automatischen Verbindungen danach laufen mit BatchMode=yes und nutzen den zwischengespeicherten Schlüssel — es gibt keine stille Annahme unbekannter Schlüssel.
Eingabevalidierung & Schutz vor Injection
Host, Port, Benutzer, NAS-slug und Projektnamen werden vor jeder Nutzung gegen strikte Muster geprüft. SSH-Aufrufe baut das Plugin intern als Argument-Array zusammen (nie per String-Verkettung), und der Docker-Pfad ist fest auf /usr/local/bin/docker verdrahtet. So bleiben Pfade und Parameter sauber getrennt.
Fehler werden sichtbar gemacht
Statt Fehler still zu schlucken, fängt das Plugin die Standardfehlerausgabe vom NAS ab und zeigt sie an. Schlägt etwa eine Erkennung beim /first-run fehl, bricht der Befehl bewusst ab, statt ein halb gefülltes Profil zu schreiben.