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