Bis jetzt gab es kein Audit-Device - also keinerlei Aufzeichnung, wer welches
Geheimnis gelesen hat. Bei der Fehlersuche an der Identitaet "claude" am
2026-10-03 haette ein Blick ins Audit-Log die Ursache sofort gezeigt, weil die
beim Login vergebenen Policies darin stehen.
Deklarativ in openbao.hcl statt per `bao audit enable`: OpenBAO 2.x lehnt den
API-Weg ausdruecklich ab ("cannot enable audit device via API; use declarative,
config-based audit device management instead") - anders als Vault. Der Block
wird bei Neustart und bei SIGHUP uebernommen, der Reload lief daher ohne
Ausfall und ohne Entsiegeln.
log_raw bleibt auf dem Standard false: sensible Werte werden gehasht. Im Log
steht nachgeprueft ein HMAC statt des client_token, dazu Operation, Pfad,
display_name, policies und entity_id.
Dazu zwei Dinge, die das betriebssicher machen:
- /openbao/logs war ein ANONYMES Volume aus dem Image, nicht in der compose
deklariert. Es haette ein `docker compose down -v` nicht ueberlebt. Jetzt ein
Bind-Mount auf ./logs (uid 100 = openbao im Container). Der Pfad im Container
bleibt gleich, der audit-Block muss dafuer nicht angepasst werden. Greift beim
naechsten `docker compose up -d openbao`.
- logrotate: taeglich, 30 Generationen, zusaetzlich maxsize 100M. Das ist
Pflicht, nicht Komfort - Audit-Devices sind blockierend, bei voller Platte
weist OpenBAO Anfragen ab. SIGHUP im postrotate statt copytruncate, damit
keine Zeilen verloren gehen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FXUoNtUh1qEdZXSzQeSos4
18 lines
270 B
Plaintext
18 lines
270 B
Plaintext
# NEVER commit unseal keys, root tokens, or storage data
|
|
unseal-keys.json
|
|
init-output.json
|
|
unsealer-init.json
|
|
admin-credentials.txt
|
|
config/seal.hcl*
|
|
*.token
|
|
config/tls/
|
|
data/
|
|
.env
|
|
artifacts/
|
|
.claude/
|
|
*-credentials.txt
|
|
*.bak-*
|
|
|
|
# Audit-Logs gehoeren nicht ins Repo
|
|
logs/
|