Files
management/docs/adr/0016-notfallhandbuch-nicht-spiegeln.md
T

73 lines
3.4 KiB
Markdown
Raw Normal View History

---
type: adr
id: "0016"
status: accepted
date: 2026-08-14
supersedes: null
superseded_by: null
related:
- "docs/adr/0001-gitlab-kanonisch-push-mirror.md"
- "docs/issues/0030-der-restore-ist-nie-geprobt-sicherungen-sind.md"
---
# 0016 — Das Notfallhandbuch bleibt lab-intern und wird nicht gespiegelt
**Status:** akzeptiert · **Datum:** 2026-08-14 · **Entscheider:** sorb
## Kontext
ADR-0001 legt fest: git.lab ist kanonisch, **alle** Repos werden per Push-Mirror nach
Gitea (`rohana.axion1337.de`) beliefert. Das dient der Verfügbarkeit — Gitea ist von
überall erreichbar, git.lab nur im Lab bzw. über VPN.
Am 2026-08-14 entstand mit `axion1337.chat/notfallhandbuch` ein Repo, dessen Inhalt
qualitativ anders ist als Code oder Konfiguration: Es beschreibt die Wiederherstellung
der Plattform und damit zwangsläufig **den Aufbau der Infrastruktur, den Ablageort der
Sicherungen (Storage Box, Borg-Repos) und wo die Schlüssel zu finden sind** (Vault,
`sops-age`, die Kette bis zur Borg-Passphrase). Werte enthält es nicht — aber die
vollständige Landkarte dorthin.
Rein aus Verfügbarkeitssicht wäre ein Mirror besonders naheliegend: git.lab ist genau
dann nicht erreichbar, wenn man das Handbuch am dringendsten braucht. Diese Empfehlung
wurde in #0030 zunächst auch so gegeben.
## Entscheidung
**Das Notfallhandbuch wird bewusst NICHT nach Gitea gespiegelt** und bleibt
ausschließlich auf git.lab — eine dauerhafte Ausnahme von ADR-0001.
Begründung: Gitea/rohana ist aus dem Internet erreichbar und Teil des Stacks, den das
Handbuch wiederherstellen soll. Wird dieser Stack kompromittiert, wäre ein dort
gespiegeltes Notfallhandbuch genau die Aufklärung, die ein Angreifer für den nächsten
Schritt braucht — Backup-Ziele, Schlüsselverwahrung, Wiederanlaufpfade. Ein Angreifer
mit rohana-Zugriff soll **nicht** zusätzlich erfahren, wo die Sicherungen liegen.
**Vertraulichkeit geht hier vor Verfügbarkeit.**
Die Verfügbarkeitslücke wird stattdessen über einen **lokalen Clone** geschlossen
(Laptop, verschlüsselter Datenträger), der nach Änderungen aktualisiert wird. Das ist
eine Kopie unter eigener Kontrolle, kein öffentlich erreichbarer Spiegel.
## Konsequenzen
- **Kein Mirror einrichten** — auch nicht „der Vollständigkeit halber" oder beim
Vereinheitlichen der Mirror-Konfiguration. Die Begründung steht zusätzlich im README
des Repos, weil dort zuerst hinschaut, wer die Lücke bemerkt.
- Ohne Lab-Zugang (unterwegs, Lab offline) ist das Repo nicht abrufbar. **Der lokale
Clone ist damit Teil des Notfallkonzepts**, nicht bloß Bequemlichkeit — veraltet er,
verliert man im Ernstfall den aktuellen Stand.
- Das Handbuch darf weiterhin **keine Secret-Werte** enthalten, nur Fundorte. Die
Vertraulichkeit dieses Repos ist eine zusätzliche Schutzschicht, kein Ersatz für die
Secrets-Hygiene.
- Andere Repos bleiben von dieser Ausnahme unberührt; ADR-0001 gilt für sie weiter.
## Verworfene Alternativen
- **Mirror wie bei allen anderen Repos:** verworfen — verlagert das Handbuch auf genau
den Host, dessen Kompromittierung einer der abgedeckten Fälle ist.
- **Mirror in ein privates Gitea-Repo:** verworfen — der Schutz stünde und fiele mit der
Gitea-Rechteverwaltung, also erneut mit der Integrität des kompromittierten Systems.
- **Handbuch ohne Fundorte schreiben** (damit es gefahrlos spiegelbar wäre): verworfen —
ein Notfallhandbuch, das verschweigt, wo die Sicherungen und Schlüssel liegen, ist im
Ernstfall wertlos.