Sobes.tech
Middle+

Aké praktiky poznáte na zvýšenie bezpečnosti aplikácie v Kubernetes?

sobes.tech AI

Odpoveď od AI

  • Použitie sieťových politík na kontrolu prevádzky medzi podmi.
  • Uplatnenie kvót zdrojov a rozsahov limitov na obmedzenie spotreby zdrojov podmi.
  • Vypnutie privilegovaného režimu pre kontajnery.
  • Minimalizácia privilégií pridelených službovým účtom.
  • Použitie tajných kľúčov na uloženie citlivých údajov.
  • Pravidelné skenovanie obrazov kontajnerov na zraniteľnosti.
  • Uplatnenie obmedzení bezpečnostného kontextu (SCC) v OpenShift alebo politík bezpečnosti podov (PSP) (zastaralé) / štandardov bezpečnosti podov v čistom Kubernetes.
  • Použitie nástrojov na auditovanie klastru, ako je Kubesec alebo OpenSCAP.
  • Implementácia princípu minimálnych privilégií na úrovni klastru a aplikácií.
  • Segmentácia podov a priestorov mien.
  • Použitie nemennosti pre nasadenia.

Príklad použitia siete politiky:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-frontend-to-backend
spec:
  podSelector:
    matchLabels:
      app: backend # Platí iba pre pody s touto etiketou
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend # Povolenie vstupného prenosu iba z frontend podov
    ports:
    - protocol: TCP
      port: 8080 # Povolenie prenosu iba na tomto porte

Príklad použitia bezpečnostného kontextu:

apiVersion: v1
kind: Pod
metadata:
  name: security-context-demo
spec:
  securityContext:
    runAsUser: 1000 # Spustenie kontajnera ako používateľ s ID 1000
    runAsGroup: 3000 # Spustenie kontajnera ako skupina s ID 3000
    fsGroup: 2000 # Súborový systém bude patriť skupine 2000
  containers:
  - name: sec-ctx-demo
    image: busybox
    command: [ "sh", "-c", "sleep 1h" ]
    securityContext:
      allowPrivilegeEscalation: false # Zakázať eskaláciu privilégií
      readOnlyRootFilesystem: true # Urobiť koreňový súborový systém iba na čítanie