Sobes.tech
Middle+

Ποιες πρακτικές γνωρίζετε για την αύξηση της ασφάλειας της εφαρμογής στο Kubernetes;

sobes.tech AI

Απάντηση από AI

  • Χρήση πολιτικών δικτύου για τον έλεγχο της κυκλοφορίας μεταξύ των pods.
  • Εφαρμογή ποσοστώσεων πόρων και εύρους ορίων για τον περιορισμό της κατανάλωσης πόρων από τα pods.
  • Απενεργοποίηση λειτουργίας προνομιακής πρόσβασης για κοντέινερ.
  • Ελαχιστοποίηση των προνομίων που αποδίδονται στους λογαριασμούς υπηρεσιών.
  • Χρήση μυστικών για την αποθήκευση ευαίσθητων δεδομένων.
  • Τακτικός σαρώσεις εικόνων κοντέινερ για ευπάθειες.
  • Εφαρμογή περιορισμών ασφαλείας (SCC) στο OpenShift ή πολιτικών ασφαλείας pod (PSP) (παρωχημένες) / πρότυπα ασφαλείας pod σε καθαρό Kubernetes.
  • Χρήση εργαλείων για τον έλεγχο του κλάστερ, όπως Kubesec ή OpenSCAP.
  • Εφαρμογή της αρχής των ελάχιστων προνομίων σε επίπεδο κλάστερ και εφαρμογών.
  • Διαχωρισμός pods και χώρων ονομάτων.
  • Χρήση αμεταβλητότητας για τις αναπτύξεις.

Παράδειγμα χρήσης πολιτικής δικτύου:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-frontend-to-backend
spec:
  podSelector:
    matchLabels:
      app: backend # Εφαρμόζεται μόνο σε pods με αυτήν την ετικέτα
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend # Επιτρέπει εισερχόμενη κυκλοφορία μόνο από pods frontend
    ports:
    - protocol: TCP
      port: 8080 # Επιτρέπει κυκλοφορία μόνο σε αυτήν την πόρτα

Παράδειγμα χρήσης του Security Context:

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 # Κάντε το ριζικό σύστημα αρχείων μόνο για ανάγνωση