Sobes.tech
Middle+

Kādas prakses jūs zināt, lai uzlabotu lietojumprogrammas drošību Kubernetes?

sobes.tech AI

Atbilde no AI

  • Izmantojiet tīkla politiku, lai kontrolētu trafiku starp podiem.
  • Pielietojiet resursu kvotas un limitus, lai ierobežotu podu resursu patēriņu.
  • Atspējojiet privilēģētu režīmu konteineriem.
  • Samaziniet piešķirtās tiesības Service Accounts.
  • Izmantojiet slepenos datus, lai glabātu jutīgas informācijas.
  • Regulāri skenējiet konteineru attēlus ievainojamībām.
  • Pielietojiet Security Context Constraints (SCC) OpenShift vai Pod Security Policies (PSP) (novecojušas) / Pod Security Standards Kubernetes.
  • Izmantojiet klastera audita rīkus, piemēram, Kubesec vai OpenSCAP.
  • Ieviesiet minimālo privilēģiju principu klasterī un lietojumprogrammās.
  • Segmentējiet podus un nosaukumu telpas.
  • Izmantojiet nemainīguma principu izvietojumos.

Piemērs, kā izmantot tīkla politiku:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-frontend-to-backend
spec:
  podSelector:
    matchLabels:
      app: backend # Tiek piemērots tikai podiem ar šo marķējumu
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend # Atļauj ienākošo trafiku tikai no frontend podiem
    ports:
    - protocol: TCP
      port: 8080 # Atļauj trafiku tikai uz šo portu

Piemērs, kā izmantot drošības kontekstu:

apiVersion: v1
kind: Pod
metadata:
  name: security-context-demo
spec:
  securityContext:
    runAsUser: 1000 # Palaist pod ar lietotāja ID 1000
    runAsGroup: 3000 # Palaist ar grupas ID 3000
    fsGroup: 2000 # Failu sistēma piederēs grupai 2000
  containers:
  - name: sec-ctx-demo
    image: busybox
    command: [ "sh", "-c", "sleep 1h" ]
    securityContext:
      allowPrivilegeEscalation: false # Aizliegt privilēģiju paaugstināšanu
      readOnlyRootFilesystem: true # Padarīt saknes failu sistēmu tikai lasāmu