Retour

11. Bonnes pratiques de configuration de sécurité OpenClaw

La sécurité est une considération clé du déploiement d'OpenClaw. Cet article détaille le mécanisme d'appairage DM, le mode sandbox, le contrôle des permissions, le traitement des données sensibles et la sécurité réseau pour vous aider à construire un système d'assistant IA sûr et fiable.

Pour OpenClaw v2026.2 | Cet article s’adresse à tous les utilisateurs d’OpenClaw, en particulier ceux qui préparent un déploiement en production ou une utilisation en équipe.

TL;DR: L’appairage DM empêche les accès non autorisés : "dmPolicy": "pairing". Le sandbox isole les opérations dangereuses : "sandbox": {"mode": "non-main"}. Filtrage des données sensibles : "security": {"sensitiveData": {"patterns": ["sk-*"]}}. Utilisez Tailscale pour l’accès distant plutôt que l’exposition sur Internet public. Exécutez openclaw doctor --security pour vérifier l’état de sécurité.

Vue d’ensemble des risques de sécurité

Principaux types de risques

Type de risque Description Conséquences potentielles
Accès non autorisé Des inconnus peuvent utiliser votre Agent Abus de ressources, fuite de données
Abus de permissions L’Agent exécute des opérations au-delà des attentes Corruption de données, dommages système
Fuite de données Traitement inapproprié d’informations sensibles Violation de la vie privée, problèmes de conformité
Attaques réseau Des attaquants exploitent des vulnérabilités Intrusion système, vol de données
Injection de prompt Des instructions malveillantes contournent les limites de sécurité Opérations non autorisées

Modèle de sécurité

flowchart TB
    subgraph Externe["Couche réseau"]
        FW[Pare-feu]
        TLS[HTTPS/TLS]
    end
    
    subgraph Milieu["Contrôle d'accès"]
        DM[Appairage DM]
        WL[Liste blanche]
        AUTH[Authentification]
    end
    
    subgraph Interne["Contrôle d'exécution"]
        SBX[Sandbox]
        PERM[Permissions]
        AUDIT[Audit]
    end
    
    subgraph Noyau["Agent"]
        AG[Cœur de l'Agent]
    end
    
    Externe --> Milieu --> Interne --> Noyau

Mécanisme d’appairage DM

Qu’est-ce que l’appairage DM ?

L’appairage DM (Direct Message) est un mécanisme de protection qui exige que les nouveaux utilisateurs complètent l’appairage avant de pouvoir discuter avec l’Agent.

Processus d’appairage

sequenceDiagram
    participant S as Inconnu
    participant B as Bot
    participant G as Gateway
    participant O as Propriétaire
    
    S->>B: Envoie un message "Bonjour"
    B->>G: Le message arrive
    G->>G: Vérification de l'état d'appairage
    G-->>B: Non appairé, génération du code
    B-->>S: "Veuillez vous appairer : code ABC123"
    S->>O: Communique le code au propriétaire
    O->>G: openclaw pairing approve telegram ABC123
    G->>G: Ajout à la liste blanche
    G-->>S: Appairage réussi
    S->>B: Envoie un message "Bonjour"
    B-->>S: Réponse normale

Configurer l’appairage DM

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

Modes d’appairage

Mode Description Niveau de sécurité Cas d’usage
pairing Code d’appairage requis ⭐⭐⭐⭐ Usage personnel (par défaut)
open Accessible à tous Service public
whitelist Utilisateurs en liste blanche uniquement ⭐⭐⭐⭐⭐ Haute sécurité

Gestion de l’appairage

# Voir les demandes d'appairage en attente
openclaw pairing list

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

# Approuver l'appairage
openclaw pairing approve telegram ABC123

# Refuser l'appairage
openclaw pairing reject telegram ABC123

# Voir les utilisateurs appairés
openclaw pairing show telegram

Configuration de la liste blanche

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

Obtenir les identifiants utilisateur

# Telegram : envoyez un message à @userinfobot
# Discord : utilisez la commande /id dans un canal ou consultez le profil utilisateur
# WhatsApp : récupérez depuis les informations de contact

Mode sandbox

Qu’est-ce que le sandbox ?

Le sandbox est un mécanisme d’isolation qui limite la portée des opérations de l’Agent, empêchant les modifications système accidentelles ou malveillantes.

Modes de sandbox

Mode Description Cas d’usage
off Pas de sandbox, confiance totale Session principale, environnement de confiance
non-main Sandbox activé pour les sessions non principales Multi-utilisateurs, partage en équipe
always Sandbox toujours activé Environnement non fiable, service public

Configurer le sandbox

{
  "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"
        }
      }
    }
  }
}

Contrôle des permissions d’outils

{
  "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"
        ]
      }
    }
  }
}

Permissions du système de fichiers

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

Permissions réseau

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

Permissions élevées

