Zum Hauptinhalt springen

Version 0.9.x

Übersicht

Version 0.9.x ist eine Hauptversion, die ein umfassendes Benutzerzugriffskontroll- und Sicherheitssystem einführt. Diese Version transformiert duplistatus von einer offenen Anwendung in ein sicheres Multi-Benutzer-System mit rollenbasierter Zugriffskontrolle, umfassender Audit-Protokollierung und Sicherheitsfeatures auf Unternehmensebene. Alle vorhandenen Funktionen sind jetzt durch Authentifizierung geschützt, um sicherzustellen, dass nur autorisierte Benutzer auf die Sicherungsüberwachung zugreifen und diese verwalten können.

Grundlegende Änderungen

Authentifizierung erforderlich

  • Alle Seiten erfordern jetzt Authentifizierung - Benutzer müssen sich anmelden, um auf die Anwendung zuzugreifen
  • Standard-Admin-Konto wird automatisch erstellt:
    • Benutzername: admin
    • Passwort: Duplistatus09 (muss beim ersten Anmelden geändert werden)
  • Bestehende Sitzungen werden ungültig - Alle Benutzer müssen sich nach dem Upgrade anmelden
  • API-Endpunkte erfordern jetzt Authentifizierung - Externe Integrationen müssen Sitzungs-Cookies einschließen oder authentifizierte Anfragen verwenden
Warnung

Alle Benutzer müssen sich nach dem Upgrade auf Version 0.9.x anmelden. Die Standard-Admin-Anmeldedaten sind admin/Duplistatus09. Ändern Sie das Passwort unmittelbar nach der ersten Anmeldung.

Datenbankschema-Migration

  • Automatische Migration von v3.1 zu v4.0 für bestehende Installationen
  • Neue Tabellen hinzugefügt: users, sessions, audit_log
  • Datenbanksicherung wird automatisch erstellt vor der Migration
  • Neue Installationen starten direkt mit Schema v4.0 (keine Migration erforderlich)

Neue Funktionen

Benutzerzugriffskontrolle & Sicherheitssystem

Authentifizierungssystem

  • Benutzer-Anmelden/Abmelden-Funktionalität mit sicherer Sitzungsverwaltung
  • Passwortbasierte Authentifizierung mit bcrypt-Hashing (Kostenfaktor 12)
  • Kontosperrungsmechanismus (5 fehlgeschlagene Versuche, 15-Minuten-Sperrung)
  • Erzwungener Passwortwechsel bei der ersten Anmeldung
  • Passwortrichtlinien-Durchsetzung:
    • Minimum 8 Zeichen
    • Mindestens ein Großbuchstabe
    • Mindestens ein Kleinbuchstabe
    • Mindestens eine Zahl
    • Sonderzeichen optional
  • „Angemeldet bleiben"-Funktionalität mit Benutzernamen-Persistierung in localStorage
  • Sitzungsbasierte Authentifizierung mit datenbankgestützten Sitzungen (ersetzt In-Memory)
  • CSRF-Schutz in die Authentifizierung integriert
  • HTTP-only-Cookies für Sitzungssicherheit
  • IP-Adresse und User-Agent-Verfolgung für Sicherheitsüberwachung

Benutzerverwaltung (nur Admin)

  • Benutzererstellung mit automatischer Generierung eines temporären Passworts
  • Benutzerliste mit Suchen, Pagination und Filterung
  • Benutzerbearbeitung (Benutzername, Admin-Status, Passwortänderungsanforderung)
  • Passwort zurücksetzen-Funktionalität mit Anzeige des temporären Passworts
  • Benutzerlöschung mit Schutzmaßnahmen (verhindert Löschung des letzten Admins)
  • Rollenbasierte Zugriffskontrolle (Admin-/Benutzerrollen)
  • Statusindikatoren (Aktiv, Gesperrt, Passwort muss geändert werden)
  • Verfolgung und Anzeige der letzten Anmeldung

