Zum Hauptinhalt springen

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

MethodeWann verwenden
Docker (empfohlen)Die meisten Bereitstellungen; am einfachsten zu aktualisieren und zu warten
Linux (manuell)Air-Gapped- oder stark kontrollierte Umgebungen
Windows ServerOrganisationen, 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:

cd /<passwork>/
./update.sh
Proxy-Umgebungen

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):

  1. Laden Sie das neueste Passwork-Archiv und die .sig-Signaturdatei aus dem Customer Portal herunter.
  2. Kopieren Sie beide Dateien nach /<passwork>/ auf dem Server.
  3. Führen Sie aus:
cd /<passwork>/
./offline_update.sh

Um die Signaturprüfung zu überspringen, wenn Sie der Quelle vertrauen:

./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:

  1. Server N aus dem Load-Balancer-Pool entfernen
  2. ./update.sh auf Server N ausführen
  3. Prüfen, dass der Health Check erfolgreich ist (siehe Health Check und Überwachung weiter unten)
  4. Server N wieder in den Pool aufnehmen
  5. 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:

  1. Im Passwork-Admin-Panel → Einstellungen → Hintergrundaufgaben — Zeitstempel „Letzte Ausführung" prüfen
  2. Externen Alarm setzen, wenn der Health-Check-Endpoint nicht mehr antwortet
  3. 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

MetrikAlarm-SchwellenwertWo prüfen
Health-Check-HTTP-Status≠ 200Load Balancer / Monitoring-Tool
MongoDB-Replica-Set-PrimaryKein Primary für > 30 sMongoDB-Monitoring
Festplattennutzung (Backup-Speicher)> 80 %OS-Monitoring
Cron letzte Ausführung> 2× erwartetes IntervallCron-Monitor
Ablauf des SSL-Zertifikats< 30 Tage verbleibendZertifikats-Monitoring
Fehler bei HintergrundaufgabenJeder FehlerPasswork-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:


Updates externer Komponenten

MongoDB und PHP erfordern periodische Updates unabhängig von Passwork-Updates.

Versionsbezogene Update-Leitfäden: