2FA
Dieser Commit ist enthalten in:
130
JOURNAL.md
130
JOURNAL.md
@@ -2030,4 +2030,132 @@ Ein Pool-System für Domains, IPv4-Adressen und Telefonnummern, wobei bei jeder
|
||||
- **License Server API** - Noch komplett zu implementieren
|
||||
- `/api/version` - Versionscheck
|
||||
- `/api/validate` - Lizenzvalidierung
|
||||
- `/api/heartbeat` - Session-Management
|
||||
- `/api/heartbeat` - Session-Management
|
||||
|
||||
### 2025-06-09: Resource Pool Internal Error behoben
|
||||
|
||||
**Problem:**
|
||||
- Internal Server Error beim Zugriff auf `/resources`
|
||||
- NameError: name 'datetime' is not defined in Template
|
||||
|
||||
**Ursache:**
|
||||
- Fehlende `datetime` und `timedelta` Objekte im Template-Kontext
|
||||
- Falsche Array-Indizes in resources.html für activity-Daten
|
||||
|
||||
**Lösung:**
|
||||
1. **app.py (Zeile 2797-2798):**
|
||||
- `datetime=datetime` und `timedelta=timedelta` zu render_template hinzugefügt
|
||||
|
||||
2. **resources.html (Zeile 484-490):**
|
||||
- Array-Indizes korrigiert:
|
||||
- activity[0] = action
|
||||
- activity[1] = action_by
|
||||
- activity[2] = action_at
|
||||
- activity[3] = resource_type
|
||||
- activity[4] = resource_value
|
||||
- activity[5] = details
|
||||
|
||||
**Geänderte Dateien:**
|
||||
- `v2_adminpanel/app.py`
|
||||
- `v2_adminpanel/templates/resources.html`
|
||||
|
||||
**Status:** ✅ Behoben - Resource Pool funktioniert wieder einwandfrei
|
||||
|
||||
### 2025-06-09: Passwort-Änderung und 2FA implementiert
|
||||
|
||||
**Ziel:**
|
||||
- Benutzer können ihr Passwort ändern
|
||||
- Zwei-Faktor-Authentifizierung (2FA) mit TOTP
|
||||
- Komplett kostenlose Lösung ohne externe Services
|
||||
|
||||
**Implementierte Features:**
|
||||
|
||||
1. **Datenbank-Erweiterung:**
|
||||
- Neue `users` Tabelle mit Passwort-Hash und 2FA-Feldern
|
||||
- Unterstützung für TOTP-Secrets und Backup-Codes
|
||||
- Migration von Environment-Variablen zu Datenbank
|
||||
|
||||
2. **Passwort-Management:**
|
||||
- Sichere Passwort-Hashes mit bcrypt
|
||||
- Passwort-Änderung mit Verifikation des alten Passworts
|
||||
- Passwort-Stärke-Indikator im Frontend
|
||||
|
||||
3. **2FA-Implementation:**
|
||||
- TOTP-basierte 2FA (Google Authenticator, Authy kompatibel)
|
||||
- QR-Code-Generierung für einfaches Setup
|
||||
- 8 Backup-Codes für Notfallzugriff
|
||||
- Backup-Codes als Textdatei downloadbar
|
||||
|
||||
4. **Neue Routen:**
|
||||
- `/profile` - Benutzerprofil mit Passwort und 2FA-Verwaltung
|
||||
- `/verify-2fa` - 2FA-Verifizierung beim Login
|
||||
- `/profile/setup-2fa` - 2FA-Einrichtung mit QR-Code
|
||||
- `/profile/enable-2fa` - 2FA-Aktivierung
|
||||
- `/profile/disable-2fa` - 2FA-Deaktivierung
|
||||
- `/profile/change-password` - Passwort ändern
|
||||
|
||||
5. **Sicherheits-Features:**
|
||||
- Fallback zu Environment-Variablen für Rückwärtskompatibilität
|
||||
- Session-Management für 2FA-Verifizierung
|
||||
- Fehlgeschlagene 2FA-Versuche werden protokolliert
|
||||
- Verwendete Backup-Codes werden entfernt
|
||||
|
||||
**Verwendete Libraries (alle kostenlos):**
|
||||
- `bcrypt` - Passwort-Hashing
|
||||
- `pyotp` - TOTP-Generierung und Verifizierung
|
||||
- `qrcode[pil]` - QR-Code-Generierung
|
||||
|
||||
**Migration:**
|
||||
- Script `migrate_users.py` erstellt für Migration existierender Benutzer
|
||||
- Erhält bestehende Credentials aus Environment-Variablen
|
||||
- Erstellt Datenbank-Einträge mit gehashten Passwörtern
|
||||
|
||||
**Geänderte Dateien:**
|
||||
- `v2_adminpanel/init.sql` - Users-Tabelle hinzugefügt
|
||||
- `v2_adminpanel/requirements.txt` - Neue Dependencies
|
||||
- `v2_adminpanel/app.py` - Auth-Funktionen und neue Routen
|
||||
- `v2_adminpanel/migrate_users.py` - Migrations-Script (neu)
|
||||
- `v2_adminpanel/templates/base.html` - Profil-Link hinzugefügt
|
||||
- `v2_adminpanel/templates/profile.html` - Profil-Seite (neu)
|
||||
- `v2_adminpanel/templates/verify_2fa.html` - 2FA-Verifizierung (neu)
|
||||
- `v2_adminpanel/templates/setup_2fa.html` - 2FA-Setup (neu)
|
||||
- `v2_adminpanel/templates/backup_codes.html` - Backup-Codes Anzeige (neu)
|
||||
|
||||
**Status:** ✅ Vollständig implementiert
|
||||
|
||||
### 2025-06-09: Internal Server Error behoben und UI-Design angepasst
|
||||
|
||||
**Problem:**
|
||||
- Internal Server Error nach Login wegen fehlender `users` Tabelle
|
||||
- UI-Design der neuen 2FA-Seiten passte nicht zum Rest der Anwendung
|
||||
|
||||
**Lösung:**
|
||||
|
||||
1. **Datenbank-Fix:**
|
||||
- Users-Tabelle wurde nicht automatisch erstellt
|
||||
- Manuell mit SQL-Script nachgeholt
|
||||
- Migration erfolgreich durchgeführt
|
||||
- Beide Admin-User (rac00n, w@rh@mm3r) migriert
|
||||
|
||||
2. **UI-Design Überarbeitung:**
|
||||
- Profile-Seite im Dashboard-Stil mit Cards und Hover-Effekten
|
||||
- 2FA-Setup mit nummerierten Schritten und modernem Card-Design
|
||||
- Backup-Codes Seite mit Animation und verbessertem Layout
|
||||
- Konsistente Farbgebung und Icons
|
||||
- Verbesserte Benutzerführung mit visuellen Hinweisen
|
||||
|
||||
**Design-Features:**
|
||||
- Card-basiertes Layout mit Schatten-Effekten
|
||||
- Hover-Animationen für bessere Interaktivität
|
||||
- Farbcodierte Sicherheitsstatus-Anzeigen
|
||||
- Passwort-Stärke-Indikator mit visueller Rückmeldung
|
||||
- Responsive Design für alle Bildschirmgrößen
|
||||
- Print-optimiertes Layout für Backup-Codes
|
||||
|
||||
**Geänderte Dateien:**
|
||||
- `v2_adminpanel/create_users_table.sql` - SQL für Users-Tabelle (temporär)
|
||||
- `v2_adminpanel/templates/profile.html` - Komplett überarbeitet
|
||||
- `v2_adminpanel/templates/setup_2fa.html` - Neues Step-by-Step Design
|
||||
- `v2_adminpanel/templates/backup_codes.html` - Modernisiertes Layout
|
||||
|
||||
**Status:** ✅ Abgeschlossen - Login funktioniert, UI im konsistenten Design
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren