http_fetch, web_search oder ein beliebiges Tool aufruft,
das eine ausgehende Verbindung öffnet, ist das Ziel der Teil, den Sie am
dringendsten steuern müssen. Ein verwirrter oder gekaperter Agent, der
169.254.169.254 erreichen kann, liest Ihre Cloud-Credentials; einer, der an
einen Angreifer-Host POSTen kann, exfiltriert Ihre Daten. Agent-Egress-Kontrolle
steuert dieses Ziel — Sie verfassen eine Host/CIDR-Allow/Deny-Regel auf der
egress-Surface der Firewall, hängen sie an einen Key, und das Gateway prüft
jedes ausgehende Ziel, das das Tool eines Agenten meldet, bevor der Aufruf
hinausgeht.
Dies ist eine fokussierte Use-Case-Seite. Für die vollständige Regel-Grammatik
und Verdikt-Semantik siehe Regel-Schema
und Verdikte; dafür, wie Egress unter den
anderen Enforcement-Punkten sitzt, siehe Stages.
1. Agent-Egress-Kontrolle auf der egress-Surface
Von den vier Surfaces der Firewall istegress
diejenige, die das ausgehende Netzwerkziel sieht, das ein Tool meldet —
einen Host, ein IP-Literal oder ein CIDR. Eine auf stage: egress gepinnte
Regel matcht auf diesem Ziel, nicht auf dem Tool-Namen oder seinen Argumenten,
was sie zur SSRF- und Datenexfiltrations-Kontrolle macht: Sie beantwortet,
wohin dieser Agent reichen kann, unabhängig davon, welches Tool das Reichen
getan hat.
Egress ist Ziel-Scoping, kein Tool-Blocking. Um zu verhindern, dass ein
Tool überhaupt existiert, verweigern Sie es nach Namen auf der
inbound-Surface (Tools blockieren).
Egress-Kontrolle nimmt an, dass das Tool legitim abrufen darf — sie
beschränkt nur, wohin.
2. Ein Beispiel: die SSRF-Ziele verweigern
Die kanonische Egress-Regel verweigert den Cloud-Metadaten-Endpunkt und die privaten RFC-1918-Bereiche — die Ziele, die ein fetch-förmiges Tool nie erreichen sollte. Öffnen Sie in Ihrer Workspace-Konsole eine Policy und fügen Sie eine Regel mitstage egress, Verdikt deny und einer Egress-Liste hinzu:
egress_json ist ein JSON-kodierter String, der die Host/CIDR-Listen
trägt — dekodiert ist es {"deny": [...], "allow": [...]}. Jeder Eintrag
matcht als CIDR, als IP-Literal oder als case-insensitiver
Hostname. Für ein deny-Verdikt ist die deny-Liste die In-Scope-Menge
(Ziele, die die Regel blockiert), und die allow-Liste schnitzt Ausnahmen
heraus — sodass die obige Regel die vier Bereiche blockiert, aber
api.openai.com durchlässt, selbst wenn es je in einen davon auflöste. Wenn
ein Ziel ein Hostname statt eines literalen IP ist und Ihre Liste IP/CIDR-Einträge
trägt, wird der Name nach bestem Bemühen aufgelöst und seine Adressen werden
neu geprüft, sodass metadata.internal immer noch ein 169.254.0.0/16-deny
matcht, obwohl es nicht namentlich gelistet ist.
3. Sie verfassen die CIDR-Regeln — kein Preset liefert sie
Was dastight-Autonomie-Level und sein
block_ssrf_egress-Preset liefern, ist eine Menge von Denies auf den
fetch-förmigen Tool-Namen — http_fetch, web_search, fetch_url,
request plus ihren <server>.<tool>-MCP-Varianten. Das ist eine grobe
Haltung: Sie verweigert die egress-förmigen Tools rundheraus, statt zu scopen,
wohin sie reichen dürfen. Greifen Sie dazu, wenn ein Agent überhaupt nichts mit
Netzwerk-Aufrufen zu tun hat; greifen Sie zu einer Ziel-Regel (§2), wenn er
doch abruft, aber nur von einer genehmigten Menge von Hosts.
| Ansatz | Was es beschränkt | Verfasser |
|---|---|---|
tight-SSRF-Preset | Fetch-förmige Tool-Namen (verweigert sie) | Eingebaut |
| Egress-CIDR/Host-Regel | Das Ziel, das ein Fetch erreichen darf | Sie |
4. Wie ein blockierter Egress aussieht
Wenn ein Ziel auf eine durchsetzende Egress-Regel matcht, wird der Aufruf verweigert, bevor er das Gateway verlässt, und die Auswertung wird als Firewall-Event mit Surfaceegress und Verdikt deny aufgezeichnet. Im
Shadow-Mode wird das deny auf audit
herabgestuft, mit dem Grund vorangestellt [shadow] would …, sodass Sie genau
messen können, welche Ziele eine Regel gegen echten Traffic blockieren würde,
bevor Sie sie durchsetzen.
Eine fehlerhafte oder eintragslose Egress-Liste wird konservativ behandelt:
Eine durchsetzende
deny-Regel gatet trotzdem (ein Tippfehler kann sie nicht
stillschweigend am Blockieren hindern), aber eine allow-Regel mit einer
kaputten Liste feuert nicht — andernfalls würde eine vertippte Allow-List
zu Allow-all und ein Default-Deny überschatten. Neue Regeln werden beim
Speichern validiert (die Liste muss mindestens einen allow- oder deny-Eintrag
deklarieren), sodass dies nur jemals Legacy-Zeilen absichert.5. Aus echtem Traffic verfassen, dann ausrollen
Die Ziele sehen, die Sie tatsächlich erreichen
Die Ziele sehen, die Sie tatsächlich erreichen
Der Events-Log zeichnet den Ziel-Host
auf jedem
egress-Surface-Event auf (egress_host/egress_url), filtern
Sie ihn also auf Surface egress und verfassen Sie Ihre Deny-Liste aus den
Zielen, die tatsächlich auftauchten, statt zu raten. Der Discovered
Tools-Tab ist ein Pro-Tool-Namen-Rollup (Tool-Namen und die Surfaces, auf
denen sie feuerten) — er sagt Ihnen, welche fetch-förmigen Tools liefen,
nicht die Hosts, die sie erreichten. Siehe
Analytics.Ein Verdikt dry-runnen, bevor Sie sich darauf verlassen
Ein Verdikt dry-runnen, bevor Sie sich darauf verlassen
Der Test-Tab der Konsole macht einen Dry-Run einer Policy gegen einen
Beispiel-
tool_name + Surface (+ optionale Args) und gibt das Verdikt, die
gematchte Regel und den Grund zurück — nichts wird dispatcht. Er bestätigt,
welche Regel ein Aufruf auflöst; um Ihre CIDR/Host-Mathematik gegen echte
Ziele zu bestätigen, verwenden Sie den Shadow-Mode unten (die
Test-Payload trägt kein Ziel, sodass das Egress-Listen-Matching auf
Live-Egress-Traffic ausgeübt wird). Siehe
Regeln testen.Live messen mit dem Shadow-Mode
Live messen mit dem Shadow-Mode
Schalten Sie den Shadow-Mode ein, und
das Egress-deny wird geloggt, wie es feuern würde, ohne zu blockieren.
Beobachten Sie den Events-Log gefiltert
auf Surface
egress, bestätigen Sie, dass er die Ziele abfängt, die Sie
erwarten, und schalten Sie dann den Shadow-Mode aus.6. Die Policy anhängen und wer sie bearbeiten kann
Eine Policy tut nichts, bis ein Key auf sie auflöst. Hängen Sie sie in der Konsole an, indem Siefirewall_policy_id auf dem
Key setzen, oder machen Sie die Policy
zum Workspace-Default. Die Auflösung ist: die angehängte Policy des Keys (wenn
sie existiert und aktiviert ist), sonst der Workspace-Default.
Alle Egress-Regel-Konfigurationen laufen in der Konsole unter Ihrer Session
(/api/workspace/firewall/*):
| Aktion | Rolle |
|---|---|
| Policies, Presets, Discovered Tools, Autonomie-Simulate lesen | Member |
| Egress-Regeln und Policies erstellen / bearbeiten / löschen | Developer+ |
Dry-Run-Test-Endpunkt (POST /test) | Developer+ |
| Den Events-Log und Run-Aggregate lesen | Developer+ |
Verwandt
Datenexfiltration
Die Bedrohung, die Egress-Kontrolle adressiert.
Stages
Die vier Surfaces und wo Egress sitzt.
Verdikte
Was deny, audit und allow auf der Leitung tun.
Tools blockieren
Ein Fetch-Tool nach Namen statt nach Ziel verweigern.
Gefährliche Tool-Calls
Die breitere Risikoklasse.
Firewall-Referenz
Die vollständige Regel- + Matching-Referenz, einschließlich Egress-Listen.
