Files
homelab-infra/docs/AUDIT_2026-05-25_TODO.md
T
2026-05-26 19:57:00 +02:00

5.6 KiB

Audit TODO 2026-05-25

Quelle: docs/AUDIT_2026-05-25.md

Status: Arbeitsliste fuer die Umsetzung. Authelia-2FA/OIDC bleibt bewusst spaet, weil die Ziel-Policy noch nicht final entschieden ist.

Leitplanken

  • Keine Authelia-2FA-ACL-Aenderungen in den ersten Sprints.
  • Keine Live-riskanten Bind-/Port-Aenderungen ohne vorher erfasste Host-Werte, insbesondere Tailscale-IP.
  • Erst Inventar und Baseline, dann Aenderungen.
  • Jede produktive Aenderung bekommt Validierung und Rollback-Hinweis.

Naechster Startpunkt 2026-05-26

Kontext bewusst gesichert, bevor weitere Live-Aenderungen passieren:

  1. Host-Schedule/Trockenlauf fuer Gitea-Bundles und Restore-Freshness pruefen.
  2. Netzwerk-/Storage-Inventar finalisieren.
  3. Authelia 2FA/OIDC weiterhin nicht anfassen; das bleibt bewusst der letzte Block.

Sprint 0 - Inventar und Baseline

Status Aufgabe Ergebnis
erledigt Hardware-Inventar ausfuellen CPU, RAM, Mainboard, BIOS, NIC, Controller, Disks, SMART und Capacity-Baseline erfasst; USV ist als nicht validiert dokumentiert
in Arbeit Netzwerk-Inventar ausfuellen Host-IP, Gateway, Tailscale-IP und AdGuard-Bind erfasst; Router-/VLAN-Details offen
erledigt (Baseline) Externe Abhaengigkeiten dokumentieren docs/EXTERNAL_DEPENDENCIES.md enthaelt bekannte Provider, Kritikalitaet, Ausfallplaene; Account-Recovery-Codes/Zahlungswege bleiben Off-Repo-Operatorcheck
erledigt (Baseline) Services-Recovery-Pfade beschreiben docs/SERVICES_RECOVERY.md enthaelt Gitea-/Komodo-/Secrets-Sonderpfade; Gitea-Bundle-/Mirror-Mechanik bleibt als Umsetzungsentscheidung offen
erledigt Baseline-Tag setzen audit-2026-05-25-baseline ist lokal und remote vorhanden
erledigt Policy-Check neu ausfuehren SEC001-Warnings aus altem Report sind nicht mehr aktuell

Sprint 1 - Nicht-kontroverse Sicherheits- und Repo-Hygiene

Status Aufgabe Ergebnis
erledigt Borg-Passphrase analog sichern Operator bestaetigt am 2026-05-26: Passphrase ist offline gesichert und ohne Host/Vaultwarden wiederherstellbar
erledigt (repo) AdGuard Admin-Bind vorbereiten Tailscale-IP 100.80.98.33 erfasst, Compose-Soll geaendert
erledigt AdGuard Admin-Port auf Tailscale-IP binden Live validiert: ss -ltnp zeigt 100.80.98.33:8082, DNS auf Port 53 funktioniert, LAN-Zugriff auf 192.168.178.58:8082 schlaegt fehl
erledigt Alte Monitoring-Verzeichnisse entfernen ops/grafana-influxdb/ und ops/loki/ sind aus dem aktiven Repo entfernt; Rollback erfolgt ueber Git-Historie
erledigt Komodo/Gitea-Restdrift bereinigen alter Komodo-Stack grafana ist inert und ohne Repo-Pfad/Webhook; Gitea-Hook 35 und komodo-Self-Hook 11 sind inaktiv; aktive Gitea-Hooks haben keine Fehlstatus
erledigt Policy-Warnings triagieren Plex Host-Netz und digest-gepinnte mutable Tags sind dokumentierte Info-Ausnahmen; monitoring-influxdb3-core als Root-Ausnahme bleibt bewusst als Warning sichtbar

Sprint 2 - Storage und Recovery verbindlich machen

Status Aufgabe Ergebnis
offen docs/STORAGE_LAYOUT.draft.md finalisieren Datei wird als docs/STORAGE_LAYOUT.md Active gefuehrt
offen Disk- und Share-TBDs eintragen Modelle, Groessen, Seriennummern, Filesysteme und Cache-Settings sind dokumentiert
erledigt (Skript) Gitea-Repo-Mirror-Mechanik definieren ops/borg-ui/scripts/gitea-bundle-mirror.sh erzeugt verifizierte Bundles unter /mnt/user/backups/git-bundles/gitea; Host-Schedule/Trockenlauf bleibt offen
offen Komodo-Bootstrap-Pfad beschreiben Kaltstart ohne laufendes Komodo ist dokumentiert
offen Immich-Restore-Test planen Testumfang, Datenpfade und Smoke-Test-Kriterium stehen fest

Sprint 3 - Restore und Monitoring

Status Aufgabe Ergebnis
offen Immich-Restore-Test implementieren Restore-Report landet unter /mnt/user/backups/restore-reports/
offen Borg-Stale-Alert bauen Alarm feuert, wenn Borg-Archiv zu alt ist
offen TLS-Cert-Expiry-Alert bauen Alarm feuert bei Restlaufzeit unter Schwellwert
offen Container-Down-Alert bauen Unerwartet fehlende Container werden sichtbar
offen Family-View Dashboard definieren Uptime, Backup-Frische, Cert-Tage, Disk-Fuellung auf einer Seite

Sprint 4 - Familien- und Betriebsdoku

Status Aufgabe Ergebnis
offen Familien-Onboarding schreiben Nextcloud, Immich, Vaultwarden, 2FA-Verlust, Ausfallverhalten kurz erklaert
erledigt (Baseline) Capacity-/Lifecycle-Review erstellen Cache 6 %, Array/User-Shares 33 %, lokale Backups 2.2G; externe Backup-/Cold-Storage-Groessen bleiben offen
erledigt USV-Test oder USV-Entscheidung Operator-Entscheidung 2026-05-26: aktuell keine USV-Anschaffung; Power-Loss-Risiko wird bewusst akzeptiert und dokumentiert

Sprint 5 - Auth und Frontdoor, bewusst zuletzt

Status Aufgabe Ergebnis
geparkt Authelia 2FA fuer Operator-UIs erweitern Erst nach finaler Policy-Entscheidung
geparkt Authelia OIDC fuer Apps pruefen Erst nach Familien-/Client-Auswirkungsanalyse
geparkt CrowdSec vor Traefik pruefen Nach stabiler Auth-/Monitoring-Basis

Offene Host-Werte

Diese Werte muessen am Unraid-Host erhoben werden, bevor die entsprechenden Aenderungen sauber umgesetzt werden:

hostname
cat /proc/cpuinfo | awk '/model name|flags/ {print; if(/flags/) exit}'
free -h
dmidecode -t baseboard | head -30
ip -br link
tailscale ip -4
lsblk -o NAME,SIZE,MODEL,SERIAL,FSTYPE,MOUNTPOINT,VENDOR
df -h /mnt/cache /mnt/disk1 /mnt/user
smartctl -a /dev/nvme0n1 | head -80
smartctl -a /dev/sdb | head -80