Tutorials  /  Security

HashiCorp Vault auf Ubuntu 24.04 installieren und absichern

Ccentron Redaktion · November 2025 ·10 Min. Lesezeit ·Security, Tutorial

Moderne Softwarelösungen arbeiten mit einer Vielzahl sensibler Zugangsdaten wie API-Schlüsseln, Datenbankpasswörtern, TLS-Zertifikaten und Verschlüsselungskeys. Werden diese Informationen fest im Code hinterlegt, unverschlüsselt gespeichert oder unsicher verteilt, entstehen erhebliche Sicherheitsrisiken. HashiCorp Vault löst dieses Problem, indem es eine zentrale und sichere Plattform zur Verwaltung vertraulicher Daten bereitstellt. Vault bietet eine sichere Geheimnisverwaltung, dynamische Zugangsdaten, Verschlüsselung als Service sowie fein abgestufte Zugriffskontrollen.

Diese Anleitung zeigt, wie Sie einen produktionsreifen Vault-Server unter Ubuntu 24.04 einrichten. Sie behandelt die Installation von Vault aus dem offiziellen HashiCorp-Repository, die Erstellung von TLS-Zertifikaten mit Let’s Encrypt, die sichere Konfiguration, das Initialisieren mit Unseal-Schlüsseln sowie den Zugriff über die Kommandozeile und die Weboberfläche.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind:

  • Zugriff auf einen Ubuntu-24.04-Server mit einem Nicht-Root-Benutzer, der über Sudo-Rechte verfügt.
  • Ein A-Record in Ihrer Domain, der auf die öffentliche IP-Adresse Ihres Servers verweist.
SEC

Passende Infrastruktur bei centron

Absicherung endet nicht beim Server: Cloud Firewalls filtern den Datenverkehr vor der VM – zentral verwaltet, ohne Aufpreis je Regel. Cloud Firewalls ansehen →

Installation von Vault über das HashiCorp-Repository

In diesem Abschnitt fügen Sie das offizielle APT-Repository von HashiCorp zu Ihrem Ubuntu-System hinzu und installieren Vault. Dadurch erhalten Sie verifizierte und aktuelle Versionen direkt vom Hersteller.

Paketliste aktualisieren

Konsole
$ sudo apt update

Benötigte Abhängigkeiten installieren

Konsole
$ sudo apt install gnupg curl lsb-release -y

HashiCorp-GPG-Schlüssel hinzufügen

Der GPG-Schlüssel dient dazu, sicherzustellen, dass die Pakete tatsächlich von HashiCorp stammen und nicht manipuliert wurden.

Konsole
$ curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg

HashiCorp-Repository hinzufügen

Fügen Sie das HashiCorp-Repository zu den Paketquellen hinzu, um Zugriff auf die neuesten Versionen zu erhalten.

Konsole
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list

Paketindex erneut aktualisieren

Konsole
$ sudo apt update

Vault installieren

Konsole
$ sudo apt install vault -y

Installation überprüfen

Konsole
$ vault --version

Beispielausgabe:

Code
Vault v1.20.4 (55bd8f18c6c84aa89fdede4850a622c57f03bd7e), built 2025-09-23T13:22:38Z

Shell-Autovervollständigung aktivieren

Diese Funktion verbessert die Nutzung der Kommandozeile beim Arbeiten mit Vault.

Konsole
$ vault -autocomplete-install
$ exec $SHELL

Firewall-Zugriff konfigurieren

Damit der Vault-Dienst erreichbar ist, muss die Firewall so eingerichtet werden, dass HTTPS-Verbindungen zugelassen werden. Die folgenden Schritte ermöglichen den sicheren Zugriff auf die Vault-Weboberfläche und die CLI.

HTTPS-Zugriff erlauben

Die Weboberfläche und die API von Vault verwenden Port 8200. Öffnen Sie diesen Port in der Firewall.

Konsole
$ sudo ufw allow 8200/tcp

Port 80 vorübergehend öffnen

Port 80 wird von Certbot benötigt, um beim Ausstellen von TLS-Zertifikaten den Besitz der Domain zu bestätigen. Aktivieren Sie ihn daher vorübergehend.

