Auto-Logon vorbereitet — verschluesselt statt Klartext, mit Bildschirmsperre

Schliesst die letzte Luecke der Boot-Pipeline: OilTradingServer und
HyperliquidDashboard haengen an einem Logon-Trigger, nach einem Update-Reboot
laeuft nichts bis zur Anmeldung (real 20.07.: Reboot 01:30, Server bis 07:42
tot, -95,48 EUR).

Ein Task "ohne angemeldete Sitzung" hilft NICHT: der Bot braucht das laufende
MT5-Terminal, und das ist eine GUI-Anwendung — es braucht eine echte
Desktop-Sitzung. Auto-Logon ist hier also das richtige Mittel, nicht nur das
bequeme.

BEWUSST NICHT der Registry-Weg: der legt das Passwort als DefaultPassword im
KLARTEXT unter HKLM\...\Winlogon ab, lesbar fuer jeden lokalen Admin und in
jedem Backup-Image. Stattdessen Sysinternals Autologon — verschluesseltes
LSA-Secret. Die EXE ist Microsoft-signiert (Signatur geprueft: Status Valid).
Das Skript verifiziert danach, dass DefaultPassword NICHT im Klartext steht.

Das eigentliche Restrisiko ist nicht das Passwort, sondern die offene Sitzung:
nach dem Reboot steht ein angemeldeter Desktop mit MT5 und Live-Broker-
Verbindung da. Deshalb legt das Skript zusaetzlich die Aufgabe
OilAutoLogonLock an — 30 s nach Anmeldung LockWorkStation. Die Sitzung laeuft
weiter (MT5 und beide Server arbeiten), der Bildschirm ist gesperrt.

NICHT ABGESCHLOSSEN: HKLM ist aus einer normalen Sitzung nicht schreibbar
(getestet: "Requested registry access is not allowed"). Der letzte Schritt
braucht ein Administrator-Fenster.

Das Passwort steht NICHT im Skript, nicht in der Doku und nicht im Repo — es
wird im Autologon-Dialog eingegeben. tools/autologon/ ist gitignored (Binaries,
gleiche Regel wie tools/piper/).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-07 06:34:21 +02:00
co-authored by Claude Opus 5
parent 4cbb1f1db5
commit 47d6d1ddae
3 changed files with 110 additions and 0 deletions
+25
View File
@@ -259,6 +259,31 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
Anteil, WR-Verfall, PF<1, Einzelverlust). **Wöchentlich** laufen lassen (B4/B5).
- **Vor „fertig":** immer `python -m py_compile <datei>`; JS grob via Klammern-
Balance prüfen (kein node im Env).
- **⚠ BOOT-LÜCKE: Auto-Logon vorbereitet, aber NICHT abgeschlossen (2026-08-07).**
`OilTradingServer` und `HyperliquidDashboard` hängen an einem **Logon**-Trigger
— nach einem Update-Reboot läuft nichts bis zur Anmeldung (real 20.07.:
Reboot 01:30, Server bis 07:42 tot, 95,48 €). ⚠ Ein Task „ohne angemeldete
Sitzung" hilft **nicht**: der Bot braucht das laufende **MT5-Terminal**, und das
ist eine GUI-Anwendung — es braucht eine echte Desktop-Sitzung. Auto-Logon ist
hier also tatsächlich das richtige Mittel, nicht nur das bequeme.
**Vorbereitet:** `tools/autologon_einrichten.ps1` + Sysinternals `Autologon`
(Microsoft-signiert, Signatur geprüft; `tools/autologon/` ist **gitignored** wie
`tools/piper/`).
⚠⚠ **Bewusst NICHT der Registry-Weg.** Der verbreitete Weg legt das Passwort als
`DefaultPassword` im **Klartext** unter `HKLM\…\Winlogon` ab — lesbar für jeden
lokalen Admin und in jedem Backup-Image. Sysinternals `Autologon` speichert es
als **verschlüsseltes LSA-Secret**. Das Skript prüft danach nach, dass
`DefaultPassword` NICHT im Klartext steht.
⚠⚠ **Das eigentliche Restrisiko ist nicht das Passwort, sondern die offene
Sitzung:** nach dem Reboot steht ein angemeldeter Desktop mit MT5 und
Live-Broker-Verbindung da. Deshalb legt das Skript zusätzlich die Aufgabe
`OilAutoLogonLock` an — 30 s nach der Anmeldung `LockWorkStation`. Die Sitzung
**läuft** (MT5 und beide Server arbeiten), der Bildschirm ist gesperrt.
**Muss ELEVATED ausgeführt werden**`HKLM` ist aus einer normalen Sitzung
nicht schreibbar (getestet: „Requested registry access is not allowed"). Das
Passwort steht **nicht** im Skript und wird nirgends gespeichert; es wird im
Autologon-Dialog eingegeben. **Zurück:** `Autologon /accepteula` → Disable, und
`schtasks /Delete /TN OilAutoLogonLock /F`.
- **✅ STUFE 5 DER PIPELINE IST JETZT EIN SKRIPT (`tools/deploy.py`, 2026-08-07).**
Ersetzt das von Hand zusammengesetzte „killen, starten, warten, nachsehen" und
macht die dokumentierte Schwachstelle prüfbar.