Zum Inhalt

Passwort-Management — Konzept, Vault-Struktur und Aufräumplan

Stand: 2026-03-31


1. Konzept: Zwei Systeme, klare Trennung

Zwei Systeme, klare Trennung nach Einsatzzweck:

System Zuständig für Sync Zugriff
Apple Passwörter Web-Logins, Passkeys, persönliche Konten, WLAN-Passwörter iCloud Keychain iPhone, Mac (Safari, Apps)
1Password Infrastruktur, API-Keys, geteilte Zugänge, Automation, Dokumente, Lizenzen, Banking 1Password Cloud iPhone, Mac, CLI (op), Raspberry Pi

Warum zwei Systeme?

  • Apple Passwörter hat die beste iOS/Safari-Integration (Autofill, Face ID, Passkeys) — unschlagbar für den täglichen Web-Login
  • 1Password hat CLI-Zugriff (op), Service Accounts, Vaults und API — unverzichtbar für Automation und Infrastruktur
  • Apple hat keine CLI, kein API, keine Service Accounts → kann 1Password nicht ersetzen
  • 1Password hat kein natives Safari-Autofill auf dem Level von Apple → kann Apple nicht ersetzen

Zuordnungsregel

Faustregel: Wenn du es im Browser/iPhone tippst → Apple. Wenn ein Script oder Server es braucht → 1Password.

Apple Passwörter (iCloud Keychain)

  • Alle persönlichen Web-Logins (Amazon, Google, Social Media, Banking, ...)
  • Passkeys (FIDO2/WebAuthn)
  • WLAN-Passwörter (automatisch über iCloud sync)
  • App-spezifische Logins auf iPhone/Mac
  • Nicht hierhin: Infrastruktur-Credentials, API-Keys, geteilte Zugänge

Regeln

  1. Kein Passwort nur im Kopf — alles in Apple Passwörter oder 1Password
  2. Keine Klartext-Passwörter in Git — 1Password op inject nutzen
  3. Neue Infrastruktur-Credentials → sofort in CK Vault
  4. Neue Web-Logins → Apple Passwörter (Safari schlägt automatisch vor)
  5. Passkeys bevorzugen wo angeboten (sicherer als Passwörter)
  6. BookStack-Passwort regelmäßig prüfen — ist von extern erreichbar
  7. ~~Gitea-Passwort ändern~~ — erledigt 23.03.2026, neues PW in 1Password (CK Vault) + Apple Passwörter
  8. Credentials-Dateien nie in Git*credentials* in .gitignore (seit 23.03.2026)

2. 1Password — Vault-Struktur

Vault-Struktur (Ziel)

Vault Inhalt
CK Alles Dienstliche + CLI-Automation (secrets-refresh.sh)
TEC Home + Lizenzen Heimnetz, Smart Home, Software-Lizenzen, WLANs
Banking/Finance Banken, Kreditkarten, Trading
Docs + Signs Ausweise, Reisepass, Führerschein, Signaturen
Rafa - boxxez Rafas Geschäft
vro (neu anlegen) vro-Zugänge (Alternative: Apple Passwörter)
~~Accounts + Logins~~ Wird aufgelöst

CK Vault — Infrastruktur-Credentials (Stand 08.03.2026)

Eintrag Kategorie URL/Host
BookStack raspip5 Login bookstack-anknorr.ddnss.de
Grafana raspip5 Login anknorr.ddnss.de
Pi-hole raspip5 Login pihole-anknorr.ddnss.de
Gitea raspip5 Login 192.168.178.199:3003
ddnss.de DynDNS Login ddnss.de
GMX Alertmanager Login mail.gmx.net
FritzBox 7590 Admin Login 192.168.178.10
FritzBox TR-064 (HA) Login 192.168.178.10:49443
Sophos XGS Firewalls Admin Login 10.128.40.1:4444
Sophos Central API API Credential api.central.sophos.com
Azure Dynamics 365 CRM API Credential creativekirche.crm4.dynamics.com
BookStack API Token API Credential bookstack-anknorr.ddnss.de
raspip5 SSH Server 192.168.178.199
rpp1 VPN-Gateway SSH Server 192.168.178.67
SaltoServer SSH Server 10.128.40.6
VPN ck ak Login vpn.creative-kirche.de
Salto anknor Login Salto ProAccess
Endpoint Central CK ak Login Endpoint Central
ak ck m365 Login Microsoft 365

3. CLI-Automation (raspip5)

  • /usr/local/bin/secrets-refresh.sh + secrets-refresh.timer (täglich 02:00)
  • op inject mit Templates: .env.op.env, .env.sophos.op.env.sophos
  • 5 Secrets: FRITZ_PASS, PIHOLE_PASSWORD, GF_SECURITY_ADMIN_PASSWORD, SOPHOS_CLIENT_ID/SECRET, XGS_API_PASS
  • Service Account Token: OP_SERVICE_ACCOUNT_TOKEN in /etc/environment
  • Service Account: raspip5rw, Vault-Zugriff: CK (read/write)
# Secrets aus 1Password in Docker .env injizieren:
op inject -i /data/docker/.env.op -o /data/docker/.env

