Abo -30% SUB30
OpenClaw Docker absichern: So schützt du deinen KI-Agent-Container in Produktion
$ ./blog/guides
Anleitungen

OpenClaw Docker absichern: So schützt du deinen KI-Agent-Container in Produktion

ClawHosters
ClawHosters von Daniel Samer
5 Min. Lesezeit

40.214 offene OpenClaw-Instanzen. SecurityScorecard hat die Zahl letzten Monat veröffentlicht. 63% davon sind verwundbar. Bei 12.812 ist Remote Code Execution bestätigt. Das sind keine Theorie-Szenarien. Das passiert gerade.

Peter Steinberger, der OpenClaw erfunden hat, sagt es selbst ganz offen: "Most non-techies should not install this. It's not finished, I know about the sharp edges." Trotzdem starten tausende Leute ihre Container, ohne eine einzige Einstellung zu ändern.

Ich habe jemandem zugesehen, der in 30 Sekunden API-Keys aus einer ungesicherten Instanz gezogen hat. Kein ausgefeilter Angriff. WebSocket-Verbindung, ein manipulierter Parameter, fertig. CVE-2026-25253, CVSS 8.8, funktioniert auf jeder Default-Konfiguration.

Hier ist, was du dagegen tun kannst.

Dockerfile Sicherheit: Hör auf, als Root zu laufen

58% aller Container laufen als Root. OpenClaw ist da keine Ausnahme.

Root im Container bedeutet: Jeder Exploit, der die Anwendung verlässt, hat volle Kontrolle. Über den Container und möglicherweise über den Host. Das ist das Erste, was du ändern solltest.

services:
  openclaw:
    user: "1000:1000"
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL

cap_drop: ALL ist wahrscheinlich die wirkungsvollste Änderung, die du machen kannst. Damit werden alle Linux-Capabilities entfernt, die der Container sonst erben würde. no-new-privileges verhindert, dass Prozesse im Container über setuid-Binaries oder ähnliche Tricks Rechte eskalieren.

Falls deine Anwendung bestimmte Capabilities braucht (selten bei OpenClaw), füge sie einzeln mit cap_add wieder hinzu. Aber starte bei null.

Container Sicherheit: Dateisystem sperren

Ein Read-Only-Root-Dateisystem verhindert, dass Angreifer Binaries verändern, Malware ablegen oder Persistence-Mechanismen in deinem Container installieren.

services:
  openclaw:
    read_only: true
    tmpfs:
      - /tmp
      - /var/run

OpenClaw braucht ein paar beschreibbare Verzeichnisse für temporäre Dateien. Die mountest du als tmpfs, also nur im RAM und nach Neustart gelöscht. Alles andere bleibt schreibgeschützt.

Docker Schwachstellen-Scan und Image Pinning

Benutze niemals latest. Wirklich nie.

Wenn du openclaw:latest pullst, hast du keinerlei Garantie, was in dem Image steckt. Pinne stattdessen auf einen konkreten Digest.

image: openclaw/openclaw@sha256:abc123...

Netskope hat über 300 trojanisierte Docker-Packages mit LuaJIT-Payloads gefunden. Der Angriffsvektor? Entwickler, die ungeprüfte Images aus öffentlichen Registries pullen. Pinning auf einen bekannten Digest macht deine Builds reproduzierbar. Du vertraust nicht blind dem, was heute Morgen als latest aufgetaucht ist.

Scanne deine Images regelmäßig mit docker scout oder Trivy. Am besten automatisiert in der CI-Pipeline.

Netzwerk-Isolation: Nur auf Localhost binden

Standardmäßig lauscht das OpenClaw-Gateway auf allen Interfaces. Das bedeutet: Jeder, der deinen Server erreicht, erreicht auch deinen KI-Agenten.

services:
  openclaw:
    ports:
      - "127.0.0.1:8080:8080"
    networks:
      - openclaw-internal

networks:
  openclaw-internal:
    driver: bridge
    internal: true

Mit 127.0.0.1 erreicht nur lokaler Traffic das Gateway. Davor kommt nginx oder Caddy für TLS-Terminierung und Zugriffskontrolle.

Ein dediziertes Bridge-Netzwerk mit internal: true sorgt dafür, dass Container im Netzwerk nicht direkt ins Internet können. Dein KI-Agent muss nicht im Web surfen.

Beschränke, was OpenClaw wirklich darf

