Entre 2025 et 2026, les bilans d'incidents de production ont souvent décrit le même schéma : passerelles IA et exécuteurs d'agents exposés sur Internet public avec authentification absente ou faible, sortie réseau trop large, et journaux ignorés jusqu'à la facture quotas. Ce guide s'adresse aux équipes et indépendants qui font tourner OpenClaw sur un Mac distant et veulent une sécurité de passerelle reproductible : jeton d'authentification, politique de sortie et journalisation exploitable pour l'audit — avec commandes et paramètres concrets, pas des slogans. Pour les bases plateforme, voir nos articles OpenClaw en Docker sur Mac distant et chaîne MCP, préflight et passerelle ; parcourez aussi le blog, l'accueil, le centre d'aide ou la page achat sans connexion.

Contrôles préalables au déploiement : version Node et modèle de permissions

Verrouillez le runtime avant tout durcissement. La passerelle et la CLI OpenClaw supposent une ligne Node LTS récente (beaucoup d'équipes sont passées à Node 22+ en 2026). Sur le Mac distant, vérifiez avec node -v et npm -v, et installez via nvm ou le paquet officiel pour des mises à jour reproductibles.

Créez un utilisateur macOS dédié (par ex. openclawsvc) propriétaire du répertoire d'installation et des chemins de journaux. Évitez la passerelle sur un compte admin avec sudo sans mot de passe : un jeton fuité devient alors un accès disque complet. Contrôlez les droits effectifs :

id openclawsvc
ls -la ~/openclaw-gateway
chmod 750 ~/openclaw-gateway
chmod 600 ~/openclaw-gateway/.env.gateway

Accordez les autorisations de confidentialité macOS (TCC) uniquement là où une compétence l'exige. Si une compétence appelle des outils d'automatisation, documentez les invites ; n'activez pas « Accès disque complet » par défaut pour gagner du temps. Pour launchd, utilisez la clé UserName dans le plist pour abandonner les privilèges explicitement.

Jeton de passerelle et contrôle d'accès : étapes de configuration reproductibles

Votre première décision « plan de contrôle » est l'exposition réseau. Liez la passerelle à la boucle locale et placez un reverse proxy devant, ou à une interface privée uniquement. Schéma courant sur Mac distant : OpenClaw écoute 127.0.0.1:PORT ; Caddy ou nginx termine le TLS et proxifie vers ce port, avec filtrage IP optionnel.

Activez l'authentification bearer sur le chemin utilisé par la CI et les clients. Stockez le jeton dans .env.gateway (droits 600) et référencez-le depuis launchd :

export OPENCLAW_GATEWAY_TOKEN="$(openssl rand -hex 32)"
# bloc EnvironmentVariables launchd :
# OPENCLAW_GATEWAY_TOKEN = <valeur depuis le coffre-fort secrets>

Depuis GitHub Actions ou une autre CI, injectez le jeton via secrets chiffrés — ne l'affichez jamais dans les journaux de workflow. Ajoutez une étape garde-fou qui échoue si grep -R "OPENCLAW_GATEWAY_TOKEN" . trouverait du texte en clair dans les fichiers suivis.

Fragment illustratif openclaw.json (adaptez les clés à votre version OpenClaw) :

{
  "gateway": {
    "listen": { "host": "127.0.0.1", "port": 18765 },
    "auth": { "mode": "bearer", "header": "Authorization" },
    "rateLimit": { "perMinute": 120 }
  }
}

Combinez le bearer avec VPN uniquement ou tunnel SSH (ssh -L 18765:127.0.0.1:18765 utilisateur@mac-distant) et des règles pare-feu « tout refuser » par défaut sur l'entrant.

Allowlist des domaines sortants et politique proxy : liste de contrôle

Les agents amplifient le risque SSRF si chaque compétence peut appeler n'importe quelle URL. Partez d'une allowlist écrite des hôtes réellement nécessaires, puis appliquez-la en couches.

Catégorie Exemples d'hôtes (réduisez à votre stack) Notes
API modèles / inférenceapi.openai.com, api.anthropic.com, endpoints régionaux utilisésFixez les URL de base dans la config ; évitez les jokers.
Registres paquetsregistry.npmjs.org, github.com, objects.githubusercontent.comNécessaires pour install et pulls type ClawHub.
Artefacts MLhuggingface.co, cdn-lfs.huggingface.coAjoutez seulement si vous tirez des modèles au runtime.
Services internesHôtes de registre privéListez dans NO_PROXY pour contourner le proxy d'entreprise.

Définissez les variables proxy une fois pour le compte de service et l'environnement launchd :

export HTTPS_PROXY="http://proxy.corp.example:8080"
export NO_PROXY="127.0.0.1,localhost,.internal.corp,artifacts.internal"

Sans proxy central, combinez règles de pare-feu macOS et compétences versionnées pour que toute modification de sortie passe par revue.

Audit des journaux et seuils d'alerte

Les journaux structurés battent les captures d'écran. Redirigez stdout/stderr de la passerelle vers des fichiers datés sous /var/log/openclaw/ (propriété du compte de service) ou utilisez StandardOutPath / StandardErrorPath dans launchd. Faites tourner avec newsyslog ou une petite config logrotate pour éviter de remplir le disque pendant les pulls de modèles.

Surveillance minimale viable sur un nœud Mac distant :

Seuils d'alerte suggérés (à ajuster après une semaine de référence)
  • Taux 401/403 : alerte si plus de N échecs d'auth par minute depuis une même IP (souvent 10–30 après baseline).
  • Nouveaux hôtes sortants : digest quotidien des noms DNS absents des 7 jours précédents.
  • Budget d'erreurs : ECONNRESET ou erreurs de poignée TLS soutenues au-dessus de 5 % des requêtes pendant 10 minutes.
  • Signaux quota : réponses API 429 corrélées au user-agent passerelle — souvent premier indice de jeton compromis ou sur-utilisé.

Expédiez vers un SIEM si possible ; sinon un cron + grep -E "401|403|EACCES|certificate|handshake" vaut mieux qu'un silence radio.

Erreurs courantes : ports, TLS et permissions

Symptôme Commandes / vérifications
EADDRINUSE sur le port passerellelsof -nP -iTCP:18765 -sTCP:LISTEN puis arrêt du processus fantôme ou alignement du port dans openclaw.json et la config proxy.
TLS UNABLE_TO_VERIFY_LEAF_SIGNATUREMITM d'entreprise : racine dans le trousseau Mac ou NODE_EXTRA_CA_CERTS=/chemin/corp.pem uniquement pour l'utilisateur de service.
Réinitialisation côté client depuis l'extérieurVérifiez que proxy_read_timeout dépasse les flux modèle longs ; pare-feu et retour de trafic sur connexions établies.
EACCES sur cache ou journauxls -la sur le répertoire ; propriétaire openclawsvc ; évitez le mélange sudo npm -g / install utilisateur.
401 intermittents depuis la CIComparez les noms de secrets entre dépôts ; retours chariot en fin de jeton stocké ; dérive d'horloge minimale (sntp -sS time.apple.com).

Après chaque changement, exécutez votre commande de santé habituelle (par ex. openclaw doctor si disponible) et un curl -sf -H "Authorization: Bearer $TOKEN" http://127.0.0.1:18765/health local avant d'ouvrir l'écoute du proxy.

Checklist de sécurité avant mise en production

Avant d'appeler cela de la production
  • Passerelle non liée à 0.0.0.0 sans allowlist IP + auth forte.
  • Jeton différent de toute valeur par défaut ; stockage 600 ; absent de git et des sorties CI.
  • Allowlist de sortie documentée ; HTTPS_PROXY / NO_PROXY pour le démon.
  • Journaux sur disque avec rotation ; au moins une alerte automatisée sur les pics d'échec d'auth.
  • Test de restauration : reconstruire le nœud depuis script dans un home utilisateur propre.

FAQ sécurité

Q

La passerelle doit-elle écouter sur 0.0.0.0 ? Plutôt non : boucle locale + reverse proxy TLS et restrictions IP, ou interface privée uniquement. Les passerelles publiques non authentifiées revenaient souvent dans les données d'exposition 2025-2026.

Q

Où garder le jeton bearer ? Fichier env en 600 ou gestionnaire de secrets, injection launchd ; rotation aux départs ; jamais dans les logs CI.

Q

Comment borner les URL sortantes ? Allowlist d'hôtes, proxy et pare-feu de sortie, compétences revues ; exceptions documentées plutôt que filtres désactivés.

Q

Quels motifs journaliser en priorité ? Rafales d'échecs d'auth, pics TLS, nouveaux hôtes sortants vs baseline, 429 soutenus pouvant signaler abus de jeton.

Synthèse et choix de votre nœud Mac distant

Durcir OpenClaw sur un Mac distant, c'est surtout du travail « ennuyeux » bien fait : Node et utilisateur corrects, jetons bearer jamais dans git, chemins de sortie alignés sur une allowlist écrite, et journaux auxquels vous alertez réellement. Ce trio répond directement aux schémas d'exposition de passerelle qui ont dominé les post-mortems 2025-2026.

Pour le choix d'infrastructure, privilégiez un hôte Apple Silicon dédié avec sortie stable et un support clair pour SSH/VNC en secours — afin d'appliquer la checklist sans le bruit du multitenant partagé. Comparez les offres sur tarifs, louez un nœud via achat, consultez le centre d'aide pour les accès, et suivez la série déploiement OpenClaw sur le blog (Docker, MCP, CI).

Mac distant dédié — passerelles & CI

Exécutez OpenClaw sur du matériel que vous maîtrisez de bout en bout

Parcourez le blog technique, l'accueil, le centre d'aide et achat — consultation sans connexion.

Acheter maintenant Voir les nœuds Guide SSH / VNC
Livraison sous 24 h
Résiliation flexible
Support 7×24