Files
sshkeyvault/docs/issues/005-protokoll.md
T
florian.wildeandClaude Opus 5.5 364c514b04 feat(protokoll): Eintraege vor dem Schreiben schwaerzen (#005)
Details und Diff laufen durch schwaerzen(), damit kein Private Key und
kein Passwort ins unveraenderliche Protokoll geraet - was dort einmal
steht, laesst sich per Trigger nicht mehr entfernen.

Der Wortstamm privat ist dafuer zu breit: er schwaerzte auch Pfade und
Verwendungszaehler, die das Protokoll gerade zeigen soll. Jetzt greifen
nur Felder, die den Schluessel selbst tragen, und jeder PEM-Block.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 09:30:51 +02:00

1.3 KiB
Raw Blame History

#005 Revisionssicheres Protokoll

Status: erledigt Meilenstein: v0.1.0 Labels: sicherheit Geschätzt: 2 h Tatsächlich: 0 h 10 min

Ziel

Jede Aktion landet im Protokoll; Einträge sind unveränderlich und über eine Hash-Kette verbunden.

Aufgaben

  • Modell Protokoll mit Akteur, Aktion, Host, Zielbenutzer, Fingerprint, Diff, Ergebnis
  • DB-Trigger verbietet UPDATE/DELETE
  • Hash-Kette (SHA-256 über Vorgänger + Inhalt), Prüffunktion
  • Redaction: Private Keys/Passwörter können nicht hineingeraten

Akzeptanzkriterien

  • Test: UPDATE/DELETE schlägt fehl
  • Test: manipulierte Zeile wird von der Prüfung gefunden

Abhängigkeiten

#003

Notizen / Entscheidungen

  • Modell, Trigger und Hash-Kette entstanden schon mit #003 (Datenbankregeln); hier kommen Service, Schwärzen und Prüffunktion dazu.
  • Diff und Details werden geschwärzt, bevor sie in die Datenbank gehen (schwaerzen() aus #006).
  • „privat“ ist kein Schwärz-Stamm mehr: privateVerwendungen, privatePfad usw. sind Angaben, die das Protokoll gerade braucht. Geschwärzt werden nur Felder, die den Schlüssel selbst tragen (privateKey*, privatVerschluesselt, dekVerschluesselt …) – und jeder PEM-Block im Inhalt.
  • Ansicht, CSV-Export und Syslog folgen mit #027.