1.9 KiB
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
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
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