Password Safe

Artur Fischer

1. Warum benötigt man dieses Modul in IP-Symcon?

Standardmäßig speichert IP-Symcon Variableninhalte und Instanz-Konfigurationen in der Datei settings.json (und damit auch in Backups). Daraus ergeben sich typische Risiken:

  • Klartext-Speicherung: Passwörter/Token können im Klartext in Konfigurationen oder Variablen auftauchen.
  • Unsichere Backups: Backups enthalten Konfigurationen – wer Zugriff hat, kann ggf. Secrets auslesen.
  • Sichtbarkeit: Admins/Benutzer mit Konsolen-Zugriff können Inhalte sehen.
  • Verteilte Systeme: Mehrere Symcon-Instanzen erfordern sonst manuelle Pflege.

2. Wie werden diese Probleme beseitigt?

SymconSecrets folgt einem „Zero-Knowledge“-Prinzip:

  • Verschlüsselung (AES-128-GCM): Secrets liegen in IP-Symcon nur als verschlüsselter Blob vor (Vault).
  • Schlüssel-Isolation: Der Entschlüsselungs-Key liegt nicht in Symcon, sondern als Datei master.key im OS-Dateisystem (z.B. geschützter Ordner).
  • Stateless Editor: Der Editor arbeitet ohne Property-Zwischenspeicherung. Inhalte werden nur im RAM angezeigt/bearbeitet und nur nach „Encrypt & Save“ dauerhaft (verschlüsselt) gespeichert.
  • Zusätzliche System-Secrets ausgelagert: Secrets, die früher typischerweise in Properties lagen (z.B. Sync-Token, WebHook-Passwort, Slave-Basic-Auth-Passwörter), werden verschlüsselt in einer separaten Datei system.vault gespeichert (ebenfalls AES-GCM).

Ergebnis: keine Passwörter/Token in der settings.json, sofern du die vorgesehenen “Save … (encrypted)” Buttons nutzt.


Beinhaltete Module

  • CredentialStore, PasswordSafe

Versionsverlauf

  • Stateless/Zero-Cleartext konsequent umgesetzt: Keine Secrets mehr als Properties (damit nichts im Klartext in settings.json/Backups landet). Eingaben werden nur im UI/RAM verarbeitet und erst beim Speichern verschlüsselt abgelegt.

  • Neue verschlüsselte System-Ablage (system.vault):
    Sync-Token, WebHook-Passwort (Slave) und per-Slave Basic-Auth-Passwörter (Master) werden verschlüsselt in system.vault gespeichert (zusätzlich zum eigentlichen Vault).

  • Master/Slave-UI bereinigt:
    Token generieren/anzeigen nur am Master (Slave nur „Token eingeben + encrypted speichern“). Sichtbarkeiten in GetConfigurationForm() entsprechend angepasst.

  • Per-Slave Security Settings erweitert:
    In der Slave-Liste pro Slave: Server-Label, TLS-Modus (http/strict/pinned), Key-Provisioning (manual/sync) und optional Pinned-Fingerprint.

  • Per-Slave Basic-Auth-Passwort Editor am Master:
    Extra Panel, Auswahl “Server — URL”, Passwort wird verschlüsselt gespeichert; die URL-Auswahlliste wird dynamisch aus SlaveURLs gebaut.

  • Key-Transport als Option + Sicherheitsregeln:
    Key kann optional im Sync-Payload gesendet werden (wenn so konfiguriert), aber nur unter sicheren Bedingungen (z.B. nicht über reines HTTP).

  • Rotate-Key vorbereitet:
    Button/Workflow für Key Rotation (Master/Standalone sichtbar) in die UI integriert.

Zur Dokumentation

Autor: Artur Fischer

IP-Symcon >= 6.0

Version: 4.0

In Kategorien:

Haben Sie noch Fragen?