Webhooks HTTP entrants OpenClaw sur Mac mini loué : durcissement de passerelle pour 2026
Les webhooks HTTP entrants permettent aux CI, plateformes de facturation et bots de chat de réveiller un agent OpenClaw sur votre Mac mini M4 loué à HK, JP, KR, SG ou aux États-Unis sans garder un humain connecté au partage d’écran. Le mode de défaillance est prévisible : quelqu’un expose 0.0.0.0:8080 sur Internet, oublie un jeton et votre mini rejoint un botnet avant le déjeuner. Ce guide 2026 explique pourquoi les webhooks diffèrent du MCP stdio, propose un tableau de menaces à cinq colonnes, montre une forme de configuration sûre (JSON illustratif) et un chemin de déploiement en sept étapes qui se termine dans launchd sans sauter TCC ou l’hygiène du Trousseau. Associez l’accès sortant aux outils avec la configuration des serveurs MCP pour que déclencheurs et outils partagent la même histoire d’audit.
Pourquoi le HTTP entrant est plus effrayant que les appels API sortants
Les appels sortants choisissent leur destination ; les points d’entrée entrants acceptent tout paquet qui atteint le port. Cette asymétrie compte sur les réseaux de conférence partagés et sur le bare metal avec une IPv4 publique. Supposez un scanning constant, des tentatives de replay et des corps JSON surdimensionnés pour faire exploser les limites mémoire. Traitez la surface webhook comme une mini passerelle API : authentification d’abord, limites de taille ensuite, logique métier en dernier.
- Identifiants de corrélation : exigez des en-têtes d’id stables des fournisseurs pour joindre les journaux webhook aux journaux agent.
- Fenêtres de replay : stockez un nonce ou une tolérance d’horodatage quand les fournisseurs ne peuvent pas faire tourner les secrets vite.
- Dégradation gracieuse : renvoyez
503avecRetry-Afterlorsque le backend modèle est saturé—mieux que du TCP qui pend.
Tableau des menaces : contrôle vs atténuation typique
| Risque | Objectif de l’attaquant | Contrôle principal | Contrôle secondaire | Propriétaire |
|---|---|---|---|---|
| Fuite de jeton via journaux | Rejouer un POST privilégié | Retirer Authorization des journaux d’accès | Jetons à courte durée, rotation hebdomadaire | Plateforme |
| Bombe de corps | DoS CPU/mémoire | Taille max du corps au proxy | Limite de débit par IP | SRE |
| SSRF via le gestionnaire webhook | Atteindre des URL admin internes | Liste de refus RFC1918 stricte dans le gestionnaire | Pare-feu de sortie sur le mini | Sécurité |
| Downgrade TLS | Intercepter les secrets | HSTS + suites de chiffrement modernes | TLS mutuel si le fournisseur le prend en charge | NetEng |
Configuration de hook illustrative (adaptez au schéma fournisseur)
Les noms varient entre les versions OpenClaw—utilisez ce bloc comme une forme, pas une garantie copier-coller. Stockez les vrais secrets selon les modèles du durcissement Trousseau.
{
"hooks": {
"enabled": true,
"listen": "127.0.0.1:18765",
"path": "/hooks",
"token": "REPLACE_WITH_KEYCHAIN_LOOKUP"
}
}
Authorization: Bearer … et rejetez le reste en périphérie.
Chemin de déploiement en sept étapes
- Prototype en loopback uniquement et curl en local avec le jeton bearer jusqu’à ce que les réponses soient déterministes.
- Devant Caddy/nginx sur le même hôte : terminer TLS, appliquer la politique de chiffres, ajouter
limit_reqou équivalent. - Mapper le DNS public vers le mini seulement après que les règles pare-feu autorisent 443 depuis les plages IP du fournisseur—pas la planète entière.
- Câbler une journalisation structurée en lignes JSON sous
~/Library/Logsou le chemin de votre agent SIEM. - Intégrer les outils MCP enregistrés dans la config MCP pour que les payloads webhook n’enfilent que du travail, pas un shell arbitraire.
- Planifier via LaunchAgent avec le guide LaunchAgent après trempage interactif.
- Exercice game-day : révoquer le jeton, confirmer le 401 en quelques secondes, réémettre depuis le Trousseau sans éditer le JSON suivi par git.
Reverse proxy & TLS : un certificat, plusieurs processus
Faites tourner l’écouteur OpenClaw en loopback et laissez le proxy gérer l’agrafe OCSP, HTTP/2 et l’application de la taille des requêtes. Pour les équipes qui refusent tout 443 entrant, placez un petit VPS devant et transférez en mTLS ou WireGuard vers le mini—les motifs recoupent la réflexion bastion SSH même si la charge utile est HTTPS.
Observabilité : trois graphiques qui attrapent tôt les régressions
- Latence webhook p95 vs latence modèle p95—si elles divergent, votre file d’attente sature, pas OpenAI.
- Ratio 401/403—les pics signifient souvent qu’un fournisseur a fait tourner des IP sans vous prévenir.
- Profondeur de file—alerter quand > 200 jobs en attente plus de cinq minutes sur un seul mini.
Lorsque les alertes partent, commencez par la recette SSH du centre d’aide, capturez les journaux d’accès du proxy, et ne faites pager le propriétaire DNS du nom public qu’ensuite.
FAQ
Jetons dans la chaîne de requête ? Interdit—utilisez les en-têtes.
Lier 0.0.0.0 ? À éviter ; loopback + proxy + pare-feu est la pile sécurisée par défaut.
Lien avec MCP ? Les webhooks enfilent ; MCP exécute les outils—unifiez journalisation et rotation des secrets.
Pourquoi le Mac mini chez ProxyMac est le bon endroit pour les passerelles webhook
Les webhooks ont besoin d’écouteurs toujours actifs avec une CPU prévisible et du disque local pour le débordement de file. Une mini Apple Silicon M4 dédiée en HK / JP / KR / SG / US garde la terminaison TLS proche des SaaS régionaux qui vous appellent en général, tandis que macOS colle au reste de votre chaîne OpenClaw. Le modèle de location ProxyMac permet de dédier une mini aux charges ingress uniquement, de la documenter à côté des tarifs et de la recycler après le projet d’intégration—sans traîner des portables dans des sessions VNC juste pour garder un port ouvert.
Expédier les webhooks sur du métal dédié
Louer Mac mini HK / JP / KR / SG / US pour des passerelles toujours actives