Sécurité
OpenClaw a accès à ton serveur, tes APIs, et potentiellement tes messages. Voilà comment limiter la surface d’exposition.
Les Owner IDs : ta première ligne de défense
Le champ owners dans ta config détermine qui peut parler à ton agent. Sans ça, n’importe qui peut envoyer des commandes à ton bot.
{
"channels": [
{
"type": "telegram",
"token": "...",
"owners": [123456789]
}
]
}
⚠️ Ne laisse jamais
ownersvide. Ton bot ignorera tout le monde — ou pire, répondra à tout le monde, selon la config.
Trouver ton Owner ID
Sur Telegram, envoie /start à @userinfobot. Il te renvoie ton ID numérique.
Sécuriser le serveur
Accès SSH
# Désactiver l'authentification par mot de passe
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
# Changer le port SSH (optionnel mais recommandé)
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
💡 Utilise uniquement des clés SSH. Jamais des mots de passe.
Firewall (UFW)
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # SSH (ou 22 si tu gardes le port par défaut)
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
Fail2ban
Bloque les IPs qui tentent du brute-force :
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
Config recommandée dans /etc/fail2ban/jail.local :
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 3600
Protéger tes clés API
Ne jamais commiter tes clés
Le fichier ~/.openclaw/openclaw.json contient tes clés API. Il ne doit jamais se retrouver dans un repo Git.
# Vérifier les permissions
chmod 600 ~/.openclaw/openclaw.json
Rotation des clés
Prends l’habitude de régénérer tes clés API tous les 3–6 mois :
- Anthropic : console.anthropic.com
- OpenAI : platform.openai.com
Si tu suspectes une fuite, régénère immédiatement.
MEMORY.md et données sensibles
L’agent écrit dans MEMORY.md ce qu’il juge utile de retenir. Par défaut il évite les secrets — mais vérifie régulièrement :
# Scanner les patterns sensibles
grep -iE '(password|secret|token|apikey|sk-|ghp_)' ~/.openclaw/workspace/MEMORY.md
💡 Si tu utilises ton agent dans un groupe,
MEMORY.mdn’est pas chargé dans les sessions partagées — uniquement en conversation directe.
Reverse proxy et HTTPS
N’expose jamais OpenClaw directement sur internet. Passe par un reverse proxy :
- Traefik (recommandé avec Docker)
- Nginx / Caddy
Avec Let’s Encrypt pour le HTTPS automatique :
# Exemple Traefik (labels Docker)
labels:
- "traefik.http.routers.app.tls=true"
- "traefik.http.routers.app.tls.certresolver=letsencrypt"
Headers de sécurité
Ajoute ces headers dans ton reverse proxy :
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy: default-src 'self'
Mises à jour
Garde tout à jour — c’est la base :
# Système
sudo apt update && sudo apt upgrade -y
# OpenClaw
openclaw update run
# Images Docker
docker compose pull && docker compose up -d
💡 Tu peux mettre en place un cron job OpenClaw pour vérifier automatiquement les mises à jour chaque semaine.
Checklist de sécurité
Avant de considérer ton install comme “prête pour la prod” :
- Owner IDs configurés
- SSH par clé uniquement (mot de passe désactivé)
- Firewall actif (UFW)
- Fail2ban installé
- HTTPS avec certificat valide
- Headers de sécurité en place
-
openclaw.jsonen chmod 600 - Pas de secrets dans MEMORY.md
- Mises à jour système régulières