Audit-Logging-System

  • Umfassendes Audit-Trail für alle Systemänderungen und Benutzeraktionen
  • Audit-Log-Viewer mit erweiterter Filterung:
    • Datumsbereichsfilterung
    • Benutzerfilterung
    • Aktionsfilterung
    • Kategoriefilterung
    • Statusfilterung
  • Exportfunktionalität (CSV- und JSON-Formate)
  • Audit-Log-Statistiken und Analysen
  • Konfigurierbare Aufbewahrungsdauer (30–365 Tage, Standard: 90 Tage)
  • Automatischer Cleanup-Cron-Job (läuft täglich um 2 Uhr UTC)
  • Manuelle Cleanup-API mit Dry-Run-Unterstützung
  • Audit-Protokollierung für:
    • Authentifizierungsereignisse (Anmelden, Abmelden, Passwortänderungen, Kontosperrungen)
    • Benutzerverwaltungsvorgänge (Erstellen, Aktualisieren, Löschen, Passwort-Zurücksetzen)
    • Konfigurationsänderungen (E-Mail, NTFY, Vorlagen, Überfälligkeitstoleranz, Sicherungseinstellungen)
    • Sicherungsvorgänge (Erfassung, Löschung, Cleanup)
    • Serververwaltung (Hinzufügen, Aktualisieren, Löschen)
    • Systemvorgänge (Migrationen, Cleanup, Benachrichtigungen)

Neugestaltung der Einstellungsseite

  • Moderne Seitenleisten-Navigation mit einklappbarer Seitenleiste
  • Benutzerspezifische Seitenleisten-Zustandsspeicherung (Eingekappt/Erweitert-Einstellung pro Benutzer gespeichert)
  • Gruppierte Einstellungsbereiche:
    • Benachrichtigungen: Backup-Benachrichtigungen, Backup-Überwachung, Vorlagen
    • Integrationen: NTFY, E-Mail
    • System: Server, Benutzer (nur Admin), Audit-Log
  • Feste Seitenleiste, die beim Scrollen sichtbar bleibt
  • Responsives Design mit optimiertem Abstand
  • Einstellungssymbol und „System-Einstellungen"-Titel in der Seitenleisten-Kopfzeile
  • Zurück-Schaltfläche in der App-Kopfzeile integriert

Verbesserungen der Benutzeroberfläche

  • Standalone-Anmeldungsseite mit modernem Design
  • "Angemeldet bleiben"-Kontrollkästchen im Anmeldeformular zur Beibehaltung des Benutzernamens
  • Passwort einblenden/ausblenden-Schaltflächen in Anmelde- und Passwort-Änderungsformularen
  • Modal "Passwort ändern" mit Echtzeit-Validierungs-Checkliste
  • Benutzerindikator und Abmelden-Schaltfläche in der App-Kopfzeile
  • Rollenbasierte UI-Sichtbarkeit (Admin-exklusive Funktionen sind für normale Benutzer ausgeblendet)
  • Statusabzeichen und Indikatoren in der gesamten UI
  • Benutzerspezifische Einstellungen in localStorage gespeichert (z. B. eingeklappter Seitenzustand der Seitenleiste)

Sicherheitsmerkmale

  • Passwort-Hashing mit bcrypt (Industriestandard)
  • Sanitization sensibler Daten in Audit-Protokollen (Passwörter, Token, Secrets werden nie protokolliert)
  • Rate Limiting für Anmeldeversuche
  • Sitzungsablauf (24 Stunden)
  • CSRF-Token-Validierung für alle zustandsändernden Operationen
  • Admin-Wiederherstellungs-CLI-Tool zum Zurücksetzen des Passworts bei Sperrung

Entwicklertools

  • Admin-Wiederherstellungs-CLI-Skript (admin-recovery) für einfache Ausführung in Docker-Containern
  • Funktioniert lokal und in Docker mit automatischer Pfaderkennung
  • Umfassende TypeScript-Schnittstellen (keine any-Typen)
  • Authentifizierungs-Middleware für Routenschutz
  • Audit-Logger-Utility-Klasse mit Komfortmethoden

🚀 Migrationsnoten

Aus Version 0.8.x

Diese Version führt Authentifizierung ein und erfordert, dass sich alle Benutzer anmelden. Beim Upgrade von Version 0.8.x:

  1. Automatische Datenbankmigration: Die Anwendung migriert Ihr Datenbankschema automatisch von v3.1 zu v4.0
  2. Datenbanksicherung: Eine automatische Sicherung wird vor der Migration erstellt
  3. Standard-Admin-Konto: Ein Standard-Admin-Konto wird erstellt:
    • Benutzername: admin
    • Passwort: Duplistatus09
    • Sie müssen dieses Passwort bei der ersten Anmeldung ändern
  4. Sitzungsentwertung: Alle vorhandenen Sitzungen werden entwertet
  5. Benutzeranmeldung erforderlich: Alle Benutzer müssen sich nach dem Upgrade anmelden
  6. API-Authentifizierung: Externe Integrationen müssen aktualisiert werden, um Authentifizierung einzubeziehen