Konsole
$ sudo ufw allow 80/tcp

Firewall neu laden

Wenden Sie die Änderungen an, indem Sie UFW neu laden.

Konsole
$ sudo ufw reload

TLS-Zertifikate mit Let’s Encrypt erstellen

Im nächsten Schritt erstellen Sie kostenlose TLS-Zertifikate mit Certbot und Let’s Encrypt. Diese Zertifikate verschlüsseln die Kommunikation zwischen Clients und dem Vault-Server.

Certbot installieren

Konsole
$ sudo apt install certbot -y

TLS-Zertifikat anfordern

Ersetzen Sie vault.example.com durch Ihre eigene Domain und your-email@example.com durch Ihre gültige E-Mail-Adresse.

Konsole
$ sudo certbot certonly --standalone -d vault.example.com --non-interactive --agree-tos --email your-email@example.com

Port-80-Regel entfernen

Nachdem das Zertifikat erstellt wurde, schließen Sie Port 80 wieder, um die Sicherheit zu erhöhen.

Konsole
$ sudo ufw delete allow 80/tcp

Firewall erneut neu laden

Konsole
$ sudo ufw reload

Verzeichnis für Vault-Zertifikate erstellen

Speichern Sie alle Zertifikatsdateien in einem separaten TLS-Verzeichnis für Vault.

Konsole
$ sudo mkdir -p /opt/vault/tls

Zertifikate kopieren

Ersetzen Sie vault.example.com durch Ihre Domain, wenn Sie die Zertifikate kopieren.

Konsole
$ sudo cp /etc/letsencrypt/live/vault.example.com/fullchain.pem /opt/vault/tls/cert.pem
$ sudo cp /etc/letsencrypt/live/vault.example.com/privkey.pem /opt/vault/tls/key.pem

Besitzrechte und Berechtigungen setzen

Beschränken Sie den Zugriff auf die Zertifikate auf den Vault-Benutzer und sichern Sie die privaten Schlüssel.

Konsole
$ sudo chown -R vault:vault /opt/vault/tls
$ sudo chmod 600 /opt/vault/tls/cert.pem /opt/vault/tls/key.pem

Automatisches Erneuerungsskript erstellen

Dieses Skript sorgt dafür, dass Vault automatisch neu geladen wird, wenn Certbot die Zertifikate erneuert.