Den Teil überspringen die meisten Leute. Und ehrlich gesagt ist es der wichtigste.

OpenClaw hat ein system.run-Tool, das beliebige Befehle ausführen kann. Ohne Einschränkung kann dein KI-Agent alles tun, was der Container-User darf.

{
  "tool_policy": {
    "allowed": ["read_file", "write_file", "search"],
    "denied": ["system.run"]
  },
  "workspace": {
    "only": true,
    "deny_patterns": [".ssh/**", ".aws/**", ".env*", "*.pem"]
  }
}

workspaceOnly: true begrenzt den Dateizugriff auf das Projektverzeichnis. Deny-Patterns blockieren sensible Verzeichnisse. Und eine Tool-Policy-Allowlist stellt sicher, dass nur die Tools verfügbar sind, die du explizit freigibst.

Jeremy Turner von SecurityScorecard warnt: "Don't just blindly download one of these things and start using it on a system that has access to your whole personal life."

Ressourcen-Limits setzen

services:
  openclaw:
    deploy:
      resources:
        limits:
          cpus: "2.0"
          memory: 2G
    ulimits:
      nofile:
        soft: 1024
        hard: 2048

Ohne Limits kann ein fehlerhafter Agent oder ein Denial-of-Service-Angriff alle Systemressourcen auffressen. Harte Limits verhindern das.

Oder du sparst dir das alles

Hier ist die ehrliche Wahrheit. Jeder Härtungsschritt, den ich beschrieben habe, ist bereits in die ClawHosters Managed-Infrastruktur eingebaut. Hetzner Cloud Firewall mit Whitelist-Only-Zugriff, Docker-Daemon-Hardening mit no-new-privileges, fail2ban, SSH-Key-Only-Authentifizierung, automatische Sicherheitsupdates.

OpenClaw sicher selbst zu hosten kostet 20 bis 40 Stunden für das initiale Setup und 2 bis 4 Stunden pro Woche für laufende Wartung. Patches, Monitoring, Log-Auditing. Das ist echte Zeit, die du stattdessen zum Bauen nutzen könntest.

Schau dir unsere Sicherheitsübersicht an, oder lies den Vergleich Self-Hosted vs. Managed, wenn du noch unentschlossen bist. Es gibt auch eine kostenlose Testphase, falls du es einfach ausprobieren willst.

Häufig gestellte Fragen

Als Root laufen mit Standard-Capabilities. In Kombination mit CVE-2026-25253 (unauthentifizierte RCE über WebSocket-Parameter-Injection, CVSS 8.8) kann ein Angreifer in Sekunden vollen Container-Zugriff bekommen. Zuerst alle Capabilities droppen und als Non-Root-User laufen.

Nutze Trivy oder Docker Scout. Mit `trivy image openclaw/openclaw:dein-tag` bekommst du einen Schwachstellen-Bericht. Pinne deine Images auf konkrete Digests statt auf `latest`, um keine kompromittierten Updates zu ziehen.

Es kann sicher sein, erfordert aber erheblichen Aufwand. Du musst den Container härten, Firewalls konfigurieren, Monitoring einrichten und alles aktuell halten. Die meisten unterschätzen die laufende Wartung. Wenn Sicherheit nicht deine Stärke ist, ist eine Managed-Lösung vermutlich die bessere Wahl.

Jede Instanz läuft mit gedroppten Capabilities, Non-Root-Usern, Read-Only-Dateisystemen und Netzwerk-Isolation direkt ab Start. Dazu kommen Hetzner Cloud Firewalls, fail2ban, automatische OS-Updates und strukturiertes Audit-Logging. Du konfigurierst davon nichts selbst.

Ja. Wenn dein KI-Agent nicht explizit Shell-Befehle ausführen muss, blockiere `system.run` in der Tool-Policy. Zusammen mit `workspaceOnly: true` und Deny-Patterns für sensible Dateien verhindert das, dass dein Agent auf etwas außerhalb seines Arbeitsverzeichnisses zugreift.
*Zuletzt aktualisiert: März 2026*

Quellen

  1. 1 Netskope hat über 300 trojanisierte Docker-Packages
  2. 2 ClawHosters Managed-Infrastruktur
  3. 3 Sicherheitsübersicht
  4. 4 Vergleich Self-Hosted vs. Managed
  5. 5 kostenlose Testphase