# Automatisch: secrets-refresh.timer (täglich 02:00)

Die .env.op-Vorlage referenziert 1Password-Einträge, op inject ersetzt die Platzhalter durch echte Werte. So stehen Passwörter nie im Klartext in Konfigurationsdateien.


4. Aufräumplan

Phase 1: Duplikate löschen (Accounts + Logins)

Diese Items existieren doppelt — in Accounts+Logins UND im richtigen Vault:

  • [ ] raspip5 FritzBox löschen → bleibt als FritzBox 7590 Admin in TEC Home
  • [ ] raspip5 Grafana löschen → bleibt als Grafana raspip5 in TEC Home
  • [ ] raspip5 Pi-hole löschen → bleibt als Pi-hole raspip5 in TEC Home
  • [ ] raspip5 Sophos Central API löschen → bleibt als Sophos Central API in CK
  • [ ] raspip5 Sophos XGS löschen → bleibt als Sophos XGS Firewalls Admin in CK

Phase 2: Items in richtigen Vault verschieben

  • [ ] Service Account Auth Token: raspip5 → CK
  • [ ] WLAN evpop-office → TEC Home + Lizenzen
  • [ ] Rafa googlemail.com → Rafa - boxxez
  • [ ] veronika.grewe-knorr@gmx.net → neuer Vault "vro" (oder Apple PW)
  • [ ] AppleID vro → neuer Vault "vro"
  • [ ] vro googlemail → neuer Vault "vro"
  • [ ] Dropbox vro → neuer Vault "vro"
  • [ ] anna-maria.knorr@web.de → neuer Vault "Familie" oder "vro"

Phase 3: Web-Logins nach Apple Passwörter verschieben

Danach in 1Password löschen:

  • [ ] Google
  • [ ] andreas.knorr@gmx.net
  • [ ] ak gmail
  • [ ] ak t-online
  • [ ] ak live.com
  • [ ] Magentacloud
  • [ ] GoogleDrive ak
  • [ ] OneDrive ak (live.com)
  • [ ] Dropbox ak
  • [ ] DHL ak
  • [ ] WAZ
  • [ ] ZEIT digital
  • [ ] FAZ+
  • [ ] Buhl
  • [ ] wicket - twoday.net

Phase 4: Sonstiges

  • [ ] PayPal-Duplikate bei Rafa prüfen (3 Einträge, vermutlich nur 2 Accounts)
  • [ ] Bear-Notiz anknorr@service-ck.de — Backup-Codes nach 1Password, dann löschen
  • [ ] Vault "Accounts + Logins" löschen (sollte leer sein)

Phase 5: Verbleibende Items in Accounts + Logins (vor Vault-Lösung prüfen)

  • AppleID ak → TEC Home + Lizenzen (wenn nur Login) oder behalten (wenn Recovery-Keys)
  • AppleID CK PopA → CK (dienstliche Apple-ID)
  • appleID App-spez. Passwort → TEC Home + Lizenzen
  • selfhost → TEC Home + Lizenzen (DynDNS)

5. Bewertung Self-Hosted Alternativen

1Password bleibt die beste Lösung für dieses Setup: - CLI + Service Accounts für Automation - Cloud-hosted = kein RAM auf raspip5 - Alle Plattformen (Mac, iOS, Windows, Linux CLI) - 116 Items, 6 Vaults, bewährt

Alternativen geprüft: - Vaultwarden: Gut, aber RAM-Risiko auf raspip5 (8 GB, 11 Container) - KeePassXC: Kein Container, aber kein Multi-Device-Sync - Proton Pass: Kein CLI - pass/gopass: Kein GUI für iOS


Anhang: Ablageorte für Dokumentation

Was Wo Sync
Strukturierte technische Doku BookStack Manuell, extern erreichbar
Schnelle Notizen, persönlich Bear iCloud (automatisch)
CLI-Referenzen, Konzepte BookStack → Book "Referenz" Manuell
Infrastruktur-Doku (Markdown) /home/ak/dokumentation/*.md BookStack-Import möglich
Claude Code Kontext CLAUDE.md + Memory Gitea (claude-sync.timer)

Sync-Wege

┌─────────────┐     iCloud      ┌──────────────┐
│   Bear      │◄───────────────►│  Bear iOS    │
│   (macOS)   │                 │  (iPhone)    │
└─────────────┘                 └──────────────┘

┌─────────────┐     HTTPS       ┌──────────────┐
│  BookStack  │◄───────────────►│  Safari/App  │
│  (raspip5)  │  Caddy+LE       │  (überall)   │
└─────────────┘                 └──────────────┘
        ▲
        │ API (doku-sync Token)
        │
┌───────┴─────┐                 ┌──────────────┐
│ dokumentation│                │  1Password   │
│ /*.md       │                 │  (CLI: op)   │
│ (raspip5)   │                 └──────┬───────┘
└─────────────┘                        │
        ▲                              │ inject
        │                              ▼
┌───────┴─────┐                 ┌──────────────┐
│ CLAUDE.md   │    Gitea        │  .env.op     │
│ + Memory    │◄───timer────────│  (Secrets)   │
└─────────────┘                 └──────────────┘