dev: KAS-Passwort erledigt — SSH-Zugang des Altsystems geändert und deaktiviert, KAS-Hosting bleibt für die Postfächer

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-10-06 10:12:09 +00:00
parent 1d7ce9e942
commit dd688e5a7a
3 changed files with 11 additions and 9 deletions

View file

@ -297,7 +297,7 @@ Grundlage: [`UMSETZUNGSAUDIT-2026-09-29.md`](UMSETZUNGSAUDIT-2026-09-29.md) (4
| 9.6 | K-02, R-04, R-05, E9-Schalter | erledigt | Kontingent-/Bildsperre im Scheduler als „blockiert" (Exit 0, einmaliger Verlaufseintrag), KI-Job ohne Retry; nach Kundenbestätigung erneut routen; `X-Pk-Ref` per HMAC signiert, Hard-Sperre nur bei gültiger Signatur; Unmerge setzt nur unveränderte Füllwerte zurück (`company_merge_moves.merged_value`); `NEWSLETTER_SENDING_ENABLED` (Standard aus) |
| 9.7 | Q-01, Q-02, Q-06, P3, OPT | erledigt bis auf Q-05 | Testhelfer nach `tests/Pest.php` (Suite läuft parallel); Larastan voller Scope ohne Meldung; P3-Liste und OPT-1 bis OPT-9 umgesetzt (OPT-4 teilweise, Integritätshash bleibt bewusst); Q-07 war ein Fehlalarm (`IMAGE_PRECHECK_MODEL` steht auskommentiert in `.env.example`). Q-05 entschieden am 05.10.2026: `docs/` ist der per Devcontainer eingebundene Obsidian-Vault und kommt aus dem Repository (`.gitignore`), die Historie bleibt. |
Zusätzlich bei der Integration: `press-release-images:sweep-orphan-originals` wöchentlich (So 04:45) im Scheduler, löscht nichts, solange der Archiv-Sweep pausiert ist; `purge-events` von 03:20 auf 03:50; alle `withoutOverlapping()` mit kurzer Sperrdauer (`ScheduleConfigurationTest`); Scheduler-Tabelle im Runbook vollständig. **Im Runbook stand seit `665c94f` (21.07.2026) ein Passwort neben dem KAS-SSH-Zugang** — aus der Arbeitskopie entfernt; in der Git-Historie und auf `origin` bleibt es, deshalb rotieren (Betreiber).
Zusätzlich bei der Integration: `press-release-images:sweep-orphan-originals` wöchentlich (So 04:45) im Scheduler, löscht nichts, solange der Archiv-Sweep pausiert ist; `purge-events` von 03:20 auf 03:50; alle `withoutOverlapping()` mit kurzer Sperrdauer (`ScheduleConfigurationTest`); Scheduler-Tabelle im Runbook vollständig. **Im Runbook stand seit `665c94f` (21.07.2026) ein Passwort neben dem KAS-SSH-Zugang** — aus der Arbeitskopie entfernt; in der Git-Historie und auf `origin` bleibt es, deshalb rotieren (Betreiber). **Erledigt 06.10.2026:** SSH-Zugang des Altsystems geändert und deaktiviert (Betreiber).
### Entscheidungen (bei der Umsetzung getroffen, **vom Betreiber am 02.10.2026 bestätigt**, einschließlich der Revision von E25)
@ -360,7 +360,7 @@ Gilt für beide Blöcke zusammen (Block 10 hat keine eigene Migration). In Klamm
**E — Danach, außerhalb des Codes**
19. **KAS-Passwort rotieren** — stand bis 29.09. im Runbook und liegt in der Git-Historie und auf `origin`.
19. ~~**KAS-Passwort rotieren**~~ — **erledigt 06.10.2026:** SSH-Passwort des Altsystems geändert, SSH-Zugang deaktiviert. Das KAS-Hosting bleibt für die E-Mail-Postfächer.
20. **Datenschutzerklärung:** Rückläufer-Protokoll (`email_bounces`, 395 Tage) in Abschnitt 5a/13 aufnehmen (E27, Betreiber/Anwalt).
21. Restore-Übung in isolierter Umgebung (DB alt/Disk neu, Disk alt/DB neu, beide alt) mit den neuen Schritten aus Runbook Abschnitt 9 (O04/O05).
22. Protokoll unten um Deploy-Datum und Ergebnisse von 8–18 ergänzen.
@ -490,5 +490,5 @@ Ergebnisse der Schritte 8–13 des Deploy-Plans in
offenen Archivaufträge, drei API-Zuordnungen von connektar alle freigeschaltet,
342 Canonical-Paare neu zugeordnet und 13 veraltete Verweise zurückgesetzt,
Sweeps leer, Scheduler mit 21 Tasks. Schritte 14–18 (Abnahme) nicht einzeln
gemeldet; 19–21 (KAS-Passwort, DSE, Restore-Übung) offen. Q-05 entschieden
gemeldet; 19 (KAS-Passwort) erledigt 06.10.2026; 20–21 (DSE, Restore-Übung) offen. Q-05 entschieden
(`docs/` aus dem Repository).

View file

@ -148,7 +148,7 @@ Schlägt `composer install` oder `migrate` fehl: **nicht** `up`, sondern Rollbac
29. **Externer Monitor** (Uptime Kuma o. Ä.) auf `https://pressekonto.com/health`,
Header `Authorization: Bearer …`, 60 s, 2 Wiederholungen, Benachrichtigung über
ntfy (`push.adametz.media`, `pressekonto-ops`). (1.5)
30. **KAS-Passwort rotieren** (B9/10 Nr. 19).
30. ~~**KAS-Passwort rotieren**~~ (B9/10 Nr. 19) — erledigt 06.10.2026, SSH-Zugang deaktiviert.
31. **Datenschutzerklärung** (Betreiber/Anwalt): Rückläufer-Protokoll (B9/10 Nr. 20),
Fehlerprotokollierung GlitchTip (User-ID, URL, Browser, Fehlermeldung, 90 Tage),
fehlgeschlagene Anmeldungen im Verlauf (IP nur als HMAC). Danach — und erst
@ -191,6 +191,6 @@ Abschnitt D, Ausgaben auf Live:
| 19, 20 | GlitchTip- und ntfy-Test ausgeführt; nach `config:cache` wiederholt |
Abschnitt E (Abnahme Testkonto) vom Betreiber nicht einzeln gemeldet.
Abschnitt F offen: externer Monitor auf `/health` (29), KAS-Passwort (30),
Abschnitt F offen: externer Monitor auf `/health` (29),
Datenschutzerklärung (31), Restore-Übung (32); dazu Context7-Schlüssel rotieren
(stand bis `df7ebdc` im Repository).
(stand bis `df7ebdc` im Repository). KAS-Passwort (30) erledigt 06.10.2026.

View file

@ -30,9 +30,11 @@ Phasen im Archiv (`dev/archive/`).
- [ ] **Connektar-API-Keys rotieren** (mittelfristig — die Legacy-Keys sind
über diverse Test-Kanäle gelaufen; Rotation über `/customer/tokens`).
- [ ] **Alt-System endgültig abschalten**, sobald ein paar Tage stabil:
KAS-Hosting kündigen/stilllegen; vorher letztes Backup der Alt-DBs und
Alt-Uploads sichern. Danach kann auch `dev/migration/` (7 GB lokales
Medien-Staging) auf ein Backup-Medium und vom Arbeitsrechner runter.
Webspace und Alt-DBs auf dem KAS stilllegen; vorher letztes Backup der
Alt-DBs und Alt-Uploads sichern. Danach kann auch `dev/migration/` (7 GB
lokales Medien-Staging) auf ein Backup-Medium und vom Arbeitsrechner
runter. **Das KAS-Hosting selbst bleibt** (E-Mail-Postfächer, Stand
06.10.2026); der SSH-Zugang des Altsystems ist geändert und deaktiviert.
## Beobachten (erste Wochen)