Que sont les permissions élevées ?

Les permissions élevées sont un mécanisme d’élévation temporaire des privilèges, utilisé pour les opérations nécessitant des droits supérieurs.

Configurer les permissions élevées

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

Utiliser les permissions élevées

# Demander l'élévation des permissions dans le chat
/elevated on

# Exécuter des opérations nécessitant des permissions élevées
# ...

# Désactiver les permissions élevées
/elevated off

Traitement des données sensibles

Types d’informations sensibles

Type Exemple Traitement
Clés API sk-ant-xxx, sk-xxx Ne pas enregistrer, ne pas afficher
Mots de passe Mots de passe de connexion, de base de données Ne pas stocker, ne pas transmettre
Tokens OAuth token, Session token Stockage chiffré
Données personnelles Carte d’identité, carte bancaire Ne pas enregistrer, anonymiser

Configurer le filtrage des informations sensibles

{
  "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
    }
  }
}

Stockage des identifiants

# Emplacement de stockage des identifiants
~/.openclaw/credentials/

# Stockage chiffré
# OpenClaw utilise le trousseau système pour chiffrer les identifiants sensibles

Gestion des identifiants

# Voir les identifiants stockés
openclaw credentials list

# Exemple de sortie :
# Name           Type        Created
# telegram-bot   api_key     2026-02-20
# gmail-oauth    oauth       2026-02-21

# Supprimer un identifiant
openclaw credentials delete telegram-bot

# Exporter les identifiants (chiffré)
openclaw credentials export --output credentials.enc

# Importer des identifiants
openclaw credentials import --input credentials.enc

Sécurité réseau

Configuration de liaison

{
  "gateway": {
    "bind": "loopback",  // Accès local uniquement
    "port": 18789,
    "tls": {
      "enabled": false
    }
  }
}
Option de liaison Description Niveau de sécurité
loopback Accès local uniquement ⭐⭐⭐⭐⭐
private Accès réseau privé ⭐⭐⭐⭐
all Accès sur toutes les interfaces

Configuration Tailscale

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

Configuration de l’authentification

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

Audit et journalisation

Journal des opérations

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

Consulter les journaux d’audit

# Voir les journaux d'audit
openclaw logs --type audit

# Exemple de sortie :
# [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

# Filtrer par événement spécifique
openclaw logs --type audit --filter "tool.invoke"

# Par plage de dates
openclaw logs --type audit --from 2026-02-01 --to 2026-02-28

Surveillance de l’utilisation

# Voir l'utilisation
openclaw usage --today

# Exemple de sortie :
# 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)

# Détection d'anomalies
openclaw usage --alerts

# Exemple de sortie :
# ⚠️  High usage detected: 1000+ requests in 1 hour
# ⚠️  Unusual tool pattern: bash commands to sensitive directories

Liste de contrôle de sécurité

Sécurité de base

  • Activer l’appairage DM ou la liste blanche
  • Configurer le mode sandbox
  • Définir des permissions d’outils raisonnables
  • Activer les journaux d’audit des opérations
  • Renouveler régulièrement les clés API

Sécurité avancée

  • Configurer les restrictions de permissions du système de fichiers
  • Définir une liste blanche des connexions sortantes
  • Activer le filtrage des informations sensibles
  • Configurer la confirmation des permissions élevées
  • Réviser régulièrement les utilisateurs appairés

Sécurité entreprise

  • Utiliser l’isolation sandbox Docker
  • Configurer le réseau privé Tailscale
  • Activer HTTPS/TLS
  • Configurer les alertes d’utilisation
  • Effectuer des audits de sécurité réguliers

Diagnostic de sécurité

# Lancer le diagnostic de sécurité
openclaw doctor --security

# Exemple de sortie :
# ✅ 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

# Recommandations :
# - Restrict file access to ~/workspace only
# - Enable elevated access confirmation

Résumé

La configuration de la sécurité est une étape essentielle du déploiement d’OpenClaw :

  • Appairage DM : empêche les accès non autorisés
  • Mode sandbox : limite la portée des opérations
  • Contrôle des permissions : permissions granulaires pour les outils et les fichiers
  • Données sensibles : filtrage et protection des informations sensibles
  • Sécurité réseau : configuration de liaison et d’authentification
  • Journaux d’audit : suivi et surveillance des opérations

Points clés de cet article :

  • Compréhension des principaux risques de sécurité et mécanismes de protection
  • Maîtrise de la configuration de l’appairage DM et de la liste blanche
  • Apprentissage du mode sandbox et du contrôle des permissions
  • Connaissance du traitement des données sensibles et de la configuration réseau
  • Maîtrise des journaux d’audit et de la liste de contrôle de sécurité

Historique des mises à jour :

  • 2026-02-26 : Publication initiale, basée sur OpenClaw v2026.2

Navigation de la série :