Kubernetes Hardening

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Εργαλεία για ανάλυση ενός cluster

Το Kubescape είναι ένα εργαλείο ανοιχτού κώδικα για το K8s που παρέχει μια πολυ-νέφους προβολή του K8s, περιλαμβάνοντας ανάλυση κινδύνου, συμμόρφωση με την ασφάλεια, οπτικοποίηση RBAC και σάρωση ευπαθειών εικόνας. Το Kubescape σαρώνει τα clusters K8s, τα αρχεία YAML και τα charts HELM, ανιχνεύοντας ανεπάρκειες σύμφωνα με πολλά πλαίσια (όπως το NSA-CISA, MITRE ATT&CK®), ευπαθείες λογισμικού και παραβιάσεις RBAC (role-based-access-control) στα αρχικά στάδια του CI/CD pipeline, υπολογίζει αμέσως τον βαθμό κινδύνου και εμφανίζει τις τάσεις κινδύνου με την πάροδο του χρόνου.

kubescape scan --verbose

Το εργαλείο kube-bench είναι ένα εργαλείο που ελέγχει εάν το Kubernetes είναι εγκατεστημένο με ασφάλεια εκτελώντας τους ελέγχους που καταγράφονται στο CIS Kubernetes Benchmark. Μπορείτε να επιλέξετε να:

  • εκτελέσετε το kube-bench από μέσα σε ένα container (κοινή χρήση του PID namespace με τον host)

  • εκτελέσετε ένα container που εγκαθιστά το kube-bench στον host και στη συνέχεια να εκτελέσετε το kube-bench απευθείας στον host

  • εγκαταστήσετε τις πιο πρόσφατες δυαδικές εκδόσεις από τη σελίδα Κυκλοφορίας,

  • το μεταγλωττίσετε από τον πηγαίο κώδικα.

Το εργαλείο kubeaudit είναι ένα εργαλείο γραμμής εντολών και ένα πακέτο Go για ελέγχο ασφάλειας Kubernetes clusters για διάφορα θέματα ασφάλειας.

Το kubeaudit μπορεί να ανιχνεύσει εάν εκτελείται εντός ενός container σε ένα cluster. Σε αυτή την περίπτωση, θα προσπαθήσει να ελέγξει όλους τους πόρους Kubernetes σε αυτό το cluster:

kubeaudit all

Αυτό το εργαλείο έχει επίσης το όρισμα autofix για να διορθώνει αυτόματα τα εντοπισμένα προβλήματα.

Το εργαλείο kube-hunter κυνηγά αδυναμίες ασφαλείας σε συστάδες Kubernetes. Το εργαλείο αναπτύχθηκε για να αυξήσει την ευαισθητοποίηση και την ορατότητα για θέματα ασφαλείας σε περιβάλλοντα Kubernetes.

kube-hunter --remote some.node.com

Kubei είναι ένα εργαλείο σάρωσης ευπαθειών και ελέγχου CIS Docker που επιτρέπει στους χρήστες να λάβουν μια ακριβή και άμεση αξιολόγηση κινδύνου για τα κατάλυματα Kubernetes τους. Το Kubei σαρώνει όλες τις εικόνες που χρησιμοποιούνται σε ένα κατάλυμα Kubernetes, συμπεριλαμβανομένων των εικόνων των εφαρμογών και των συστημικών πόδων.

KubiScan είναι ένα εργαλείο για τη σάρωση ενός καταλύματος Kubernetes για επικίνδυνες άδειες στο μοντέλο εξουσιοδότησης Role-based access control (RBAC) του Kubernetes.

Ελεγχος κώδικα IaC

Popeye είναι ένα εργαλείο που σαρώνει ζωντανό κατάλυμα Kubernetes και αναφέρει πιθανά προβλήματα με τους πόρους και τις διαμορφώσεις που έχουν αναπτυχθεί. Καθαρίζει το κατάλυμα σας με βάση αυτό που έχει αναπτυχθεί και όχι αυτό που βρίσκεται στον δίσκο. Με τη σάρωση του καταλύματός σας, ανιχνεύει μη σωστές διαμορφώσεις και σας βοηθά να εξασφαλίσετε ότι τηρούνται οι βέλτιστες πρακτικές, αποτρέποντας έτσι μελλοντικά προβλήματα. Στοχεύει στη μείωση του γνωστικού φόρτου που αντιμετωπίζει κανείς κατά τη λειτουργία ενός καταλύματος Kubernetes στον πραγματικό κόσμο. Επιπλέον, αν ο κατάλυμά σας χρησιμοποιεί έναν μετρητή μετρήσεων, αναφέρει πιθανές υπερβολικές/ανεπαρκείς πόρους και προσπαθεί να σας προειδοποιήσει αν το κατάλυμά σας εξαντλήσει τη χωρητικότητά του.

