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)
- Benutzername:
- 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
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:
- Automatische Datenbankmigration: Die Anwendung migriert Ihr Datenbankschema automatisch von v3.1 zu v4.0
- Datenbanksicherung: Eine automatische Sicherung wird vor der Migration erstellt
- Standard-Admin-Konto: Ein Standard-Admin-Konto wird erstellt:
- Benutzername:
admin - Passwort:
Duplistatus09 - Sie müssen dieses Passwort bei der ersten Anmeldung ändern
- Benutzername:
- Sitzungsentwertung: Alle vorhandenen Sitzungen werden entwertet
- Benutzeranmeldung erforderlich: Alle Benutzer müssen sich nach dem Upgrade anmelden
- 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.keygesichert wird
Erste Anmeldeschritte
- Anmelden mit Standard-Anmeldedaten (
admin/Duplistatus09) - Passwort ändern wenn aufgefordert (erzwungen beim ersten Anmelden)
- Benutzerkonten erstellen für andere Benutzer (Einstellungen → Benutzer)
- Audit-Log-Aufbewahrung konfigurieren falls erforderlich (Einstellungen → Audit-Log)
- 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- BenutzerauthentifizierungPOST /api/auth/logout- SitzungsbeendigungGET /api/auth/me- Aktuelle BenutzerinformationenPOST /api/auth/change-password- Passwortänderung
Benutzerverwaltungs-Endpunkte (nur Admin)
GET /api/users- Benutzer auflistenPOST /api/users- Benutzer erstellenPATCH /api/users/{id}- Benutzer aktualisierenDELETE /api/users/{id}- Benutzer löschen
Audit-Log-Endpunkte
GET /api/audit-log- Audit-Protokolle abfragenGET /api/audit-log/download- Audit-Protokolle exportierenGET /api/audit-log/stats- Audit-StatistikenPOST /api/audit-log/cleanup- Manuelle Bereinigung (nur Admin)GET /api/audit-log/retention- Aufbewahrungseinstellung abrufenPATCH /api/audit-log/retention- Aufbewahrung aktualisieren (nur Admin)
Alle API-Endpunkte erfordern jetzt Authentifizierung. Weitere Details zur Authentifizierung finden Sie in der API-Referenz.
Unterstützung
Hilfe
- Dokumentation: Benutzerhandbuch
- API-Referenz: API-Dokumentation
- Migrationsleitfaden: Versions-Upgrade-Migration
- Admin-Wiederherstellung: Admin-Kontowiederherstellung
- Community: GitHub Discussions
- Probleme: GitHub Issues
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.