Startseite
» LINUX
»
So speichern Sie sensible Daten unter Linux mit Vault
So speichern Sie sensible Daten unter Linux mit Vault
HashiCorp Vault speichert statische Geheimnisse in einer Key-Value-Engine (KV-Engine) und ermöglicht autorisierten Benutzern den Zugriff über die Web-Oberfläche oder die Befehlszeilenschnittstelle (CLI). Diese Anleitung demonstriert den Workflow auf einem lokalen Linux-Rechner. Sie verwendet die KV-v2-Engine und den Vault-Entwicklungsmodus, der bewusst unsicher ist, Daten nur im Arbeitsspeicher speichert und sie beim Beenden löscht. Verwenden Sie hier einen Platzhalterwert; geben Sie kein echtes Passwort, keinen API-Schlüssel und keine privaten Anmeldeinformationen ein. Für persistente sensible Daten sollten Sie Vault im Nicht-Entwicklungsmodus mit dauerhaftem Speicher und geeigneten Zugriffskontrollen einsetzen.
Vault unter Debian oder Ubuntu installieren
Verwenden Sie das offizielle Paket-Repository von HashiCorp anstelle eines veralteten, versionsgebundenen Download-Links. Die folgenden Befehle fügen den Signaturschlüssel und das apt-Repository hinzu und installieren anschließend Vault. Wenn Sie RHEL, Fedora oder Amazon Linux verwenden, wählen Sie die entsprechenden Paketanweisungen auf der offiziellen Vault-Installationsseite .
Vergewissern Sie sich, dass sich die CLI in Ihrem Pfad befindet:
vault --version
Starten Sie einen lokalen Demoserver
Führen Sie diesen Prozess in einem Terminalfenster aus, während Sie dem Tutorial folgen. Binden Sie ihn an die Loopback-Adresse, sodass er nur von Ihrem eigenen Computer aus erreichbar ist:
vault server -dev -dev-listen-address=127.0.0.1:8200
Vault initialisiert und entsperrt diesen Entwicklungsserver automatisch. Die Startausgabe enthält ein Root-Token, das Sie für die Anmeldung an der Benutzeroberfläche benötigen. Dieses Token gewährt weitreichende administrative Zugriffsrechte. Bewahren Sie es daher lokal auf und geben Sie es niemals weiter. Der Entwicklungsmodus verwendet zudem unsichere Standardeinstellungen und In-Memory-Speicher. HashiCorp weist ausdrücklich darauf hin, dass er für Experimente und nicht für den Produktiveinsatz gedacht ist. Die Benutzeroberfläche ist unter [URL einfügen] verfügbar http://127.0.0.1:8200/ui. Die Demo verwendet unverschlüsseltes HTTP über Loopback; geben Sie diesen Port niemals im Netzwerk frei.
Um ein reproduzierbares Beispiel zu erstellen, erstellen Sie eine separate KV v2-Einbindung mit dem Namen linux-kv. Legen Sie in einem zweiten Terminal die Serveradresse fest und aktivieren Sie die Einbindung einmalig, während diese Demo aktiv ist:
Dadurch wird vermieden, dass man sich auf den Standard-Mountnamen verlässt, der je nach Beispielkonfiguration variieren kann. Ein KV v2-Mountversions-Secret schreibt. Die KV v2-Einrichtungsdokumentation von Vault beschreibt den Mount-Befehl und den UI-Workflow.
Speichern Sie ein Testgeheimnis in der Web-Benutzeroberfläche von Vault.
Öffnen Sie http://127.0.0.1:8200/uidie Seite in Ihrem Browser. Geben Sie das im Serverterminal angezeigte Root-Token ein und melden Sie sich an. Die Vault-Benutzeroberfläche ist im Entwicklungsmodus standardmäßig aktiviert; siehe die offizielle Dokumentation zur Benutzeroberfläche .
Wählen Sie „Geheimnisse“ , öffnen Sie die linux-kv/Einbindung und wählen Sie die Option zum Erstellen eines Geheimnisses. Auf der Engine-Seite sollte diese Einbindung als Key/Value Version 2 identifiziert werden.
Geben Sie für den geheimen Pfad ein linux-demo. Geben Sie unter den Schlüssel/Wert-Feldern api_keyals Schlüssel und test-valueals Wert ein. Klicken Sie auf Speichern . Dies sind Beispielzeichenfolgen, keine Anmeldeinformationen.
Mountpunkt und Pfad identifizieren diesen Datensatz linux-kv/linux-demo. Verwenden Sie neutrale Pfad- und Schlüsselnamen: Namen können in Listen oder Metadaten erscheinen, daher sollten Sie darin kein Passwort oder andere sensible Informationen speichern. Verwenden Sie für gewöhnliche, wiederverwendbare Schlüssel/Wert-Datensätze KV. Die Cubbyhole-Engine von Vault ist auf ein einzelnes Token beschränkt und wird nach dessen Ablauf gelöscht.
Schreiben und Abrufen des Geheimnisses mit der Befehlszeilenschnittstelle
Der Entwicklungsserver authentifiziert die lokale Vault-CLI automatisch. Legen Sie in einem anderen Terminal gegebenenfalls deren Adresse fest und verwenden Sie dann die unten stehende explizite Mount-Syntax:
export VAULT_ADDR='http://127.0.0.1:8200'
vault kv put -mount=linux-kv linux-demo api_key=test-value
vault kv get -mount=linux-kv linux-demo
Der getBefehl gibt den Wert aus, weshalb im Beispiel nur ein Platzhalter verwendet wird. Ein KV v2 putschreibt eine neue Version und ersetzt die aktuellen Daten des Geheimnisses; fügen Sie alle Felder hinzu, die Sie behalten möchten. Vermeiden Sie es, echte Anmeldeinformationen direkt in Shell-Befehle einzufügen, da diese im Shell-Verlauf verbleiben oder von lokalen Prozessen eingesehen werden können. Verwenden Sie eine Nicht-Root-Identität und eine eng gefasste ACL-Richtlinie für echte Benutzer oder Anwendungen.
Beenden Sie die Demo und bereiten Sie Vault für echte Daten vor.
Kehren Sie zum Terminal zurück, auf dem der Server läuft, und drücken Sie Strg+C . Die Demo wird beendet, und ihre im Speicher gespeicherten Geheimnisse und das Token gehen verloren. Beim Neustart wird eine neue Instanz erstellt; vorherige Datensätze werden nicht wiederhergestellt.
Um wirklich sensible Daten zu schützen, konfigurieren Sie einen Vault-Server (keinen Entwicklungsserver) mit einem persistenten Speichersystem. HashiCorp empfiehlt Integrated Storage für viele selbstverwaltete Installationen; die Raft-Dokumentation erläutert dessen Persistenz- und Backup-/Wiederherstellungsfunktionen. Das Dateisystem ist eine weitere unterstützte Option für den dauerhaften Einsatz auf einem einzelnen Server, bietet jedoch keine Hochverfügbarkeit.
Für einen produktiven Einsatz sind außerdem TLS für Clientverbindungen, Produktionsauthentifizierung, das Prinzip der minimalen Berechtigungen, geschützte Initialisierung und Entschlüsselung, eingeschränkter Dateisystemzugriff sowie getestete Backups erforderlich. Vault verschlüsselt gespeicherte Daten im Ruhezustand, aber der Server, seine Token und seine Backups benötigen weiterhin Schutz. Beachten Sie die Warnungen von HashiCorp für den Entwicklermodus und die Hinweise zur Produktionsbereitstellung, bevor Sie wichtige Anmeldeinformationen speichern.