Zurück

11. OpenClaw Sicherheitskonfiguration – Best Practices

Sicherheit ist ein zentraler Aspekt beim Deployment von OpenClaw. Dieser Artikel erläutert DM-Pairing, Sandbox-Modus, Berechtigungssteuerung, Umgang mit sensiblen Daten und Netzwerksicherheit für ein sicheres KI-Assistentensystem.

Gilt für OpenClaw v2026.2 | Dieser Artikel richtet sich an alle OpenClaw-Nutzer, insbesondere an diejenigen, die ein Produktiv-Deployment oder Teamnutzung planen.

TL;DR: DM-Pairing verhindert unbefugten Zugriff: "dmPolicy": "pairing". Sandbox isoliert gefährliche Operationen: "sandbox": {"mode": "non-main"}. Sensible Daten filtern: "security": {"sensitiveData": {"patterns": ["sk-*"]}}. Fernzugriff über Tailscale statt öffentliche Freigabe. openclaw doctor --security zur Überprüfung des Sicherheitsstatus ausführen.

Überblick über Sicherheitsrisiken

Wichtigste Risikotypen

Risikotyp Beschreibung Mögliche Folgen
Unbefugter Zugriff Fremde können deinen Agent nutzen Ressourcenmissbrauch, Datenleck
Berechtigungsmissbrauch Agent führt unbeabsichtigte Operationen aus Datenbeschädigung, Systemzerstörung
Datenleck Sensible Informationen werden unsachgemäß verarbeitet Datenschutzverletzung, Compliance-Probleme
Netzwerkangriff Externe Angreifer nutzen Schwachstellen aus Systemeinbruch, Datendiebstahl
Prompt Injection Bösartige Anweisungen umgehen Sicherheitsbeschränkungen Unbefugte Operationen

Sicherheitsmodell

flowchart TB
    subgraph Außen["Netzwerkschicht"]
        FW[Firewall]
        TLS[HTTPS/TLS]
    end
    
    subgraph Mitte["Zugriffskontrolle"]
        DM[DM-Pairing]
        WL[Whitelist]
        AUTH[Authentifizierung]
    end
    
    subgraph Innen["Ausführungskontrolle"]
        SBX[Sandbox]
        PERM[Berechtigungen]
        AUDIT[Audit]
    end
    
    subgraph Kern["Agent"]
        AG[Agent-Kern]
    end
    
    Außen --> Mitte --> Innen --> Kern

DM-Pairing-Mechanismus

Was ist DM-Pairing?

DM (Direct Message)-Pairing ist ein Schutzmechanismus, der neue Benutzer dazu verpflichtet, zuerst ein Pairing durchzuführen, bevor sie mit dem Agent kommunizieren können.

Pairing-Ablauf

sequenceDiagram
    participant S as Fremder
    participant B as Bot
    participant G as Gateway
    participant O as Eigentümer
    
    S->>B: Nachricht senden "Hallo"
    B->>G: Nachricht empfangen
    G->>G: Pairing-Status prüfen
    G-->>B: Nicht gepairt, Pairing-Code generieren
    B-->>S: "Bitte pairen: Code ABC123"
    S->>O: Pairing-Code dem Eigentümer mitteilen
    O->>G: openclaw pairing approve telegram ABC123
    G->>G: Zur Whitelist hinzufügen
    G-->>S: Pairing erfolgreich
    S->>B: Nachricht senden "Hallo"
    B-->>S: Normale Antwort

DM-Pairing konfigurieren

{
  "channels": {
    "telegram": {
      "botToken": "your_token",
      "dmPolicy": "pairing"
    },
    "whatsapp": {
      "dmPolicy": "pairing"
    },
    "discord": {
      "dmPolicy": "pairing"
    }
  }
}

Pairing-Modi

Modus Beschreibung Sicherheitsstufe Anwendungsfall
pairing Pairing-Code erforderlich ⭐⭐⭐⭐ Persönliche Nutzung (Standard)
open Für jeden nutzbar Öffentlicher Dienst
whitelist Nur Whitelist-Benutzer ⭐⭐⭐⭐⭐ Hohe Sicherheitsanforderungen

Pairing verwalten

# Ausstehende Pairing-Anfragen anzeigen
openclaw pairing list

# Beispielausgabe:
# Channel    Code     User        Created
# telegram   ABC123   @stranger   2026-02-26 10:30:00
# discord    XYZ789   user#1234   2026-02-26 10:35:00

# Pairing genehmigen
openclaw pairing approve telegram ABC123

# Pairing ablehnen
openclaw pairing reject telegram ABC123

# Gepaarte Benutzer anzeigen
openclaw pairing show telegram

Whitelist-Konfiguration

{
  "channels": {
    "telegram": {
      "dmPolicy": "open",
      "allowFrom": [
        123456789,
        987654321
      ]
    },
    "whatsapp": {
      "dmPolicy": "open",
      "allowFrom": [
        "+8613800138000",
        "+8613800138001"
      ]
    }
  }
}