Konsole
$ sudo tee /etc/letsencrypt/renewal-hooks/deploy/vault.sh > /dev/null << 'EOF'
#!/bin/bash
cp /etc/letsencrypt/live/vault.example.com/fullchain.pem /opt/vault/tls/cert.pem
cp /etc/letsencrypt/live/vault.example.com/privkey.pem /opt/vault/tls/key.pem
chown -R vault:vault /opt/vault/tls
chmod 600 /opt/vault/tls/*
systemctl reload vault
EOF

Skript ausführbar machen

Konsole
$ sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/vault.sh

Vault für den Produktivbetrieb konfigurieren

In diesem Abschnitt wird erläutert, wie Sie eine produktionsreife Konfigurationsdatei für Vault erstellen. Diese Datei definiert Speicher-Backend, Netzwerk-Listener und Sicherheitsoptionen, damit Vault stabil und sicher läuft.

Standardkonfiguration sichern

Bevor Sie Änderungen vornehmen, sichern Sie die bestehende Vault-Konfigurationsdatei.

Konsole
$ sudo cp /etc/vault.d/vault.hcl /etc/vault.d/vault.hcl.backup

Produktionskonfiguration erstellen

Bearbeiten Sie die Konfiguration, um sichere Listener-Einstellungen und Speicheroptionen festzulegen. Ersetzen Sie vault.example.com durch Ihre eigene Domain.

Konsole
$ sudo tee /etc/vault.d/vault.hcl > /dev/null << 'EOF'
# Vault Produktionskonfiguration

# Weboberfläche aktivieren
ui = true

# Speichersperre deaktivieren (auf false setzen, wenn wenig RAM vorhanden ist)
disable_mlock = true

# Speicher-Backend – lokales Dateisystem
storage "file" {
  path = "/opt/vault/data"
}

# HTTPS Listener
listener "tcp" {
  address       = "0.0.0.0:8200"
  tls_cert_file = "/opt/vault/tls/cert.pem"
  tls_key_file  = "/opt/vault/tls/key.pem"

  # Minimale TLS-Version erzwingen
  tls_min_version = "tls12"

  # Sichere Cipher Suites definieren
  tls_cipher_suites = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"

  # Keine Client-Zertifikate erforderlich
  tls_require_and_verify_client_cert = "false"
  tls_disable_client_certs           = "true"
}

# Netzwerkadressen für API und Cluster festlegen
api_addr = "https://vault.example.com:8200"
cluster_addr = "https://vault.example.com:8201"
EOF

Vault-Dienst aktivieren

Aktivieren Sie den Vault-Dienst, damit er automatisch beim Systemstart ausgeführt wird.

Konsole
$ sudo systemctl enable vault

Vault-Dienst neu starten

Starten Sie den Dienst neu, um die neue Konfiguration zu übernehmen.

Konsole
$ sudo systemctl restart vault

Dienststatus prüfen

Überprüfen Sie, ob Vault korrekt läuft und aktiv ist.

Konsole
$ sudo systemctl status vault

Beispielausgabe:

YAML
● vault.service - HashiCorp Vault - Ein Tool zur Verwaltung von Secrets
     Loaded: loaded (/usr/lib/systemd/system/vault.service; enabled; preset: enabled)
     Active: active (running) since Thu 2025-10-02 22:15:08 UTC; 3s ago

Vault-Umgebung konfigurieren

Nachdem Vault installiert und gestartet wurde, konfigurieren Sie Umgebungsvariablen, damit die CLI mit dem Server kommunizieren kann.

Vault-Adresse festlegen

Ersetzen Sie vault.example.com durch Ihre Domain, um die Serveradresse zu definieren.

Konsole
$ echo 'export VAULT_ADDR="https://vault.example.com:8200"' >> ~/.bashrc

Shell-Konfiguration neu laden

Damit die Änderung wirksam wird, laden Sie die Shell-Konfiguration neu.

Konsole
$ source ~/.bashrc

Umgebungsvariable überprüfen

Überprüfen Sie, ob die Variable korrekt gesetzt wurde.

Konsole
$ echo $VAULT_ADDR

Beispielausgabe:

Code
https://vault.example.com:8200

Verbindung zu Vault testen

Prüfen Sie, ob die CLI eine erfolgreiche Verbindung zum Vault-Server herstellen kann.

Konsole
$ vault status

Beispielausgabe:

Code
Key                Value
---                -----
Seal Type          shamir
Initialized        false
Sealed             true

Vault initialisieren und entsiegeln

Nach dem Start befindet sich Vault im versiegelten Zustand. In diesem Modus weiß Vault zwar, wo die Daten gespeichert sind, kann sie jedoch erst nach Eingabe der Unseal-Schlüssel entschlüsseln. In diesem Abschnitt lernen Sie, wie Sie Vault initialisieren, die erforderlichen Schlüssel erzeugen und es anschließend entsiegeln, um den Betrieb zu starten.

Funktionsweise des Entsiegelungsprozesses

Bei der Initialisierung erstellt Vault mehrere wichtige Schlüsselkomponenten:

  • Master-Key: Wird verwendet, um alle Secrets zu verschlüsseln.
  • Unseal-Keys: Mehrere Teile des Master-Keys, die mithilfe des Shamir-Algorithmus aufgeteilt werden.
  • Root-Token: Der erste Administrationszugang zu Vault.

Standardmäßig werden fünf Unseal-Schlüssel generiert, von denen drei benötigt werden, um Vault zu entsiegeln. Dadurch wird verhindert, dass eine einzelne Person vollen Zugriff auf alle Daten erhält.

Vault initialisieren

Starten Sie die Initialisierung mit der Standardkonfiguration.

Konsole
$ vault operator init

Beispielausgabe:

Code
Unseal Key 1: nk+b+gZRPzUcTx5yDaY7Rxv26m/JqPuuhlYKVLxqvcLV
Unseal Key 2: kXi4dk1pDpTj0efjPekMMEnqMFIGVbbIECyAbYXu4XIi
Unseal Key 3: jPyTlTCeKAMHu16+EYHc6FcmqW+hQ8B9ZN02vQ8VnOmd
Unseal Key 4: 5rvMMnEvcIQdcAtKd+UxQX7FqsDbMEtuHqRijFlyjR9l
Unseal Key 5: igcpq67F04IhxzAFQ/i+VbC5+vPSRNY5Zsg/xHu+qgID

Initial Root Token: hvs.4H1RRGrHO8cbu2QumVuXUfOV

Wichtig: Bewahren Sie diese Schlüssel an sicheren, voneinander getrennten Orten auf. Sie werden nach der Initialisierung nicht erneut angezeigt.

Vault entsiegeln

Vault muss mit drei der fünf Unseal-Schlüssel entsiegelt werden. Jeder Schlüssel wird einzeln eingegeben.

Beginnen Sie mit dem ersten Schlüssel:

Konsole
$ vault operator unseal

Nach Eingabe des ersten Schlüssels sehen Sie den Fortschritt:

Code
Unseal Progress 1/3

Fahren Sie mit dem zweiten Schlüssel fort:

Konsole
$ vault operator unseal

Beispielausgabe:

Code
Unseal Progress 2/3

Geben Sie den dritten Schlüssel ein, um den Entsiegelungsprozess abzuschließen:

Konsole
$ vault operator unseal

Wenn alle drei Schlüssel akzeptiert wurden, erscheint die Bestätigung, dass Vault entsiegelt ist:

Code
Sealed          false

Hinweis: Falls der Entsiegelungsprozess fehlschlägt, prüfen Sie, ob Sie drei unterschiedliche Schlüssel verwendet haben und nicht denselben mehrfach eingegeben haben.

Mit dem Root-Token anmelden

Nachdem Vault entsiegelt wurde, melden Sie sich mit dem bei der Initialisierung erzeugten Root-Token an.

Konsole
$ vault login

Geben Sie bei der Abfrage das Initial Root Token ein, um Administratorzugriff zu erhalten.

Zugriff auf die Vault-Weboberfläche

Vault verfügt zusätzlich über eine grafische Weboberfläche, die eine benutzerfreundliche Verwaltung von Secrets und Konfigurationen ermöglicht. Neben der Kommandozeile können Sie hier Systemstatus, Zugriffe und Secret Engines bequem verwalten.

Vault-Dashboard öffnen

Öffnen Sie Ihren Webbrowser und rufen Sie Ihre Vault-Domain auf:

https://vault.example.com:8200

Nach dem Laden der Seite erscheint der Anmeldebildschirm. Wählen Sie dort Token als Authentifizierungsmethode und geben Sie Ihr Root-Token ein. Klicken Sie anschließend auf Sign In.

Nach erfolgreicher Anmeldung wird das Dashboard angezeigt, das Informationen über den Status Ihres Vault-Servers sowie aktive Secret Engines enthält.

Überblick über die Weboberfläche

  • Das linke Navigationsmenü bietet schnellen Zugriff auf Secrets, Policies und Systemeinstellungen.
  • Im Hauptbereich sehen Sie den aktuellen Serverstatus, den Versiegelungszustand sowie Audit-Protokolle.
  • Sie können Benutzer verwalten, Secret Engines wie kv aktivieren und Zugriffskontrolllisten (ACLs) konfigurieren.

Fazit

Sie haben nun eine produktionsreife Installation von HashiCorp Vault auf Ubuntu 24.04 erfolgreich eingerichtet. Das Setup umfasst TLS-Verschlüsselung mit Let’s Encrypt, automatische Zertifikatserneuerung sowie Zugriff über Kommandozeile und Webinterface.

Ihr Vault-Server ist jetzt bereit, sensible Daten wie API-Schlüssel, Zugangsdaten und Verschlüsselungsmaterial sicher zu speichern und zu verwalten. Weitere Informationen zu erweiterten Funktionen – etwa dynamische Secrets, Audit-Logs oder Cluster-Replikation – finden Sie in der offiziellen Vault-Dokumentation.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Security
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren