KeyNanny
Schutz von Systemzugangsdaten – verschlüsselt, HSM-fähig und nahtlos in Unix-Umgebungen integriert.
KeyNanny schützt Infrastruktur-Zugangsdaten wie Datenbank- oder Service-Passworte, Webserver-Schlüssel und API-Tokens zuverlässig vor unbefugtem Zugriff. Statt sensibler Informationen im Klartext in Konfigurationsdateien speichert KeyNanny alle Secrets verschlüsselt – und stellt sie autorisierten Prozessen über einen Unix-Socket transparent zur Verfügung.
KeyNanny kombiniert bewährte Unix-Betriebssystemmechanismen, cleveres kryptographisches Schlüsselmanagement und den kryptografischen Standard CMS/PKCS#7, um sensitive Informationen aus persistent gespeicherten Dateien herauszuhalten – ohne dass bestehende Applikationen angepasst werden müssen.
KeyNanny: Highlights
Schluss mit Klartext-Credentials: Zugangsdaten werden ausschließlich verschlüsselt auf der Festplatte abgelegt. Im Speicher gehaltene Werte sind nur autorisierten Prozessen über einen Unix-Socket zugänglich.
HSM-Unterstützung: Die Verschlüsselungsschlüssel von KeyNanny können wahlweise als Sofware-Schlüssel auf der Festplatte oder in einem Hardware-Sicherheitsmodul (HSM) über PKCS#11 geschützt werden – für maximale Sicherheit in regulierten Umgebungen.
Keine Anpassung bestehender Applikationen nötig: Über einen Konfigurationsdatei-Templating-Mechanismus können Applikationen, die keine native KeyNanny-Unterstützung haben, transparent mit geschützten Credentials versorgt werden.
Features
-
Verschlüsselte Credential-Speicherung — Alle Zugangsdaten werden mittels CMS/PKCS#7 (AES-256) verschlüsselt persistent gespeichert. Die verschlüsselten Dateien sind nicht sensitiv und können auch world-readable abgelegt werden; der Schutz liegt im Schlüssel, nicht in der Datei.
-
Unix-Socket-basierter Zugriff — KeyNanny kommuniziert ausschließlich über Unix Domain Sockets. Zugriff wird über Unix-Dateiberechtigungen gesteuert – ohne zusätzliche Netzwerkexposition. Jede KeyNanny-Instanz läuft als derselbe Unix-Benutzer wie die zugreifende Applikation.
-
Multi-Instanz-Architektur — Eine beliebige Anzahl paralleler KeyNanny-Daemon-Prozesse (keynannyd) kann betrieben werden – je Applikation oder Namespace eine Instanz, mit eigenem Socket, eigenem Benutzer und eigener Zugangsdatenmenge.
-
HSM-Integration via PKCS#11 —Die von KeyNanny verwendeten Verschlüsselungsschlüssel können in Hardware-Sicherheitsmodulen (HSMs) verwahrt werden.
-
Konfigurationsdatei-Templating — Applikationen, die Klartext-Konfigurationsdateien benötigen, werden über ein Template-Mechanismus versorgt: Beim Start wird eine Konfiguration mit Platzhaltern gegen KeyNanny-Werte gerendert und in ein tmpfs-Verzeichnis geschrieben. Die Applikation liest eine vollständige, normale Konfiguration – ohne jemals ein Passwort im Dateisystem zu hinterlassen.
-
Sichere Credential-Übermittlung — Über ein optionales, einfach einzurichtendes Web-Interface können Passwörter sicher zwischen Administratoren unterschiedlicher Betreibergruppen ausgetauscht werden: Die Werte werden direkt mit dem KeyNanny-Zertifikat verschlüsselt übermittelt, ohne jemals im Klartext über das Netz zu gehen.
-
Automatisches Schlüssel-Rollover — Beliebig viele Generation von Verschlüsselungs-Zertifikates können konfiguriert werden. KeyNanny wählt automatisch das aktuell gültige Verschlüsselungszertifikat für neu zu verschlüsselnde Daten, die alten Daten bleiben lesbar. Ein Rekeying-Mechanismus für alle Daten erleichtert bei Bedarf das Aufräumen.
-
Native OpenXPKI-Integration — Über den KeyNanny-Connector werden Zugangsdaten direkt in OpenXPKI-Konfigurationen eingebunden. Datenbankpasswörter, LDAP-Credentials und andere Secrets werden aus KeyNanny gelesen, ohne in der OpenXPKI-Konfiguration im Klartext zu stehen.
-
Trennung von Zuständigkeiten — Entwickler, Service-Betreiber und Betriebsadministratoren haben klar getrennte Rollen: Entwickler pflegen Konfigurationsvorlagen ohne Kenntnis der Produktionspasswörter; Service-Betreiber können Service-Passworte vergeben, ohne dass die Betriebsadministratoren diese lesen können.
Use Cases
-
PKI-Infrastruktur (OpenXPKI) — KeyNanny ist der empfohlene Credential-Store für OpenXPKI Enterprise Edition. Datenbankpasswörter, LDAP-Bind-Credentials und weitere Zugangsdaten werden aus KeyNanny bezogen. Die Integration erfolgt über den nativen KeyNanny::Connector ohne Änderungen an der OpenXPKI-Applikation selbst. In Kombination mit einem HSM werden die Verschlüsselungsschlüssel modular geschützt.
-
Webserver-Schlüsselschutz — Private Schlüssel für TLS-Zertifikate von Webservern (z. B. Apache) müssen beim Start nicht mehr im Klartext vorliegen. KeyNanny liefert die Schlüssel-Passphrase über den SSLPassPhraseDialog-Mechanismus direkt an Apache – der private Schlüssel liegt nur noch HSM-geschützt vor.
-
Datenbankzugangsdaten — Technische Datenbankbenutzer und deren Passwörter werden in KeyNanny verschlüsselt abgelegt. Ein Passwortwechsel erfordert keine Anpassung von Konfigurationsdateien oder Deployments.
-
Entwicklung und CI/CD — Konfigurationsvorlagen mit KeyNanny-Platzhaltern können bedenkenlos in Git-Repositories versioniert werden. Produktionspasswörter sind nie im Repository enthalten; die Trennung zwischen Konfigurationsstruktur und sensitiven Werten ist strukturell erzwungen.
-
Multi-Team-Umgebungen — In Umgebungen mit getrennten Betreibergruppen (z. B. Entwicklung, Betrieb, Sicherheit) ermöglicht KeyNanny die sichere Übergabe von Credentials: Ein Administrator einer Gruppe verschlüsselt den Wert mit dem KeyNanny-Zertifikat der Zielumgebung; der empfangende Administrator importiert ihn, ohne den Klartext je zu sehen.
Deployment — KeyNanny wird als RPM-Paket für RedHat-RHEL- und SuSE SLES-Linux-Systeme ausgeliefert. Die Konfiguration erfolgt pro Instanz über Konfigurations-Dateien unter /etc/keynanny/. Jede Instanz wird als systemd-Service über das mitgelieferte Template keynannyd@.service betrieben.
Datenspeicherung — Verschlüsselte Credentials werden als CMS/PKCS#7-Blobs im persistenten Dateisystem unter /var/lib/keynanny/storage/<namespace>/ abgelegt. Die verschlüsselten Dateien sind nicht sicherheitskritisch; der Schutz liegt ausschließlich im privaten Schlüssel. Entschlüsselte Werte werden ausschließlich im RAM gehalten und nie auf die Festplatte geschrieben.
Kryptografische Infrastruktur — Private Schlüssel und zugehörige X.509v3-Zertifikate liegen unter /var/lib/keynanny/crypto/. Software-Schlüssel werden als PEM-kodierte RSA-Schlüssel abgelegt; bei HSM-Einsatz verbleibt das Schlüsselmaterial im HSM und wird über PKCS#11 referenziert. Zertifikat-Globbing-Muster ermöglichen implizite Zuordnungen von Zertifikaten zu Schlüsseln und vereinfachen damit die Konfiguration bei Schlüsselwechseln.
Client-Integration — Zugangsdaten können über das Kommandozeilenwerkzeug keynanny abgefragt (get), gesetzt (set) und aufgelistet (list) werden. Für viele Programmiersprachen (Perl, Python, Golang, C) stehen Bibliotheken für die Anbindung des KeyNanny-Protokolls bereit. Shell-Skripte integrieren sich direkt über den Socket und das keynanny-Tool
Zugriffskontrolle — Der Zugriff auf KeyNanny-Instanzen wird nativ über Unix-Dateisystemberechtigungen auf dem Socket-File gesteuert. Lese- und Schreibrechte können pro Instanz separat konfiguriert werden, um z. B. Read-only-Zugriff für Applikationen und Write-Zugriff für Administratoren zu trennen.
Monitoring und Logging — KeyNanny unterstützt Logging über Syslog (Standard, Facility local0), Konsole oder in Log-Dateien über flexible Konfigurationswerte. Der Verschlüsselung-Status einer Installation kann über keynannyd --check verifiziert werden.
Lizenz
-
KeyNanny steht in Form eines Subscription-Modells bereit. Gern informieren wir Sie über unsere aktuelle Preisstaffel.
Zusatzoptionen
-
HSM-Unterstützung optional