KICS εντοπίζει ευπαθείες ασφάλειας, προβλήματα συμμόρφωσης και λανθασμένες διαμορφώσεις υποδομής στις ακόλουθες λύσεις Υποδομής ως Κώδικα: Terraform, Kubernetes, Docker, AWS CloudFormation, Ansible, Helm, Microsoft ARM και προδιαγραφές OpenAPI 3.0

Checkov είναι ένα εργαλείο ανάλυσης στατικού κώδικα για υποδομή-ως-κώδικα.

Σαρώνει την υποδομή στον νέφος που παρέχεται χρησιμοποιώντας Terraform, Terraform plan, Cloudformation, AWS SAM, Kubernetes, Dockerfile, Serverless ή ARM Templates και ανιχνεύει λανθασμένες διαμορφώσεις ασφάλειας και συμμόρφωσης χρησιμοποιώντας σάρωση βασισμένη σε γράφους.

kube-score είναι ένα εργαλείο που πραγματοποιεί ανάλυση στατικού κώδικα των ορισμών αντικειμένων Kubernetes σας.

Για να εγκαταστήσετε:

ΔιανομήΕντολή / Σύνδεσμος

Προεπιλεγμένες δυαδικές εκδόσεις για macOS, Linux και Windows

Docker

docker pull zegl/kube-score (Docker Hub)

Homebrew (macOS και Linux)

brew install kube-score

Krew (macOS και Linux)

kubectl krew install score

Συμβουλές

Kubernetes PodSecurityContext και SecurityContext

Μπορείτε να διαμορφώσετε το περιβάλλον ασφάλειας των Pods (με το PodSecurityContext) και των δοχείων που θα εκτελεστούν (με το SecurityContext). Για περισσότερες πληροφορίες διαβάστε:

pageKubernetes SecurityContext(s)

Ενίσχυση του Kubernetes API

Είναι πολύ σημαντικό να προστατεύετε την πρόσβαση στον Kubernetes Api Server, καθώς ένας κακόβουλος χρήστης με επαρκή δικαιώματα μπορεί να το καταχραστεί και να προκαλέσει ζημιά στο περιβάλλον. Είναι σημαντικό να ασφαλίζετε τόσο την πρόσβαση (λευκή λίστα προέλευσης για πρόσβαση στον API Server και απόρριψη οποιασδήποτε άλλης σύνδεσης) όσο και την πιστοποίηση (ακολουθώντας την αρχή του λιγότερου προνομίου). Και σίγουρα ποτέ μην επιτρέπετε ανώνυμες αιτήσεις.

Κοινή διαδικασία αιτήματος: Χρήστης ή K8s ServiceAccount –> Πιστοποίηση –> Εξουσιοδότηση –> Έλεγ

apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000
runAsGroup: 3000
fsGroup: 2000
volumes:
- name: sec-ctx-vol
emptyDir: {}
containers:
- name: sec-ctx-demo
image: busybox
command: [ "sh", "-c", "sleep 1h" ]
securityContext:
runAsNonRoot: true
volumeMounts:
- name: sec-ctx-vol
mountPath: /data/demo
securityContext:
allowPrivilegeEscalation: true

Γενική Ενίσχυση

Θα πρέπει να ενημερώνετε το περιβάλλον σας Kubernetes τακτικά για να έχετε:

  • Ενημερωμένες εξαρτήσεις.

  • Διορθώσεις σφαλμάτων και ασφάλειας.

Κύκλοι κυκλοφορίας: Κάθε 3 μήνες υπάρχει μια νέα μικρή έκδοση -- 1.20.3 = 1(Μείζονας).20(Ελάσσονας).3(διόρθωση)

Ο καλύτερος τρόπος για να ενημερώσετε ένα Kubernetes Cluster είναι (από εδώ):

  • Αναβαθμίστε τα στοιχεία του Master Node ακολουθώντας αυτήν την ακολουθία:

  • etcd (όλες οι περιπτώσεις).

  • kube-apiserver (όλοι οι hosts του control plane).

  • kube-controller-manager.

  • kube-scheduler.

  • cloud controller manager, αν χρησιμοποιείτε έναν.

  • Αναβαθμίστε τα στοιχεία του Worker Node, όπως το kube-proxy, kubelet.

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated