Repository navigation
Nodvard Deck 0.11.1 – Sicherheitsupdate: engere Rechte beim Einrichten und Schutz vor veränderten Sicherungen
·
4 commits
to main
since this release
Ein Update mit Sicherheits- und Fehlerkorrekturen, ohne neue Funktionen. Wir empfehlen es allen, die 0.11.0 oder älter nutzen.
Sicherheit
Einrichten von Servern
- Braucht auf einem Server kein eingeschaltetes Modul root, richtet der Haken „Root-Rechte ohne Passwort“ kein sudo mehr ein. Bisher gab es dann die volle sudo-Regel für alles. Wer sudo trotzdem will, wählt unter „Erweitert“ „Volle Rechte“. Eine früher eingerichtete Regel bleibt auf dem Server, wie du sie löschst, steht in der Anleitung zum Einrichten.
- Die Hilfsskripte legt Deck nur noch in Ordner, in die außer root und der Gruppe root niemand schreiben darf, auch nicht über erweiterte Zugriffsrechte.
- Stand der Schlüssel von Deck schon ohne Einschränkungen auf dem Server, etwa von Hand eingetragen, ergänzt die Einrichtung jetzt die Einschränkungen (zum Beispiel kein Weiterleiten von Ports) und sagt dir das. Hast du selbst Optionen eingetragen, bleibt die Zeile, wie sie ist.
Daten aus einer Sicherung
- Dokumente, Inventarbilder, die Ausgabe von Job-Läufen und die Quarantäne von Nodvard Shield prüfen jetzt, ob eine Datei wirklich dort liegt, wo Deck sie selbst ablegt. Eine veränderte Sicherung kann so keine Dateien außerhalb lesen, verschieben oder löschen lassen. Die Vorschau von Dokumenten zeigt nur noch PDF und Bilder, alles andere gibt es zum Herunterladen.
Weitere Punkte
- Die Seiten von Deck führen nur noch Skripte aus, die vom eigenen Server kommen. Bisher hat der Browser fremde Skripte nur gemeldet, jetzt blockiert er sie.
- Ein ausgeschalteter Job lässt sich auch über die Schnittstelle nicht mehr von Hand starten. Das betrifft vor allem die automatischen Updates von Nodvard Shield: Sind sie ausgeschaltet, spielt Deck nichts ein.
- Docker: Eine Freigabe zum Anmelden bei einer Registry gilt nur für den Benutzernamen, der beim Vorschlag eingetragen war. Beim Zurückspielen einer Volume-Sicherung prüft Deck, dass das Archiv noch dasselbe ist wie bei der Prüfung kurz davor.
Behoben
- „Verbindung prüfen“ warnt nicht mehr vor fehlendem sudo, wenn auf dem Server kein Modul root braucht.
- Ist ein Vorschlag schon abgelaufen, wenn jemand auf „Bestätigen“ klickt, steht der Ablauf jetzt auch im Protokoll.
- Docker:
- Bricht das Zurückspielen genau beim Austausch der Daten ab, bleibt der Stack gestoppt, statt mit halb getauschten Daten wieder zu starten. Ein Sicherungsordner mit einem unmöglichen Datum legt nicht mehr die ganze Liste lahm.
- Der Umzug von Portainer prüft direkt vor dem Neu-Ausrollen noch einmal, ob die Container zu den Images passen, und meldet zurückgebliebene Container statt eines Erfolgs.
- Die Registry-Liste zeigt „unbekannt“ statt fälschlich „angemeldet“, wenn ein Server seine Anmeldungen über ein eigenes Hilfsprogramm speichert.
- Unerwartete Angaben zu einem Container nennt Deck als Grund statt eines allgemeinen Serverfehlers. Der Ordner eines Compose-Projekts erscheint im Dateimanager nicht mehr leer oder abgeschnitten.
Gut zu wissen
- Keine Umstellung der Datenbank. Der Wechsel zurück auf 0.11.0 geht ohne Datenverlust.
- Ältere Debian: Darf dort die Gruppe „staff“ in
/usr/localschreiben, bricht eine neue Einrichtung mit nur den Hilfsskripten ab, und „Verbindung prüfen“ warnt bei schon eingerichteten Servern. Abhilfe auf dem Server als root:chmod g-w /usr/local /usr/local/lib, danach den Einrichtungsbefehl noch einmal ausführen. - Aktualisieren: in Deck unter Einstellungen → „Updates“ → „Jetzt aktualisieren“, oder mit
docker compose pull && docker compose up -d.
English
A security and bug fix release without new features. We recommend it for everyone on 0.11.0 or older.
Security
- Server setup: if no enabled module needs root on a server, the “Root without password” option no longer sets up sudo at all (previously it granted full sudo). Choose full rights under “Advanced” if you need sudo. An existing rule stays on the server; the setup guide explains how to remove it. Helper scripts are only placed in folders that nobody but root and the root group can write to, including extended ACLs. A Deck key that was already present without restrictions now gets them added during setup; lines with your own options stay as they are.
- Data from a backup: documents, inventory images, job run output and the Nodvard Shield quarantine now check that a file really is where Deck stores it, so a modified backup cannot make Deck read, move or delete files elsewhere. The document preview only shows PDFs and images.
- Deck's pages only run scripts served by Deck itself; the browser now blocks others instead of only reporting them.
- A disabled job can no longer be started by hand through the API, which matters most for Nodvard Shield's automatic updates.
- Docker: a registry login approval only applies to the user name it was proposed with, and restoring a volume backup checks that the archive is still the one that was verified.
Fixed
- “Check connection” no longer warns about missing sudo when no module needs root.
- Approving an already expired proposal now records the expiry in the audit log.
- Docker: an interrupted restore leaves the stack stopped instead of starting it with half-swapped data; an impossible date in a backup folder name no longer breaks the list; the Portainer migration re-checks images right before redeploying; credential helpers show as “unknown”; clearer errors for unexpected container data and correct folders for compose projects in the file manager.
Good to know
- No database migration; going back to 0.11.0 works without data loss.
- Older Debian: if the group “staff” can write to
/usr/local, a new helper-only setup stops and “Check connection” warns. Fix as root on the server:chmod g-w /usr/local /usr/local/lib, then run the setup command again. - Update in Deck under Settings → “Updates” → “Update now”, or with
docker compose pull && docker compose up -d.