Kubernetes Kyverno
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
El autor original de esta página es Guillaume
Definición
Kyverno es un marco de gestión de políticas de código abierto para Kubernetes que permite a las organizaciones definir, hacer cumplir y auditar políticas en toda su infraestructura de Kubernetes. Proporciona una solución escalable, extensible y altamente personalizable para gestionar la seguridad, el cumplimiento y la gobernanza de los clústeres de Kubernetes.
Casos de uso
Kyverno se puede utilizar en una variedad de casos de uso, incluyendo:
- Aplicación de Políticas de Red: Kyverno se puede utilizar para hacer cumplir políticas de red, como permitir o bloquear el tráfico entre pods o servicios.
- Gestión de Secretos: Kyverno se puede utilizar para hacer cumplir políticas de gestión de secretos, como requerir que los secretos se almacenen en un formato o ubicación específicos.
- Control de Acceso: Kyverno se puede utilizar para hacer cumplir políticas de control de acceso, como requerir que los usuarios tengan roles o permisos específicos para acceder a ciertos recursos.
Ejemplo: ClusterPolicy y Policy
Supongamos que tenemos un clúster de Kubernetes con múltiples namespaces, y queremos hacer cumplir una política que requiere que todos los pods en el namespace default tengan una etiqueta específica.
ClusterPolicy
Una ClusterPolicy es una política de alto nivel que define la intención general de la política. En este caso, nuestra ClusterPolicy podría verse así:
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
Cuando se crea un pod en el default namespace sin la etiqueta app: myapp, Kyverno bloqueará la solicitud y devolverá un mensaje de error indicando que el pod no cumple con los requisitos de la política.
Referencias
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

