DocuSeal: Absichern, Backup und Betrieb

Aus maxTechCorner
(Weitergeleitet von DocuSeal Update)

Auf einen Blick

Gilt fürDocuSeal 3.3.x selbst gehostet mit Docker Compose und PostgreSQL (alternativ SQLite); Dateien lokal oder in S3-kompatiblem Speicher
BereichServer-Software
DauerHärtung ca. 1 Stunde; Backup-Einrichtung ca. 1 Stunde; Restore-Test ca. 30 Minuten
RechteRoot auf dem Docker-Host, Administrator in DocuSeal
StandOktober 2026

DocuSeal absichern, sichern und betreiben ist Pflicht, sobald Verträge und Personalunterlagen über den Server laufen: Er ist aus dem Internet erreichbar, verwaltet rechtlich relevante Dokumente mit personenbezogenen Daten und erzeugt die Prüfprotokolle, auf die man sich im Streitfall beruft. Diese Anleitung fasst die wichtigsten Einstellungen für Konten und Download-Links zusammen, zeigt ein vollständiges Backup inklusive des oft vergessenen Schlüssels und beschreibt Updates und Überwachung.

DocuSeal absichern und sichern: 2FA mit Authenticator-App für alle Benutzer erzwingen, Sitzungsdauer begrenzen (SESSION_REMEMBER_DAYS, Standard 730 Tage), Download-Links mit Ablauf und Anmeldung, privater Speicher; Reverse Proxy mit HTTPS, nur Ports 80 und 443; Backup aus PostgreSQL-Dump, Datenordner mit attachments und docuseal.env, .env mit SECRET_KEY_BASE und Compose-Dateien, verschlüsselt außer Haus; ohne SECRET_KEY_BASE sind Zertifikate und SMTP-Einstellungen nicht lesbar; wöchentliche Updates mit Sicherheitskorrekturen; Überwachung von /up.

Schritt 1: Konten absichern

  • Zwei-Faktor-Pflicht: Einstellungen › Konto › 2FA mit Authenticator-App erzwingen. Jeder Benutzer muss danach unter Einstellungen › Profil eine Authenticator-App einrichten, bevor er weiterarbeiten kann. Siehe Zwei-Faktor-Authentifizierung.
  • Wenige Benutzer: In der freien Version ist jeder Benutzer Administrator und sieht alle Vorlagen und Einreichungen – inklusive Personalunterlagen. Benutzerkreis klein halten, ausgeschiedene Mitarbeiter sofort unter Einstellungen › Benutzer entfernen.
  • Sitzungsdauer: Ein angemeldeter Browser bleibt standardmäßig 730 Tage angemeldet (SESSION_REMEMBER_DAYS). Für den Unternehmenseinsatz auf z. B. 7 bis 14 Tage verkürzen.
  • API- und MCP-Token nur bei Bedarf erzeugen und regelmäßig erneuern, siehe DocuSeal: API, Webhooks und Automatisierung.
  • SSO mit SAML (z. B. Entra ID) gibt es nur in Pro.

Schritt 2: Dokumente und Links schützen

Einstellung Wo Empfehlung
Authentifizierung für Dateidownload-Links erforderlich Einstellungen › Konto an – Links zu Dokumenten funktionieren nur mit Anmeldung oder API-Schlüssel
Ablaufbare Datei-Download-Links Einstellungen › Konto an
FILE_URLS_EXPIRE_MINUTES Umgebung Standard 40 Minuten lassen oder verkürzen
ACTIVE_STORAGE_PUBLIC Umgebung nicht setzen bzw. false – Dateien werden über DocuSeal ausgeliefert, nicht direkt aus dem Speicher
E-Mail-2FA erforderlich, um zu öffnen Vorlage für vertrauliche Dokumente aktivieren
Objektspeicher S3-Bucket privat, Verschlüsselung an, Versionierung an

Schritt 3: Server und Netzwerk

  • Nur der Reverse Proxy ist von außen erreichbar (Ports 80 und 443); PostgreSQL und Port 3000 der App nicht veröffentlichen.
  • Der Server muss für Empfänger aus dem Internet erreichbar sein. Eine Web Application Firewall oder Geo-Filter auf der Firewall sind möglich, dürfen aber ausländische Vertragspartner nicht aussperren.
  • Ausgehend braucht DocuSeal SMTP, den Zeitstempel-Server, gegebenenfalls Objektspeicher und die Webhook-Ziele.
  • Host härten: aktuelle Updates, SSH nur mit Schlüssel, eigene VM für DocuSeal.
  • Logs: DocuSeal schreibt nach stdout; mit docker compose logs einsehen oder an ein zentrales Logsystem weiterleiten.

