Middle+
Quali pratiche conosci per migliorare la sicurezza dell'applicazione in Kubernetes?
sobes.tech AI
Risposta dell'AI
- Utilizzo delle politiche di rete per controllare il traffico tra i pod.
- Applicazione di quote di risorse e limiti di intervallo per limitare il consumo di risorse dei pod.
- Disattivazione della modalità privilegiata per i container.
- Minimizzazione dei privilegi concessi agli account di servizio.
- Uso di segreti per memorizzare dati sensibili.
- Scansione regolare delle immagini dei container alla ricerca di vulnerabilità.
- Applicazione di restrizioni di contesto di sicurezza (SCC) in OpenShift o politiche di sicurezza dei pod (PSP) (obsoleti) / standard di sicurezza dei pod in Kubernetes puro.
- Uso di strumenti per l'audit del cluster, come Kubesec o OpenSCAP.
- Implementazione del principio del minimo privilegio a livello di cluster e applicazioni.
- Segmentazione dei pod e degli spazi dei nomi.
- Uso dell'immutabilità per i deployment.
Esempio di utilizzo della policy di rete:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend-to-backend
spec:
podSelector:
matchLabels:
app: backend # Si applica solo ai pod con questa etichetta
ingress:
- from:
- podSelector:
matchLabels:
app: frontend # Permette il traffico in ingresso solo dai pod frontend
ports:
- protocol: TCP
port: 8080 # Permette il traffico solo su questa porta
Esempio di utilizzo del contesto di sicurezza:
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000 # Eseguire il container come utente con ID 1000
runAsGroup: 3000 # Eseguire il container come gruppo con ID 3000
fsGroup: 2000 # Il sistema di file appartiene al gruppo 2000
containers:
- name: sec-ctx-demo
image: busybox
command: [ "sh", "-c", "sleep 1h" ]
securityContext:
allowPrivilegeEscalation: false # Vietare l'aumento dei privilegi
readOnlyRootFilesystem: true # Rendere il filesystem root di sola lettura