deny
sur shell.exec, une allow-list d’egress — et vous pensez qu’elle est
correcte. Mais l’activer contre le trafic de production des agents est un
acte de foi : une seule règle trop large et vous bloquez des appels que vos
agents effectuent légitimement.
Le mode shadow du firewall est l’interrupteur de déploiement sûr. C’est
un flag par politique qui indique à la passerelle d’évaluer la politique
exactement comme elle le ferait en production, de tout journaliser, mais de
ne rien bloquer. Chaque verdict appliquant est rétrogradé en audit, et la
raison de l’événement est préfixée [shadow] would … afin que vous puissiez
lire précisément ce que la politique aurait fait — sans qu’elle n’ait
encore rien fait.
Le mode shadow est un flag sur la politique, défini dans la console (ou
via les routes de gestion
/api/workspace/firewall/policies, qui utilisent
votre session / token d’accès — pas une clé de relais sk-orca-…).
Le basculer est une action Developer+. Les appels de relais /v1/* de
votre agent ne changent pas.1. Ce que fait le mode shadow du firewall
Lorsque le flagshadow_mode d’une politique est activé, la passerelle
exécute l’évaluation complète — résout la politique, parcourt les règles dans
l’ordre de priorité, choisit un verdict — puis, juste avant que le verdict ne
prenne effet, rétrograde tout ce qui aurait changé l’appel :
| Verdict résolu | En mode shadow |
|---|---|
deny | → audit, raison [shadow] would deny — … |
sanitize | → audit, raison [shadow] would sanitize — … |
pending_approval | → audit, raison [shadow] would pending_approval — … |
allow / audit | inchangé (déjà non bloquant) |
2. Un déploiement concret
Disons que vous avez une politiqueprod-agents avec une règle deny sur
les commandes shell destructrices, et que vous voulez confirmer qu’elle ne se
déclenchera sur rien de légitime.
Activer le mode shadow
Dans Security → Firewall → Policies, ouvrez
prod-agents, basculez
Shadow mode sur activé, et enregistrez. La politique garde son
attachement et ses règles — elle cesse simplement d’appliquer.Laisser le trafic réel circuler
Vos agents continuent d’appeler la passerelle exactement comme
auparavant. Chaque appel d’outil est évalué ; rien n’est bloqué.
Donnez-lui une fenêtre représentative — assez longue pour couvrir votre
vrai mélange d’outils.
Lire les refus potentiels
Ouvrez Events et filtrez sur la
raison
[shadow]. Chaque ligne montre l’outil, la surface, l’exécution
et la règle qui a correspondu — de sorte qu’un [shadow] would deny — destructive shell command sur un appel shell.exec est exactement ce
que vous verriez en production, moins le HTTP 400.Désactiver le mode shadow
Une fois que le flux montre la politique se déclenchant sur ce que vous
attendez et sur rien d’autre, basculez Shadow mode sur désactivé. Dès
le prochain appel, ces événements
[shadow] would deny deviennent de
vrais refus firewall_blocked.deny — corrigez la règle (resserrez le
glob ou ajoutez une
clause d’argument) tout en restant
en shadow, et surveillez à nouveau le flux. Vous itérez contre le trafic réel
avec un rayon d’impact nul.
3. Ce que le mode shadow n’adoucit pas
Le mode shadow est un aperçu de la politique, pas un interrupteur d’arrêt maître. Quelques autres limites à connaître :Les verdicts allow et audit sont intacts
Les verdicts allow et audit sont intacts
Seuls les verdicts appliquants (
deny, sanitize, pending_approval)
sont rétrogradés. Un allow ou audit laisse déjà passer l’appel, donc
il n’y a rien à adoucir — ces événements portent quand même le badge
shadow pour que vous puissiez savoir que la politique était en shadow
lorsqu’ils ont été enregistrés.cap_cost se résout avant le rétrogradage
cap_cost se résout avant le rétrogradage
Une règle
cap_cost se résout en un
allow ou deny concret selon la dépense accumulée de l’exécution, et
c’est ce verdict résolu que le mode shadow rétrograde ensuite — un refus
potentiel de plafond apparaît comme [shadow] would deny comme n’importe
quel autre.C'est par politique, pas par espace de travail
C'est par politique, pas par espace de travail
Le mode shadow vit sur chaque politique indépendamment. Vous pouvez
mettre en shadow une toute nouvelle politique pendant qu’une politique
éprouvée continue d’appliquer — il n’y a pas d’interrupteur shadow à
l’échelle de l’espace de travail qu’on oublierait de désactiver.
4. Le mode shadow vs. les autres réglages de déploiement
Le firewall vous donne trois contrôles différents de type « ne rien casser pour l’instant ». Ils résolvent des problèmes différents :| Contrôle | Portée | Question à laquelle il répond |
|---|---|---|
| Mode shadow | Une politique | « Que bloquerait cette politique si je l’appliquais ? » |
Verdict par défaut audit | Une politique | « Tout journaliser que nulle règle ne nomme, ne rien bloquer. » |
| Mode observe | Espace de travail | « Quels outils s’exécutent sans aucune politique les couvrant ? » |
audit concerne la queue non correspondante d’une politique ; le mode
observe concerne les lacunes de couverture à travers l’espace de travail,
pas l’application d’une politique spécifique.
Vous pouvez les empiler. Une nouvelle politique default-deny sous le mode
shadow est le déploiement le plus doux possible : même le plancher
default-deny ne fait que journaliser
[shadow] would deny au lieu de
bloquer, de sorte que vous voyez l’ensemble complet des appels que vos règles
allow ne couvrent pas encore avant que le deny ne soit en live.5. Les packs de conformité atterrissent d’abord en shadow
Lorsque vous installez un pack de conformité en mode observe (non appliquant), les politiques firewall qu’il matérialise sont créées avec le mode shadow activé — elles évaluent et journalisent contre votre trafic sans rien bloquer. Promouvoir le pack pour appliquer fait sortir ces politiques du shadow. Même mécanisme, appliqué pour vous : exécutez les contrôles en dry-run, lisez les verdicts potentiels, puis appliquez.6. Le basculer
Dans la console, le mode shadow est un toggle sur l’éditeur de politique. Le même flag est exposé sur l’API de gestion commeshadow_mode sur l’objet
politique — ces routes utilisent votre session / token d’accès et
requièrent Developer+ :
| Méthode & chemin | Rôle | Note |
|---|---|---|
PUT /api/workspace/firewall/policies | Developer+ | Définir shadow_mode: true / false sur la politique dans le corps. |
GET /api/workspace/firewall/policies/:id | Member | Lire l’état shadow_mode actuel d’une politique. |
version de la politique, de sorte qu’activer et désactiver le shadow est
lui-même tracé.
Où aller ensuite
Créer et attacher une politique
La configuration en deux étapes que le mode shadow déploie — créez la
politique, attachez une clé.
Journal d'événements
Où
[shadow] would … apparaît — filtrez, plongez dans les exécutions et
les règles.Verdicts
Les verdicts appliquants que le mode shadow rétrograde, et ce que fait
chacun en live.
Modes d'application
Comment shadow, audit et observe s’insèrent dans le modèle d’application
plus large.