Benutzer-ID ermitteln

# Telegram: Nachricht an @userinfobot senden
# Discord: /id-Befehl im Kanal verwenden oder Benutzerprofil prüfen
# WhatsApp: Aus den Kontaktinformationen entnehmen

Sandbox-Modus

Was ist eine Sandbox?

Eine Sandbox ist ein Isolationsmechanismus, der den Aktionsbereich des Agents einschränkt und versehentliche oder böswillige Systemänderungen verhindert.

Sandbox-Modi

Modus Beschreibung Anwendungsfall
off Keine Sandbox, volles Vertrauen Hauptsitzung, vertrauenswürdige Umgebung
non-main Sandbox für Nicht-Hauptsitzungen Mehrbenutzerbetrieb, Team-Nutzung
always Immer aktive Sandbox Nicht vertrauenswürdige Umgebung, öffentlicher Dienst

Sandbox konfigurieren

{
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "non-main",
        "allowlist": ["read", "write", "edit", "bash"],
        "denylist": ["browser", "canvas", "nodes"],
        "container": {
          "image": "openclaw/sandbox:latest",
          "timeout": 30000,
          "memory": "512m",
          "cpu": "0.5"
        }
      }
    }
  }
}

Tool-Berechtigungssteuerung

{
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "non-main",
        "allowlist": [
          "read",
          "write",
          "edit",
          "bash",
          "web_search",
          "sessions_list",
          "sessions_history",
          "sessions_send"
        ],
        "denylist": [
          "browser",
          "canvas",
          "nodes",
          "cron",
          "discord",
          "gateway"
        ]
      }
    }
  }
}

Dateisystem-Berechtigungen

{
  "agents": {
    "defaults": {
      "permissions": {
        "filesystem": {
          "read": ["~/workspace", "~/documents"],
          "write": ["~/workspace/output"],
          "deny": ["~/.ssh", "~/.gnupg", "~/.openclaw/credentials"]
        }
      }
    }
  }
}

Netzwerk-Berechtigungen

{
  "agents": {
    "defaults": {
      "permissions": {
        "network": {
          "outbound": {
            "allow": [
              "api.anthropic.com",
              "api.openai.com",
              "github.com"
            ],
            "deny": ["*"]
          }
        }
      }
    }
  }
}

Elevated-Berechtigungen

Was sind Elevated-Berechtigungen?

Elevated-Berechtigungen sind ein Mechanismus zur vorübergehenden Rechteerhöhung für Operationen, die höhere Berechtigungen erfordern.

Elevated-Berechtigungen konfigurieren

{
  "agents": {
    "defaults": {
      "elevatedAccess": {
        "enabled": true,
        "allowlist": [123456789, 987654321],
        "requireConfirmation": true,
        "timeout": 300000
      }
    }
  }
}

Elevated-Berechtigungen verwenden

# Im Chat erhöhte Berechtigungen anfordern
/elevated on

# Operationen ausführen, die erhöhte Berechtigungen erfordern
# ...

# Erhöhte Berechtigungen deaktivieren
/elevated off

Umgang mit sensiblen Daten

Arten sensibler Informationen

Typ Beispiel Behandlung
API Keys sk-ant-xxx, sk-xxx Nicht protokollieren, nicht ausgeben
Passwörter Login-Passwörter, Datenbank-Passwörter Nicht speichern, nicht übertragen
Token OAuth Token, Session Token Verschlüsselt speichern
Personendaten Ausweisnummern, Bankdaten Nicht protokollieren, anonymisieren

Filterung sensibler Informationen konfigurieren

{
  "security": {
    "sensitiveData": {
      "patterns": [
        "sk-[a-zA-Z0-9]{20,}",
        "xox[baprs]-[a-zA-Z0-9-]+",
        "[0-9]{15,19}",
        "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}"
      ],
      "redact": true,
      "log": false
    }
  }
}

Anmeldedaten-Speicherung

# Speicherort der Anmeldedaten
~/.openclaw/credentials/

# Verschlüsselte Speicherung
# OpenClaw verwendet den System-Schlüsselbund zur verschlüsselten Speicherung sensibler Anmeldedaten

Anmeldedaten verwalten

# Gespeicherte Anmeldedaten anzeigen
openclaw credentials list

# Beispielausgabe:
# Name           Type        Created
# telegram-bot   api_key     2026-02-20
# gmail-oauth    oauth       2026-02-21

# Anmeldedaten löschen
openclaw credentials delete telegram-bot

# Anmeldedaten exportieren (verschlüsselt)
openclaw credentials export --output credentials.enc

# Anmeldedaten importieren
openclaw credentials import --input credentials.enc

Netzwerksicherheit

Binding-Konfiguration

{
  "gateway": {
    "bind": "loopback",  // Nur lokaler Zugriff
    "port": 18789,
    "tls": {
      "enabled": false
    }
  }
}
Binding-Option Beschreibung Sicherheitsstufe
loopback Nur lokaler Zugriff ⭐⭐⭐⭐⭐
private Zugriff aus privatem Netzwerk ⭐⭐⭐⭐
all Zugriff über alle Schnittstellen

