Files
obsidian-sympozium/08-Słownik-K8s/NetworkPolicy.md
2026-03-25 00:05:57 +01:00

91 lines
1.9 KiB
Markdown

# NetworkPolicy
#kubernetes #security #network #słownik
## Co to jest?
**NetworkPolicy** to zasób Kubernetes definiujący **reguły firewalla na poziomie podów**. Kontroluje jaki ruch sieciowy (ingress/egress) jest dozwolony do/z podów.
## Domyślne zachowanie
Bez NetworkPolicy: **wszystko jest dozwolone** - każdy pod może komunikować się z każdym innym podem i z internetem.
Z NetworkPolicy: reguły definiują whitelist - ruch nie pasujący do żadnej reguły jest **blokowany**.
## Przykład deny-all
```yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all-egress
spec:
podSelector:
matchLabels:
sympozium.ai/component: agent
policyTypes:
- Egress
egress: [] # Pusty = BLOCK ALL
```
## Przykład z wyjątkami
```yaml
spec:
podSelector:
matchLabels:
sympozium.ai/component: agent
policyTypes:
- Egress
egress:
# Pozwól DNS
- to:
- namespaceSelector: {}
ports:
- port: 53
protocol: UDP
# Pozwól NATS
- to:
- podSelector:
matchLabels:
app: nats
ports:
- port: 4222
```
## Wymagania
NetworkPolicy wymaga **CNI plugin** wspierającego Network Policies:
- Calico
- Cilium
- Weave Net
- Antrea
**Flannel** domyślnie NIE wspiera NetworkPolicy.
## Użycie w Sympozium
Sympozium używa NetworkPolicy do **izolacji agent podów**:
```
Agent pod:
Egress: DENY ALL
Wyjątki:
- DNS (UDP 53)
- NATS event bus (TCP 4222)
- Skonfigurowane egress rules z SympoziumPolicy
```
Dzięki temu agent nie może:
- Sięgnąć do internetu
- Komunikować się z innymi podami
- Exfiltrować danych
Jedyny punkt wyjścia to IPC Bridge → NATS (kontrolowany kanał).
Więcej: [[NetworkPolicy i izolacja sieciowa]]
---
Powiązane: [[NetworkPolicy i izolacja sieciowa]] | [[SympoziumPolicy]] | [[Model bezpieczeństwa Defence-in-Depth]]