initial commit
This commit is contained in:
90
08-Słownik-K8s/NetworkPolicy.md
Normal file
90
08-Słownik-K8s/NetworkPolicy.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# 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]]
|
||||
Reference in New Issue
Block a user