Sicherheitsübersicht
Der satware® AI OnlyOffice MCP Server wurde mit Sicherheit auf jeder Ebene entwickelt — von der Eingabevalidierung über die Docker-Container-Isolierung bis hin zur verschlüsselten Speicherung von Anmeldeinformationen.
Eingabevalidierung
Abschnitt betitelt „Eingabevalidierung“Alle Vorlagendaten werden vor der Verarbeitung gegen JSON-Schemata validiert:
- Pflichtfeldprüfungen — fehlende Felder werden vor der Dokumentgenerierung zurückgewiesen
- Typvalidierung — Zod-Schemata erzwingen String-, Number-, Boolean-, Array- und Object-Typen
- Mustererkennung — Regex-Beschränkungen für Datumsangaben, E-Mails und formatierte Strings
- Enum-Validierung — eingeschränkte Wertemengen für Felder wie Beschäftigungsart oder Folientyp
Benutzerdaten werden durch JSON-Serialisierung bereinigt (Hin- und Rückkonvertierung entfernt Funktionen, undefinierte Werte und Zirkelbezüge).
Verhinderung von Shell-Injection
Abschnitt betitelt „Verhinderung von Shell-Injection“Alle Befehlsausführungen verwenden Array-Argumente, niemals Shell-String-Interpolation:
execFile('docker', ['exec', '-i', containerName, ...])Dies verhindert Shell-Injection selbst dann, wenn Benutzerdaten böswillige Zeichen enthalten. Vom Benutzer bereitgestellte Daten fließen durch JSON-Serialisierung in eine Skriptdatei, niemals in Shell-Befehlsstrings.
Docker-Container-Isolierung
Abschnitt betitelt „Docker-Container-Isolierung“Document Builder läuft in einem isolierten Docker-Container:
- Eingeschränkter Dateisystemzugriff — nur eingehängte Volumes sind zugänglich
- Kontrollierter Netzwerkzugriff — der OnlyOffice-Container befindet sich in einem internen Docker-Netzwerk (
backend), nicht extern erreichbar - Non-Root-Benutzer — der
mcp-server-Container läuft alsmcpuser(UID 1001) - Keine Host-Dateisystem-Einhängungen für sensible Daten — nur
/var/artifactsund Docker-Socket
Der Docker-Socket ist für docker exec-Befehle eingehängt (erforderlich für DocBuilder). Dies ist ein bekanntes und dokumentiertes Risiko, das akzeptiert wird — der Container kann keine anderen Container starten oder stoppen, nur Befehle im angegebenen OnlyOffice-Container ausführen.
Verschlüsselung von Anmeldeinformationen
Abschnitt betitelt „Verschlüsselung von Anmeldeinformationen“Cloud-Speicher-Anmeldeinformationen (Google Drive, OneDrive, S3, MinIO, WebDAV, SMB) werden verschüsselt gespeichert mit:
| Aspekt | Implementierung |
|---|---|
| Algorithmus | AES-256-GCM (authentifizierte Verschlüsselung) |
| Schlüsselableitung | scrypt mit OWASP-empfohlenen Parametern |
| IV | 96-Bit (NIST-empfohlen für GCM) |
| Auth-Tag | 128-Bit (maximale Stärke) |
| Speicherung | Lokale verschlüsselte Datei mit 0600-Berechtigungen |
| Arbeitsspeicher | Entschlüsselte Schlüssel werden mit Timeout und Nullung zwischengespeichert |
Anmeldeinformationen werden niemals protokolliert oder in Fehlermeldungen ausgegeben. Das Master-Passwort wird aus der Umgebungsvariablen CREDENTIAL_MASTER_PASSWORD gelesen und niemals auf der Festplatte gespeichert.
Netzwerksicherheit
Abschnitt betitelt „Netzwerksicherheit“Transport
Abschnitt betitelt „Transport“| Modus | Sicherheit |
|---|---|
| STDIO | Prozessisolation (kein Netzwerk) |
| HTTP | TLS über Reverse-Proxy (Caddy/Nginx). Origin-Validierung gegen CORS_ORIGINS. Fail-closed in Produktion, wenn CORS_ORIGINS nicht gesetzt ist. |
Admin-Oberfläche
Abschnitt betitelt „Admin-Oberfläche“- Cookie-basierte Sitzung (HMAC-SHA256-signiert, 8 Stunden Gültigkeit)
/admingibt 503 zurück, wennADMIN_PASSWORDnicht gesetzt ist- Sitzungsgeheimnis vom Admin-Passwort abgeleitet (oder explizit über
ADMIN_SESSION_SECRETgesetzt)
Ein-Port-Modell
Abschnitt betitelt „Ein-Port-Modell“Alle Endpunkte (/mcp, /admin, /artifacts, /health, /instances) liegen auf Port :3847. Der OnlyOffice Document Server (:9980) ist nur intern erreichbar — nicht für externen Traffic freigegeben.
DSGVO-Konformität
Abschnitt betitelt „DSGVO-Konformität“- Keine Speicherung personenbezogener Daten — der Server verarbeitet Daten im Arbeitsspeicher und generiert Dokumente bei Bedarf
- Temporäre Artefakte — generierte Dokumente werden automatisch gelöscht (Standard-TTL: 24 Stunden)
- EU-Hosting — Produktionsbereitstellungen auf satware-Infrastruktur in Deutschland
- Keine Telemetrie — keine Analytik, kein Tracking, keine Phone-Home-Aufrufe
Sicherheits-Checkliste für Betreiber
Abschnitt betitelt „Sicherheits-Checkliste für Betreiber“Verwandte Themen
Abschnitt betitelt „Verwandte Themen“- Anmeldeinformationsverwaltung — API für verschlüsselte Anmeldeinformationsspeicherung
- Docker-Stack-Bereitstellung — Produktionsbereitstellung mit Sicherheitskonfiguration
- Tools-Referenz — Alle 26 MCP-Tools