Sobes.tech
Middle+

Koje prakse poznajete za povećanje sigurnosti aplikacije u Kubernetesu?

sobes.tech АИ

Одговор од АИ

  • Користите мрежне политике за контролу саобраћаја између подова.
  • Примењују се квоте ресурса и опсези лимита за ограничење потрошње ресурса од стране подова.
  • Искључивање привилегованог режима за контејнере.
  • Минимализација привилегија додељених рачунима услуга.
  • Коришћење тајни за чување осетљивих података.
  • Регуларно скенирање слика контејнера на рањивости.
  • Примењују се ограничења безбедносног контекста (SCC) у OpenShift-у или политике безбедности подова (PSP) (старе) / стандарди безбедности подова у чистом Kubernetes-у.
  • Коришћење алата за аудит кластер, као што су Kubesec или OpenSCAP.
  • Имплементација принципа најмањих привилегија на нивоу кластера и апликација.
  • Сегментација подова и простора имена.
  • Коришћење неизменљивости за деплойменте.

Пример коришћења мрежне политике:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-frontend-to-backend
spec:
  podSelector:
    matchLabels:
      app: backend # Примењује се само на подове са овом етикетом
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend # Дозвољава улазни саобраћај само од подова frontend
    ports:
    - protocol: TCP
      port: 8080 # Дозвољава саобраћај само на овом портуу

Пример коришћења безбедносног контекста:

apiVersion: v1
kind: Pod
metadata:
  name: security-context-demo
spec:
  securityContext:
    runAsUser: 1000 # Извршавање контејнера као корисник са ID-јем 1000
    runAsGroup: 3000 # Извршавање контејнера као група са ID-јем 3000
    fsGroup: 2000 # Фајл систем ће припадати групи 2000
  containers:
  - name: sec-ctx-demo
    image: busybox
    command: [ "sh", "-c", "sleep 1h" ]
    securityContext:
      allowPrivilegeEscalation: false # Забрана повећања привилегија
      readOnlyRootFilesystem: true # Направити коренски фајл систем само за читање