Infrastruktur-Bereitstellung und Betrieb
Diese Seite richtet sich an DevOps-Ingenieure und Systemadministratoren, die für die Bereitstellung, Skalierung und Wartung der Passwork-Serverinfrastruktur verantwortlich sind. Sie bietet einen operativen Überblick und Links zur detaillierten technischen Dokumentation für jeden Bereich.
Bereitstellungsoptionen
| Methode | Wann verwenden |
|---|---|
| Docker (empfohlen) | Die meisten Bereitstellungen; am einfachsten zu aktualisieren und zu warten |
| Linux (manuell) | Air-Gapped- oder stark kontrollierte Umgebungen |
| Windows Server | Organisationen, die auf Windows-Infrastruktur standardisiert sind |
Installationsanleitungen finden Sie unter:
Docker-Bereitstellung — Kurzübersicht
Der Docker-Build ist der empfohlene Bereitstellungsweg. Die vollständige Installation ist beschrieben unter Standard installation: Linux — online installation.
Mindestanforderungen an den Server vor der Bereitstellung — siehe Technical requirements.
Checkliste nach der Installation:
- Passwork unter der Ziel-URL über HTTPS erreichbar
- SSL-Zertifikat gültig und vertrauenswürdig
- SMTP konfiguriert und Test-E-Mail erfolgreich zugestellt
- Lizenz angewendet und Benutzeranzahl bestätigt
- Admin-Account mit aktivierter 2FA erstellt
- Hintergrundaufgaben (Cron) laufen
Hochverfügbarkeitsarchitektur
Passwork unterstützt eine fehlertolerante Architektur für Organisationen, die Hochverfügbarkeit benötigen. Dafür ist die Erweiterte Lizenz erforderlich.
Minimale HA-Konfiguration
Load balancer (HAProxy, Nginx, Traefik, or cloud LB)
├── Passwork app server 1
├── Passwork app server 2
└── Passwork app server N
MongoDB replica set (minimum 3 nodes)
├── Primary
├── Secondary 1
└── Secondary 2 (or Arbiter)
Wichtige Eigenschaften:
- Keine Sticky Sessions erforderlich — Sitzungen werden in MongoDB gespeichert und gelten über alle App-Server hinweg
- Fällt ein App-Server aus, leitet der Load Balancer den Traffic automatisch an die verbleibenden gesunden Knoten weiter
- Fällt der MongoDB Primary aus, wählt das Replica Set automatisch einen neuen Primary
Zur detaillierten HA-Konfiguration siehe Fault tolerance.
Health Check am Load Balancer
Konfigurieren Sie Ihren Load Balancer so, dass er den Endpoint /api/v1/app/health-check auf jedem App-Server abfragt. Siehe Health Check und Überwachung weiter unten zum Endpoint-Format und zur Token-Konfiguration.
Updates
Docker
Passwork liefert Updates als signierte Archive aus, nicht als Docker-Hub-Images. Das Skript update.sh im Installationsverzeichnis von Passwork übernimmt den gesamten Update-Prozess: Es prüft die Gruppenmitgliedschaft, lädt das neueste signierte Archive herunter, verifiziert die digitale Signatur, erstellt ein Datenbank- und Config-Backup und wendet dann das Update an.
Online-Update:
- shell
cd /<passwork>/
./update.sh
Das Skript verwendet curl. Wenn Ihr Netzwerk einen Proxy erfordert, setzen Sie zuerst die Umgebungsvariablen:
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
Offline-Update (Air-Gapped-Server):
- Laden Sie das neueste Passwork-Archiv und die
.sig-Signaturdatei aus dem Customer Portal herunter. - Kopieren Sie beide Dateien nach
/<passwork>/auf dem Server. - Führen Sie aus:
- shell
cd /<passwork>/
./offline_update.sh
Um die Signaturprüfung zu überspringen, wenn Sie der Quelle vertrauen:
- shell
./offline_update.sh --skip
Beide Skripte erstellen vor Änderungen ein Datenbank-Backup (./backup/mongo-*.dump) und ein Config-Archiv (./conf-*.tar.gz).
HA-Bereitstellungen — Rolling Update:
Aktualisieren Sie Server einzeln, um die Verfügbarkeit zu erhalten:
- Server N aus dem Load-Balancer-Pool entfernen
./update.shauf Server N ausführen- Prüfen, dass der Health Check erfolgreich ist (siehe Health Check und Überwachung weiter unten)
- Server N wieder in den Pool aufnehmen
- Für die übrigen Server wiederholen
Die vollständige Update-Referenz finden Sie unter Update Passwork: Docker.
Linux (ohne Docker)
Siehe Update Passwork: Linux und Update Passwork: Windows Server.
MongoDB-Backup
Backups sind die kritischste Betriebsaufgabe für eine On-Premise-Passwork-Bereitstellung. Ein Datenbankverlust ohne Backup bedeutet dauerhaften Datenverlust.
Automatisiertes Backup-Skript (Docker)
#!/bin/bash
set -euo pipefail
PASSWORK_DIR="/<passwork>"
BACKUP_DIR="/backups/passwork"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/passwork_${DATE}.archive"
mkdir -p "$BACKUP_DIR"
# Create dump
docker compose -f "${PASSWORK_DIR}/docker-compose.yml" exec -T mongodb \
mongodump --archive --gzip | gzip > "${BACKUP_FILE}.gz"
echo "Backup created: ${BACKUP_FILE}.gz"
# Retain last 30 days
find "$BACKUP_DIR" -name "passwork_*.gz" -mtime +30 -delete
Per Cron planen:
# /etc/cron.d/passwork-backup
# Daily backup at 02:00
0 2 * * * root /opt/scripts/backup-passwork.sh >> /var/log/passwork-backup.log 2>&1
Empfehlungen zur Backup-Speicherung
- Speichern Sie Backups an einem separaten Ort vom Passwork-Server (Object Storage, NAS, Offsite)
- Verschlüsseln Sie Backup-Archive vor Übertragung oder Speicherung
- Speichern Sie den Passwork-Verschlüsselungsschlüssel (
config.env) getrennt vom Datenbank-Backup - Testen Sie die Wiederherstellung alle 1–3 Monate
Befehle zu Backup und Wiederherstellung finden Sie unter MongoDB: backup creation and restoration examples.
Health Check und Überwachung
Health-Check-Endpoint
GET /api/v1/app/health-check
Authorization: Bearer <HEALTH_CHECK_TOKEN>
Gibt HTTP 200 mit einem JSON-Statusobjekt zurück. Integrieren Sie ihn in Ihr Monitoring-Tool (Prometheus Blackbox Exporter, Datadog Synthetics, Zabbix HTTP Check, Nagios usw.).
Details zum Endpoint finden Sie unter Health check.
Überwachung der Hintergrundaufgaben
LDAP-Synchronisierung, Prüfungen auf ablaufende Passwörter und E-Mail-Benachrichtigungen laufen als Hintergrundaufgaben. Wenn Cron nicht mehr läuft, wird die LDAP-Gruppenmitgliedschaft veraltet.
Status der Hintergrundaufgaben überwachen:
- Im Passwork-Admin-Panel → Einstellungen → Hintergrundaufgaben — Zeitstempel „Letzte Ausführung" prüfen
- Externen Alarm setzen, wenn der Health-Check-Endpoint nicht mehr antwortet
- Cron-Monitor setzen (z. B. Cronitor, Dead Man's Snitch oder eigener Heartbeat), der alarmiert, wenn der Backup-Cron-Job nicht planmäßig läuft
Zur Cron-Konfiguration siehe Background tasks: cron setup for Linux.
Wichtige zu überwachende Metriken
| Metrik | Alarm-Schwellenwert | Wo prüfen |
|---|---|---|
| Health-Check-HTTP-Status | ≠ 200 | Load Balancer / Monitoring-Tool |
| MongoDB-Replica-Set-Primary | Kein Primary für > 30 s | MongoDB-Monitoring |
| Festplattennutzung (Backup-Speicher) | > 80 % | OS-Monitoring |
| Cron letzte Ausführung | > 2× erwartetes Intervall | Cron-Monitor |
| Ablauf des SSL-Zertifikats | < 30 Tage verbleibend | Zertifikats-Monitoring |
| Fehler bei Hintergrundaufgaben | Jeder Fehler | Passwork-Admin-Panel |
Syslog- und SIEM-Integration
Passwork kann alle Ereignisse der Aktionshistorie im CEF (Common Event Format) an den lokalen Syslog oder das Windows Event Log weiterleiten, die Ihr SIEM-Collector dann aufnehmen kann.
Aktivieren unter Einstellungen → Aktionshistorie → Einstellungen → Aktionshistorie in Syslog oder Windows Event Log aufzeichnen.
Konfigurationsdetails finden Sie unter Event forwarding overview.
Air-Gapped- und Offline-Bereitstellungen
Passwork unterstützt eine vollständig Offline-Installation für Umgebungen ohne Internetzugang.
Wichtige Punkte:
- Laden Sie das Offline-Installationspaket aus dem Customer Portal herunter, bevor Sie die Verbindung trennen
- Das Docker-Image muss auf einem internetverbundenen Rechner gezogen und gespeichert und dann per
docker save/docker loadübertragen werden - Updates folgen demselben Prozess — Offline-Paket herunterladen, übertragen, anwenden
Leitfäden zur Offline-Installation:
- Standard installation: Linux — offline installation
- Standard installation: Windows Server — offline installation
- Desktop app: air-gapped installation
Updates externer Komponenten
MongoDB und PHP erfordern periodische Updates unabhängig von Passwork-Updates.
Versionsbezogene Update-Leitfäden: