Middle+
Ce practici cunoști pentru a îmbunătăți securitatea aplicației în Kubernetes?
sobes.tech AI
Răspuns de la AI
- Utilizarea politicilor de rețea pentru controlul traficului între pod-uri.
- Aplicarea cotelor de resurse și a intervalelor de limite pentru a restricționa consumul de resurse al pod-urilor.
- Dezactivarea modului privilegiat pentru containere.
- Minimizarea privilegiilor acordate conturilor de serviciu.
- Utilizarea secretelor pentru stocarea datelor sensibile.
- Scanarea regulată a imaginilor containerelor pentru vulnerabilități.
- Aplicarea constrângerilor de context de securitate (SCC) în OpenShift sau a politicilor de securitate ale podurilor (PSP) (învechite) / standarde de securitate ale podurilor în Kubernetes pur.
- Utilizarea instrumentelor pentru auditul clusterului, precum Kubesec sau OpenSCAP.
- Implementarea principiului privilegiilor minime la nivel de cluster și aplicații.
- Segmentarea podurilor și a spațiilor de nume.
- Utilizarea imutabilității pentru implementări.
Exemplu de utilizare a politicii de rețea:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend-to-backend
spec:
podSelector:
matchLabels:
app: backend # Se aplică doar podurilor cu această etichetă
ingress:
- from:
- podSelector:
matchLabels:
app: frontend # Permite traficul de intrare doar de la podurile frontend
ports:
- protocol: TCP
port: 8080 # Permite traficul doar pe acest port
Exemplu de utilizare a contextului de securitate:
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000 # Rulare container ca utilizator cu ID 1000
runAsGroup: 3000 # Rulare container ca grup cu ID 3000
fsGroup: 2000 # Sistemul de fișiere va aparține grupului 2000
containers:
- name: sec-ctx-demo
image: busybox
command: [ "sh", "-c", "sleep 1h" ]
securityContext:
allowPrivilegeEscalation: false # Interzice escaladarea privilegiilor
readOnlyRootFilesystem: true # Face sistemul de fișiere rădăcină doar pentru citire