KMIP-Best-Practices
Empfehlungen für den sicheren Betrieb eines DuoKey-KMIP-Endpunkts, fundiert auf dem, was die Plattform tatsächlich durchsetzt.
Authentifizierung und Transport
Der Client-Verkehr läuft über TLS auf dem KMIP-Port (Standard 5696), und die Client-Authentifizierung ist optionales gegenseitiges TLS.
Validiertes mTLS durchsetzen
Konfigurieren Sie ein vertrauenswürdiges Client-CA-Bündel, damit vorgelegte Client-Zertifikate validiert werden und ihre Identität für die Autorisierung als vertrauenswürdig gelten kann.
Client-Zertifikate erfordern
Aktivieren Sie require_client_cert auf dem Endpunkt und beschränken Sie die zulässigen Authentifizierungsmethoden auf mtls (und token nur, wenn ein Client es benötigt).
Anonymen Zugriff vermeiden
Aktivieren Sie keinen anonymen Zugriff auf einem Produktionsendpunkt — verwenden Sie ihn nur für eine schnelle Konnektivitätsprüfung.
# PEM bundle of client-CA certificates the KMIP listener will trust.
KMIP_CLIENT_CA_BUNDLE=/etc/duokey/kmip/client-ca-bundle.pemOhne KMIP_CLIENT_CA_BUNDLE werden vorgelegte Client-Zertifikate ohne CA-Validierung akzeptiert und dürfen nicht als vertrauenswürdig gelten. In der Produktion verweigert der Listener den Start, bis ein Bündel konfiguriert ist — setzen Sie immer eines.
Least-Privilege-Endpunkt-Richtlinie
Jeder Endpunkt trägt seine eigene Richtlinie. Beschränken Sie sie auf genau das, was das sich verbindende System benötigt:
| Control | Recommendation |
|---|---|
| Zulässige Operationen | Gewähren Sie nur die Operationen, die der Client nutzt (zum Beispiel Create, Get, Activate, Encrypt/Decrypt). Unzulässige Operationen liefern OperationNotSupported zurück. |
| Zulässige Objekttypen | Beschränken Sie auf die verwendeten Objekttypen — typischerweise SymmetricKey. |
| Ein Endpunkt pro Zweck | Stellen Sie separate Endpunkte für separate Systeme oder Umgebungen bereit, anstatt einen einzigen, breit gefassten Endpunkt zu teilen. |
Cockpit-Operatoren werden durch die Berechtigungen Operations.Kmip gesteuert (view, create, update, delete, test). Gewähren Sie Verwaltungsrechte nur den Rollen, die sie benötigen.
Auditing
Aktivieren Sie die Audit-Protokollierung auf dem Endpunkt, damit jede KMIP-Operation aufgezeichnet wird, und überprüfen Sie sie über die Registerkarte Operations des Endpunkts im KMIP-Menü. Achten Sie auf wiederholte Authentifizierungsfehler und unerwartete Operationen.
Schlüsselhygiene
| Practice | Detail |
|---|---|
| AES-256 verwenden | Die standardmäßige und empfohlene symmetrische Schlüsselgröße. HMAC-Schlüssel sollten 256 Bit oder größer sein. |
| Bewusst aktivieren | Ein Schlüssel ist PreActive, bis er aktiviert wird. Aktivieren Sie ihn erst, wenn der Schlüssel einsatzbereit ist. |
| Mit ReKey rotieren | Rotieren Sie Schlüssel mit ReKey, das frisches Material unter einem neuen Bezeichner erzeugt und es mit dem vorherigen Schlüssel verknüpft, sodass vorhandene Daten weiterhin entschlüsselt werden können. |
| Vor Destroy widerrufen | Überführen Sie einen ausgemusterten Schlüssel mit Revoke in Deactivated (oder Compromised), bevor Sie ihn mit Destroy vernichten. Destroy ist unumkehrbar. |
Der Server erzeugt symmetrische Schlüssel (AES, HMAC). Er erzeugt keine RSA- oder EC-Schlüsselpaare und bietet keine Signier-, Archivierungs- oder Schlüssel-Export-Operationen — planen Sie Integrationen rund um die Verwaltung symmetrischer Schlüssel.
Schutz von Schlüsselmaterial im Ruhezustand
Schlüsselmaterial wird im Ruhezustand verschlüsselt in der Cockpit-Datenbank gespeichert, versiegelt mit AES-256-GCM unter dem Plattform-Verschlüsselungsschlüssel — derselbe Schutz, der auch für Vault-Anmeldedaten verwendet wird.
Die Sicherheit gespeicherter KMIP-Schlüssel hängt vom Plattform-Verschlüsselungsschlüssel ab. Schützen Sie ihn, beschränken Sie den Zugriff auf die Cockpit-Datenbank und beziehen Sie beide in Ihren Sicherungs- und Wiederherstellungsplan ein. Der Verlust des Plattformschlüssels bedeutet, dass das gespeicherte Schlüsselmaterial nicht entschlüsselt werden kann.
Zertifikatslebenszyklus
- Der KMIP-Listener präsentiert dasselbe TLS-Zertifikat wie der HTTPS-Endpunkt des Cockpits — verwalten Sie die Erneuerung dieses Zertifikats als Teil des Cockpit-Betriebs.
- Rotieren Sie Client-Zertifikate nach einem regelmäßigen Zeitplan und entfernen Sie das Vertrauen für ausgemusterte Client-CAs aus dem Bündel.
Vor der Produktion validieren
Verwenden Sie den integrierten Client Simulator, um den vollständigen Lebenszyklus (create → activate → get → encrypt/decrypt → revoke → destroy) gegen einen Endpunkt auszuführen, bevor Sie ein Produktionssystem anbinden. Die Interoperabilität wird außerdem mit dem OASIS-Referenz-Client PyKMIP validiert.
Produktions-Checkliste
| Area | Before go-live |
|---|---|
| mTLS | Client-CA-Bündel konfiguriert; require_client_cert aktiviert; anonymer Zugriff deaktiviert. |
| Richtlinie | Zulässige Operationen und Objekttypen auf den Client beschränkt. |
| Audit | Audit-Protokollierung auf dem Endpunkt aktiviert. |
| Schlüssel | Standardalgorithmus AES-256; Aktivierungs- und Rotationsansatz vereinbart. |
| Backup | Cockpit-Datenbank und Plattform-Verschlüsselungsschlüssel in den Sicherungen enthalten. |
| Validierung | Endpunkt mit dem Client Simulator getestet; Endpunkt ist Running. |