Kubernetes ValidatingWebhookConfiguration
Ο αρχικός συγγραφέας αυτής της σελίδας είναι Guillaume
Ορισμός
Το ValidatingWebhookConfiguration είναι ένας πόρος του Kubernetes που ορίζει ένα validating webhook, το οποίο είναι ένα συστατικό πλευράς διακομιστή που επικυρώνει τις εισερχόμενες αιτήσεις API του Kubernetes σύμφωνα με ένα σύνολο προκαθορισμένων κανόνων και περιορισμών.
Σκοπός
Ο σκοπός ενός ValidatingWebhookConfiguration είναι να ορίσει ένα validating webhook που θα επιβάλλει ένα σύνολο προκαθορισμένων κανόνων και περιορισμών στις εισερχόμενες αιτήσεις API του Kubernetes. Το webhook θα επικυρώνει τις αιτήσεις σύμφωνα με τους κανόνες και τους περιορισμούς που ορίζονται στη διαμόρφωση και θα επιστρέφει ένα σφάλμα εάν η αίτηση δεν συμμορφώνεται με τους κανόνες.
Παράδειγμα
Ακολουθεί ένα παράδειγμα ενός ValidatingWebhookConfiguration:
Η κύρια διαφορά μεταξύ ενός ValidatingWebhookConfiguration και πολιτικών :
ValidatingWebhookConfiguration (VWC) : Ένας πόρος Kubernetes που ορίζει ένα validating webhook, το οποίο είναι ένα συστατικό πλευράς διακομιστή που επικυρώνει τις εισερχόμενες αιτήσεις API Kubernetes έναντι ενός συνόλου προκαθορισμένων κανόνων και περιορισμών.
Kyverno ClusterPolicy: Μια ορισμός πολιτικής που καθορίζει ένα σύνολο κανόνων και περιορισμών για την επικύρωση και επιβολή πόρων Kubernetes, όπως pods, deployments και services
Enumeration
Κατάχρηση του Kyverno και του Gatekeeper VWC
Όπως μπορούμε να δούμε, όλοι οι εγκατεστημένοι χειριστές έχουν τουλάχιστον μία ValidatingWebHookConfiguration(VWC).
Kyverno και Gatekeeper είναι και οι δύο μηχανές πολιτικής του Kubernetes που παρέχουν ένα πλαίσιο για τον καθορισμό και την επιβολή πολιτικών σε ένα κλάστερ.
Οι εξαιρέσεις αναφέρονται σε συγκεκριμένους κανόνες ή συνθήκες που επιτρέπουν σε μια πολιτική να παρακαμφθεί ή να τροποποιηθεί υπό ορισμένες συνθήκες, αλλά αυτό δεν είναι ο μόνος τρόπος!
Για το kyverno, καθώς υπάρχει μια επικυρωτική πολιτική, ο webhook kyverno-resource-validating-webhook-cfg
είναι γεμάτος.
Για τον Gatekeeper, υπάρχει το YAML αρχείο gatekeeper-validating-webhook-configuration
.
Και τα δύο προέρχονται με προεπιλεγμένες τιμές, αλλά οι ομάδες Διαχειριστών μπορεί να έχουν ενημερώσει αυτά τα 2 αρχεία.
Χρήση Περίπτωσης
Τώρα, προσδιορίστε την παρακάτω έξοδο :
Εδώ, το label kubernetes.io/metadata.name
αναφέρεται στο όνομα του namespace. Τα namespaces με ονόματα στη λίστα values
θα εξαιρεθούν από την πολιτική:
Ελέγξτε την ύπαρξη των namespaces. Μερικές φορές, λόγω αυτοματοποίησης ή κακής ρύθμισης, κάποια namespaces μπορεί να μην έχουν δημιουργηθεί. Αν έχετε άδεια να δημιουργήσετε namespace, μπορείτε να δημιουργήσετε ένα namespace με ένα όνομα στη λίστα values
και οι πολιτικές δεν θα ισχύσουν για το νέο σας namespace.
Ο στόχος αυτής της επίθεσης είναι να εκμεταλλευτεί τη κακή ρύθμιση μέσα στο VWC προκειμένου να παρακάμψει τους περιορισμούς των χειριστών και στη συνέχεια να ανυψώσει τα προνόμιά σας με άλλες τεχνικές.
Abusing Roles/ClusterRoles in KubernetesΑναφορές
Last updated