Tailscale-Konfiguration

{
  "gateway": {
    "tailscale": {
      "mode": "serve",  // serve oder funnel
      "resetOnExit": true
    },
    "auth": {
      "mode": "password",
      "allowTailscale": true
    }
  }
}

Authentifizierungskonfiguration

{
  "gateway": {
    "auth": {
      "mode": "password",
      "password": "your-secure-password",
      "sessionTimeout": 3600000
    }
  }
}

Audit und Protokollierung

Betriebsprotokollierung

{
  "logging": {
    "level": "info",
    "audit": {
      "enabled": true,
      "events": [
        "tool.invoke",
        "session.create",
        "session.reset",
        "pairing.approve",
        "pairing.reject",
        "elevated.enable",
        "elevated.disable"
      ],
      "retention": 30
    }
  }
}

Audit-Protokolle einsehen

# Audit-Protokolle anzeigen
openclaw logs --type audit

# Beispielausgabe:
# [2026-02-26 10:30:00] INFO  tool.invoke session=main tool=bash command="ls -la"
# [2026-02-26 10:30:05] INFO  pairing.approve channel=telegram code=ABC123 user=123456789
# [2026-02-26 10:31:00] INFO  elevated.enable session=telegram:user:123456789

# Nach bestimmten Ereignissen filtern
openclaw logs --type audit --filter "tool.invoke"

# Nach Zeitraum filtern
openclaw logs --type audit --from 2026-02-01 --to 2026-02-28

Nutzungsüberwachung

# Nutzung anzeigen
openclaw usage --today

# Beispielausgabe:
# Date: 2026-02-26
# Requests: 128
# Tokens In: 125,000
# Tokens Out: 45,000
# Cost: $2.10
# Top Tools: bash(45), read(32), write(18)

# Anomalieerkennung
openclaw usage --alerts

# Beispielausgabe:
# ⚠️  Hohe Nutzung erkannt: 1000+ Anfragen in 1 Stunde
# ⚠️  Ungewöhnliches Tool-Muster: bash-Befehle in sensiblen Verzeichnissen

Sicherheits-Checkliste

Grundlegende Sicherheit

  • DM-Pairing oder Whitelist aktivieren
  • Sandbox-Modus konfigurieren
  • Angemessene Tool-Berechtigungen setzen
  • Betriebs-Audit-Protokollierung aktivieren
  • API Key regelmäßig erneuern

Erweiterte Sicherheit

  • Dateisystem-Berechtigungen einschränken
  • Ausgehende Netzwerk-Whitelist konfigurieren
  • Filterung sensibler Informationen aktivieren
  • Bestätigung für Elevated-Berechtigungen konfigurieren
  • Gepaarte Benutzer regelmäßig überprüfen

Enterprise-Sicherheit

  • Docker-Sandbox-Isolation verwenden
  • Tailscale-Privatnetzwerk konfigurieren
  • HTTPS/TLS aktivieren
  • Nutzungs-Alarme einrichten
  • Regelmäßige Sicherheitsaudits durchführen

Sicherheitsdiagnose

# Sicherheitsdiagnose ausführen
openclaw doctor --security

# Beispielausgabe:
# ✅ DM Pairing: Enabled
# ✅ Sandbox Mode: non-main
# ⚠️  File Permissions: Some directories not restricted
# ✅ Network Outbound: Restricted to allowlist
# ⚠️  Elevated Access: No confirmation required
# ✅ Audit Logging: Enabled
# ✅ Credentials: Encrypted

# Empfehlungen:
# - Dateizugriff auf ~/workspace beschränken
# - Bestätigung für Elevated-Zugriff aktivieren

Zusammenfassung

Die Sicherheitskonfiguration ist ein wesentlicher Bestandteil des OpenClaw-Deployments:

  • DM-Pairing: Verhindert unbefugten Zugriff
  • Sandbox-Modus: Begrenzt den Aktionsbereich
  • Berechtigungssteuerung: Feingranulare Tool- und Dateiberechtigungen
  • Sensible Daten: Filterung und Schutz sensibler Informationen
  • Netzwerksicherheit: Binding- und Authentifizierungskonfiguration
  • Audit-Protokolle: Nachverfolgung und Überwachung von Operationen

Zusammenfassung dieses Artikels:

  • Die wichtigsten Sicherheitsrisiken und Schutzmechanismen verstanden
  • DM-Pairing und Whitelist-Konfiguration erlernt
  • Sandbox-Modus und Berechtigungssteuerung gemeistert
  • Umgang mit sensiblen Daten und Netzwerkkonfiguration kennengelernt
  • Audit-Protokollierung und Sicherheits-Checkliste beherrscht

Änderungsprotokoll:

  • 2026-02-26: Erstveröffentlichung, basierend auf OpenClaw v2026.2

Seriennavigation: