Kubernetes Kyverno
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Ο αρχικός συγγραφέας αυτής της σελίδας είναι Guillaume
Ορισμός
Το Kyverno είναι ένα ανοιχτού κώδικα, πλαίσιο διαχείρισης πολιτικών για το Kubernetes που επιτρέπει στους οργανισμούς να ορίζουν, να επιβάλλουν και να ελέγχουν πολιτικές σε όλη την υποδομή Kubernetes τους. Παρέχει μια κλιμακούμενη, επεκτάσιμη και εξαιρετικά προσαρμόσιμη λύση για τη διαχείριση της ασφάλειας, της συμμόρφωσης και της διακυβέρνησης των κλάστερ Kubernetes.
Χρήσεις
Το Kyverno μπορεί να χρησιμοποιηθεί σε μια ποικιλία περιπτώσεων χρήσης, συμπεριλαμβανομένων:
- Επιβολή Πολιτικής Δικτύου: Το Kyverno μπορεί να χρησιμοποιηθεί για την επιβολή πολιτικών δικτύου, όπως η επιτρεπόμενη ή η αποκλεισμένη κυκλοφορία μεταξύ pods ή υπηρεσιών.
- Διαχείριση Μυστικών: Το Kyverno μπορεί να χρησιμοποιηθεί για την επιβολή πολιτικών διαχείρισης μυστικών, όπως η απαίτηση τα μυστικά να αποθηκεύονται σε συγκεκριμένη μορφή ή τοποθεσία.
- Έλεγχος Πρόσβασης: Το Kyverno μπορεί να χρησιμοποιηθεί για την επιβολή πολιτικών ελέγχου πρόσβασης, όπως η απαίτηση οι χρήστες να έχουν συγκεκριμένους ρόλους ή δικαιώματα για να αποκτούν πρόσβαση σε ορισμένους πόρους.
Παράδειγμα: ClusterPolicy και Πολιτική
Ας υποθέσουμε ότι έχουμε ένα κλάστερ Kubernetes με πολλαπλά namespaces, και θέλουμε να επιβάλουμε μια πολιτική που απαιτεί όλα τα pods στο default namespace να έχουν μια συγκεκριμένη ετικέτα.
ClusterPolicy
Μια ClusterPolicy είναι μια πολιτική υψηλού επιπέδου που ορίζει τη συνολική πρόθεση της πολιτικής. Σε αυτή την περίπτωση, η ClusterPolicy μας μπορεί να μοιάζει με αυτό:
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: require-label
spec:
rules:
- validate:
message: "Pods in the default namespace must have the label 'app: myapp'"
match:
any:
- resources:
kinds:
- Pod
namespaceSelector:
matchLabels:
namespace: default
- any:
- resources:
kinds:
- Pod
namespaceSelector:
matchLabels:
namespace: default
validationFailureAction: enforce
Όταν δημιουργείται ένα pod στο default namespace χωρίς την ετικέτα app: myapp, η Kyverno θα μπλοκάρει το αίτημα και θα επιστρέψει ένα μήνυμα σφάλματος που υποδεικνύει ότι το pod δεν πληροί τις απαιτήσεις πολιτικής.
Αναφορές
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