Schritt 4: DocuSeal-Backup einrichten

Ein vollständiges Backup besteht aus vier Teilen:

Teil Inhalt Hinweis
Datenbank (PostgreSQL) Vorlagen, Einreichungen, Ereignisse, Benutzer, verschlüsselte Einstellungen und Zertifikate mit pg_dump
Datenordner ./docuseal attachments/ (Originale, signierte PDFs, Prüfprotokolle), gegebenenfalls docuseal.env und bei SQLite db.sqlite3 bei S3 liegen die Dateien im Bucket
Schlüssel SECRET_KEY_BASE (und ENCRYPTION_SECRET, falls gesetzt) aus .env bzw. docuseal.env ohne ihn sind SMTP-Zugang und Signaturzertifikate in der Datenbank nicht entschlüsselbar
Konfiguration compose.yaml, .env, Caddy-Daten für schnellen Wiederaufbau

/usr/local/sbin/docuseal-backup.sh:

#!/bin/bash
set -euo pipefail
cd /opt/docuseal
STAGE=/var/backups/docuseal/stage
mkdir -p "$STAGE"

# Datenbank konsistent sichern
docker compose exec -T postgres pg_dump -U docuseal -Fc docuseal > "$STAGE/docuseal.dump"

# Dateien und Konfiguration
rsync -a --delete ./docuseal/ "$STAGE/docuseal/"
cp compose.yaml .env "$STAGE/"

# Verschlüsselt und versioniert außer Haus
export RESTIC_REPOSITORY=sftp:backup@nas.firma.lan:/backup/docuseal
export RESTIC_PASSWORD_FILE=/root/.restic-docuseal
restic backup "$STAGE" --tag docuseal
restic forget --keep-daily 14 --keep-weekly 8 --keep-monthly 24 --prune
  • Täglich per Cron ausführen und den Erfolg überwachen.
  • Bei SQLite statt PostgreSQL die Datenbank mit sqlite3 docuseal/db.sqlite3 ".backup '/var/backups/docuseal/db.sqlite3'" sichern, nicht einfach kopieren.
  • Bei S3 Versionierung oder Objektsperre im Bucket aktivieren und den Bucket zusätzlich in ein zweites Ziel replizieren.
  • Das restic-Passwort und den SECRET_KEY_BASE zusätzlich außerhalb des Servers hinterlegen, z. B. im Passwortmanager der IT, siehe Vaultwarden.

Schritt 5: Wiederherstellen

  1. Neuen Host mit Docker vorbereiten, Snapshot zurückholen: restic restore latest --target /tmp/restore
  2. compose.yaml, .env und den Ordner docuseal/ nach /opt/docuseal kopieren.
  3. Nur die Datenbank starten: docker compose up -d postgres
  4. Dump einspielen: docker compose exec -T postgres pg_restore -U docuseal -d docuseal --clean --if-exists < docuseal.dump
  5. Alles starten: docker compose up -d, anmelden, eine abgeschlossene Einreichung öffnen und ihr PDF herunterladen, E-Signatur auf das Zertifikat prüfen.
  • Den Ablauf mindestens vierteljährlich auf einem isolierten Testsystem ohne SMTP durchspielen, damit keine Mails an echte Empfänger gehen.

Schritt 6: Updates und Überwachung

  • DocuSeal erscheint etwa wöchentlich; viele Versionen enthalten Sicherheitskorrekturen, der Hersteller empfiehlt Selbsthostern ausdrücklich zeitnahe Updates. Feste Version in der compose.yaml, Releases auf GitHub abonnieren, nach dem Backup aktualisieren.
  • Überwachen: https://sign.firma.de/up (Status 200), Zertifikatslaufzeit des Proxys, Laufzeit des Signaturzertifikats, Speicherplatz, Backup-Erfolg, Zustellung der E-Mails (Bounces).
  • E-Mail-Zustellbarkeit: SPF, DKIM und DMARC der Absenderdomain prüfen; Signaturanfragen, die im Spam landen, sind der häufigste Supportfall.

Hinweise

  • Kompromittierung: Server isolieren, neu aufsetzen, SECRET_KEY_BASE, Datenbank-, SMTP- und API-Zugänge sowie das Signaturzertifikat erneuern. Ein neuer SECRET_KEY_BASE macht verschlüsselte Einstellungen unlesbar – SMTP und Zertifikate danach neu eintragen. Prüfen, ob Dokumente abgeflossen sind, und Meldepflichten nach DSGVO beachten.
  • Bei Betrieb, Überwachung und Datensicherung von Serveranwendungen unterstützen Sie die Managed Services von m.a.x. it.

Siehe auch

Links und Quellen


Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung? Kontakt aufnehmen