Sobes.tech
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