# Kubernetes Kyverno bypass

**L'auteur original de cette page est** [**Guillaume**](https://www.linkedin.com/in/guillaume-chapela-ab4b9a196)

## Abuser des erreurs de configuration des politiques

### Énumérer les règles

Avoir un aperçu peut aider à savoir quelles règles sont actives, dans quel mode et qui peut les contourner.
```bash
$ kubectl get clusterpolicies
$ kubectl get policies
```
### Énumérer les Exclusions

Pour chaque ClusterPolicy et Policy, vous pouvez spécifier une liste d'entités exclues, y compris :

- Groupes : `excludedGroups`
- Utilisateurs : `excludedUsers`
- Comptes de service (SA) : `excludedServiceAccounts`
- Rôles : `excludedRoles`
- Rôles de cluster : `excludedClusterRoles`

Ces entités exclues seront exemptées des exigences de la politique, et Kyverno n'appliquera pas la politique pour elles.

## Exemple&#x20;

Examinons un exemple de clusterpolicy :&#x20;
```
$ kubectl get clusterpolicies MYPOLICY -o yaml
```
Recherchez les entités exclues :&#x20;
```yaml
exclude:
any:
- clusterRoles:
- cluster-admin
- subjects:
- kind: User
name: system:serviceaccount:DUMMYNAMESPACE:admin
- kind: User
name: system:serviceaccount:TEST:thisisatest
- kind: User
name: system:serviceaccount:AHAH:*
```
Dans un cluster, de nombreux composants, opérateurs et applications ajoutés peuvent nécessiter une exclusion d'une politique de cluster. Cependant, cela peut être exploité en ciblant des entités privilégiées. Dans certains cas, il peut sembler qu'un espace de noms n'existe pas ou que vous n'ayez pas la permission d'usurper un utilisateur, ce qui peut être un signe de mauvaise configuration.

## Abuser de ValidatingWebhookConfiguration

Une autre façon de contourner les politiques est de se concentrer sur la ressource ValidatingWebhookConfiguration :&#x20;

{{#ref}}
../kubernetes-validatingwebhookconfiguration.md
{{#endref}}
