#021 Abgleich und Drift-Erkennung #21

Closed
opened 2026-10-12 15:12:44 +00:00 by florian.wilde · 0 comments
Owner

Ziel

Periodischer und manueller Abgleich, Befunde je Host/Benutzer.

Aufgaben

  • Zeitplan konfigurierbar
  • Befundarten

Akzeptanzkriterien

  • Integrationstest

Abhängigkeiten

#016

Notizen / Entscheidungen

  • Ein SSH-Aufruf je Host liest authorized_keys aller Benutzer mit UID 0 oder ≥ 1000 plus aller Benutzer mit Zuweisungen – als jeweiliger Benutzer, base64-kodiert (Zeilenenden und fremde Bytes kommen unversehrt an). Dazu Rechte und Eigentümer von ~/.ssh und Datei.
  • Befunde (rein, src/lib/ssh/abgleich.ts): fehlender Key im Block, Block von Hand geändert (zusätzlicher Key oder andere Optionen), unbekannter Key außerhalb (bekannte Keys außerhalb sind kein Befund), Rechte (für Gruppe/Welt beschreibbar oder fremder Eigentümer), beschädigter Block, Private Key fehlt oder verändert (Hash gegen den versiegelten Key).
  • Abweichungen werden geöffnet und – sobald behoben – geschlossen, nie doppelt. Host-Key-Abweichungen bleiben bei #009.
  • Zustände: Public-Verwendungen AUSGEROLLT ↔ ABWEICHUNG, GEPLANT bleibt bis zum Ausrollen; Host SYNCHRON/DRIFT, letzter Abgleich, erreichbar.
  • Zeitplan über pg-boss (SSHKV_SYNC_CRON, Standard 30 2 * * *, Europe/Berlin) – liegt in der Datenbank, feuert also auch bei mehreren Workern nur einmal. Hosts mit laufendem Abgleich werden übersprungen.
  • Ändert nichts auf dem Host. Korrekturen laufen über Dry-Run und Ausrollen.
  • DATEI_GEAENDERT meldet nur einen beschädigten Block; eine bloße Hash-Änderung ist kein Befund, weil sshkv selbst schreibt.

Quelle: docs/issues/021-abgleich-drift.md – dort wird dieses Issue gepflegt.

## Ziel Periodischer und manueller Abgleich, Befunde je Host/Benutzer. ## Aufgaben - [x] Zeitplan konfigurierbar - [x] Befundarten ## Akzeptanzkriterien - [x] Integrationstest ## Abhängigkeiten #016 ## Notizen / Entscheidungen - **Ein SSH-Aufruf je Host** liest `authorized_keys` aller Benutzer mit UID 0 oder ≥ 1000 plus aller Benutzer mit Zuweisungen – als jeweiliger Benutzer, base64-kodiert (Zeilenenden und fremde Bytes kommen unversehrt an). Dazu Rechte und Eigentümer von `~/.ssh` und Datei. - **Befunde** (rein, `src/lib/ssh/abgleich.ts`): fehlender Key im Block, Block von Hand geändert (zusätzlicher Key oder andere Optionen), unbekannter Key außerhalb (bekannte Keys außerhalb sind kein Befund), Rechte (für Gruppe/Welt beschreibbar oder fremder Eigentümer), beschädigter Block, Private Key fehlt oder verändert (Hash gegen den versiegelten Key). - **Abweichungen** werden geöffnet und – sobald behoben – geschlossen, nie doppelt. Host-Key-Abweichungen bleiben bei #009. - **Zustände:** Public-Verwendungen AUSGEROLLT ↔ ABWEICHUNG, GEPLANT bleibt bis zum Ausrollen; Host SYNCHRON/DRIFT, letzter Abgleich, erreichbar. - **Zeitplan** über pg-boss (`SSHKV_SYNC_CRON`, Standard `30 2 * * *`, Europe/Berlin) – liegt in der Datenbank, feuert also auch bei mehreren Workern nur einmal. Hosts mit laufendem Abgleich werden übersprungen. - **Ändert nichts auf dem Host.** Korrekturen laufen über Dry-Run und Ausrollen. - `DATEI_GEAENDERT` meldet nur einen beschädigten Block; eine bloße Hash-Änderung ist kein Befund, weil sshkv selbst schreibt. --- Quelle: `docs/issues/021-abgleich-drift.md` – dort wird dieses Issue gepflegt.
florian.wilde added this to the v0.4.0 milestone 2026-10-12 15:12:44 +00:00
florian.wilde added the backend label 2026-10-12 15:12:44 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: florian.wilde/sshkeyvault#21