Sicherheit
Härtung
TLS, Header, Reverse Proxies, Dateiberechtigungen, Abhängigkeiten und die Checkliste für den Produktivbetrieb.
Vaultigen liefert die Kontrollen der Anwendung. Host, Transport, Schlüsseldateien, Backups und der Update-Prozess liegen bei Ihnen. Diese Seite listet, worauf es ankommt.
TLS und HSTS
- Liefern Sie Vaultigen nur über HTTPS mit aktueller TLS-Konfiguration aus. Leiten Sie HTTP auf HTTPS um.
- HSTS wird bei sicheren Anfragen gesendet und über
VAULTIGEN_HSTS_MAX_AGE(Standard ein Jahr),VAULTIGEN_HSTS_INCLUDE_SUBDOMAINSundVAULTIGEN_HSTS_PRELOADkonfiguriert. Setzen Sie Max-Age auf0, solange Sie einen neuen Hostnamen noch testen.
Sicherheits-Header
Vaultigen setzt bei jeder Antwort:
| Header | Wert |
|---|---|
Cache-Control |
no-store, private |
X-Content-Type-Options |
nosniff |
Referrer-Policy |
no-referrer |
X-Frame-Options |
DENY |
Content-Security-Policy |
frame-ancestors 'none'; base-uri 'self'; form-action 'self'; object-src 'none' |
Permissions-Policy |
camera=(), geolocation=(), microphone=(), payment=() |
Fügen Sie am Proxy eine strengere Policy hinzu, testen Sie vorher die Verwaltungsoberfläche und die Anmeldung sorgfältig.
Reverse Proxies und Hostnamen
Hinter einem Proxy oder Load Balancer, der TLS terminiert, geben Sie die Proxy-Adressen an, damit Vaultigen das echte Schema und die Client-IP sieht:
VAULTIGEN_TRUSTED_PROXIES=10.0.0.0/8,192.168.1.10
Verwenden Sie * nur, wenn Sie die Proxy-Adressen wirklich nicht kennen können; einem fremden Proxy zu vertrauen erlaubt Clients, ihre Adresse zu fälschen.
Schränkt Ihr Webserver den Host-Header nicht ein, tun Sie es in Vaultigen:
VAULTIGEN_TRUSTED_HOSTS=^vault\.example\.com$
Protokollieren Sie nie Request-Bodies in Proxies, WAFs, APM, Tracing oder Fehlerberichten.
Dateien und Berechtigungen
Für eine manuelle Installation:
- Betreiben Sie PHP unter einem eigenen, unprivilegierten Benutzer. Er braucht nur Schreibrechte auf
storage/undbootstrap/cache/. - Nur
public/darf ausgeliefert werden.storage/,.envund die Schlüsseldateien dürfen nie über HTTP erreichbar sein. - Schlüsseldateien in
storage/app/privatewerden mit Modus0600angelegt. Belassen Sie es dabei. - Verwenden Sie ein privates temporäres Verzeichnis für PHP-Uploads und räumen Sie es regelmäßig auf.
Besonderheiten bei Docker Compose
Der Compose-Stack setzt das meiste dieser Seite für Sie um: HTTPS mit automatischen Zertifikaten und HTTP-Weiterleitung, Produktiveinstellungen, sichere Cookies, Prozesse ohne Root-Rechte (UID 10001), entzogene Linux-Capabilities, no-new-privileges, kein Docker-Socket in irgendeinem Container, ein unveränderliches Anwendungsverzeichnis und eine Datenbank ohne veröffentlichten Port. Ihr Teil:
- Halten Sie
.envund das Installationsverzeichnis nur für Administratoren lesbar (umask 077vor dem Download). Wer auf dem Host Docker verwenden darf, hat faktisch Root-Rechte und kann jeden Schlüssel lesen: Beschränken Sie die Mitgliedschaft in der Gruppedocker. - Veröffentlichen Sie nie die internen Ports 8081 (Health-Check) oder 5432 (Datenbank). Mit der Proxy-Ergänzung lauscht Vaultigen nur auf
127.0.0.1. - Binden Sie
data/keys/oder.envnicht in andere Container ein, und ändern Sie nicht die Besitzer vondata/undbackups/. - Legen Sie
VAULTIGEN_IMAGE_TAGauf eine genaue Version fest. Patchen Sie Host und Docker Engine selbst; Sicherheitskorrekturen für PHP, Webserver und Datenbankwerkzeuge kommen als neue Vaultigen-Versionen. - Das Archiv aus Die ganze Installation kopieren enthält Schlüssel und Daten zusammen. Verschlüsseln Sie es, bevor es den Server verlässt.
Besonderheiten bei SQLite
Bei SQLite liegt alles in einer Datei neben der Anwendung; Dateiberechtigungen und Host-Härtung wiegen deshalb schwerer. Betreiben Sie einen Queue-Worker, halten Sie die Datei auf einer lokalen Festplatte und führen Sie Backups und Rotationen außerhalb der Arbeitszeit aus.
Abhängigkeiten und Patches
- Manuelle Installationen: Installieren Sie mit den eingecheckten Lockfiles (
composer install --no-dev,npm ci). Docker-Images werden aus ihnen gebaut. - Patchen Sie PHP, Datenbank, Webserver und Betriebssystem nach einer dokumentierten Richtlinie. Bei Docker Compose aktualisieren Sie das Image und patchen Host und Docker Engine.
- Verfolgen Sie den Changelog auf Sicherheitsversionen.
Checkliste für den Produktivbetrieb
- Nur HTTPS, HSTS aktiv, HTTP umgeleitet.
-
APP_ENV=production,APP_DEBUG=false, keine Entwicklungsabhängigkeiten. - Vertrauenswürdige Proxies und Hosts korrekt konfiguriert.
- Schlüsseldateien außerhalb des Web-Roots mit
0600, getrennt hinterlegt. - Queue-Worker und Scheduler überwacht; Heartbeats grün.
- Uhr per NTP synchronisiert.
- Backups geplant, vom Host kopiert, Wiederherstellung geübt.
- Speicherbelegung überwacht.
- Mindestens zwei Administratoren, Wiederherstellungscodes aufbewahrt.
- Benachrichtigungen zu Notfallzugriff und Wiederherstellung werden geprüft, nicht ignoriert.
- Externe Zugangsdaten nach dem Offboarding geändert.
Einen Fehler gefunden? Schreiben Sie uns an [email protected].