Sicherheitsaspekte

  • Standard-Passwort ändern: Ändern Sie das Standard-Admin-Passwort unmittelbar nach der ersten Anmeldung
  • Benutzerkonten erstellen: Erstellen Sie einzelne Benutzerkonten für jede Person, die Zugriff benötigt
  • Audit-Protokolle prüfen: Prüfen Sie regelmäßig Audit-Protokolle zur Sicherheitsüberwachung
  • Aufbewahrung konfigurieren: Legen Sie einen angemessenen Aufbewahrungszeitraum für Audit-Protokolle basierend auf Ihren Compliance-Anforderungen fest
  • Master-Schlüssel sichern: Wenn Sie von 0.8.x aktualisieren, stellen Sie sicher, dass die Datei .duplistatus.key gesichert wird

Erste Anmeldeschritte

  1. Anmelden mit Standard-Anmeldedaten (admin / Duplistatus09)
  2. Passwort ändern wenn aufgefordert (erzwungen beim ersten Anmelden)
  3. Benutzerkonten erstellen für andere Benutzer (Einstellungen → Benutzer)
  4. Audit-Log-Aufbewahrung konfigurieren falls erforderlich (Einstellungen → Audit-Log)
  5. Audit-Protokolle überprüfen um zu bestätigen, dass das System ordnungsgemäß funktioniert

🐛 Fehlerbehebungen

  • Sitzungspersistenzprobleme über Server-Neustarts hinweg behoben
  • Fehlerbehandlung für Authentifizierungsfehler verbessert
  • Passwortvalidierungs-Feedback erweitert
  • UI-Inkonsistenzen auf der Einstellungen-Seite behoben
  • Leistung der Audit-Log-Filterung verbessert

API-Endpunkte

Authentifizierungsendpunkte

  • POST /api/auth/login - Benutzerauthentifizierung
  • POST /api/auth/logout - Sitzungsbeendigung
  • GET /api/auth/me - Aktuelle Benutzerinformationen
  • POST /api/auth/change-password - Passwortänderung

Benutzerverwaltungs-Endpunkte (nur Admin)

  • GET /api/users - Benutzer auflisten
  • POST /api/users - Benutzer erstellen
  • PATCH /api/users/{id} - Benutzer aktualisieren
  • DELETE /api/users/{id} - Benutzer löschen

Audit-Log-Endpunkte

  • GET /api/audit-log - Audit-Protokolle abfragen
  • GET /api/audit-log/download - Audit-Protokolle exportieren
  • GET /api/audit-log/stats - Audit-Statistiken
  • POST /api/audit-log/cleanup - Manuelle Bereinigung (nur Admin)
  • GET /api/audit-log/retention - Aufbewahrungseinstellung abrufen
  • PATCH /api/audit-log/retention - Aufbewahrung aktualisieren (nur Admin)
Hinweis

Alle API-Endpunkte erfordern jetzt Authentifizierung. Weitere Details zur Authentifizierung finden Sie in der API-Referenz.


Unterstützung

Hilfe

Fehler melden

Wann Sie Fehler melden, bitte folgende Angaben einschließen:

  • Version: 0.9.x
  • Betriebssystem und Version
  • Docker-Version
  • Fehlermeldungen und Protokolle
  • Schritte zur Reproduktion
  • Benutzerrolle (Admin/Benutzer), falls relevant

Änderungsprotokoll

Detaillierte Änderungen

  • Added: Vollständiges Authentifizierungs- und Autorisierungssystem
  • Added: Benutzerverwaltung mit rollenbasierter Zugriffskontrolle
  • Added: Umfassendes Audit-Logging-System
  • Added: Neugestaltung der Einstellungen-Seite mit ausklappbarer Seitenleiste
  • Added: Admin-Wiederherstellungs-CLI-Tool
  • Added: Passwort-Richtlinien-Durchsetzung
  • Added: Kontosperrungsmechanismus
  • Added: Sitzungsverwaltung mit Datenbankpersistenz
  • Changed: Alle Seiten erfordern jetzt Authentifizierung
  • Changed: Datenbankschema von v3.1 zu v4.0
  • Changed: Sitzungsspeicherung von In-Memory zu datenbankgestützt
  • Changed: Layout und Navigation der Einstellungen-Seite
  • Fixed: Sitzungspersistenz über Server-Neustarts hinweg
  • Fixed: Verschiedene UI-Inkonsistenzen
  • Improved: Sicherheitslage mit umfassendem Audit-Logging
  • Improved: Benutzererlebnis mit modernen Anmelden- und Einstellungen-Seiten
  • Improved: Codequalität mit TypeScript-Schnittstellen und DRY-Prinzipien

Lizenz

Dieses Projekt ist unter der Apache License 2.0 lizenziert.

Copyright © 2025 Waldemar Scudeller Jr.