Kubernetes Kyverno bypass

Originalni autor ove stranice je Guillaume

Zloupotreba pogrešne konfiguracije politika

Nabrajanje pravila

Imati pregled može pomoći da se zna koja su pravila aktivna, u kojem režimu i ko može da ih zaobiđe

$ kubectl get clusterpolicies
$ kubectl get policies

Enumerate Excluded

Za svaku ClusterPolicy i Policy, možete navesti listu isključenih entiteta, uključujući:

  • Grupe: excludedGroups

  • Korisnike: excludedUsers

  • Servisne naloge (SA): excludedServiceAccounts

  • Uloge: excludedRoles

  • Klaster Uloge: excludedClusterRoles

Ovi isključeni entiteti će biti oslobođeni zahteva politike, i Kyverno neće sprovoditi politiku za njih.

Example

Hajde da istražimo jedan primer clusterpolicy :

$ kubectl get clusterpolicies MYPOLICY -o yaml

Pogledajte isključene entitete :

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:*

Unutar klastera, brojni dodati komponenti, operateri i aplikacije mogu zahtevati isključenje iz klasterske politike. Međutim, ovo se može iskoristiti ciljanjem privilegovanih entiteta. U nekim slučajevima, može se činiti da prostor imena ne postoji ili da nemate dozvolu da se pretvarate da ste korisnik, što može biti znak pogrešne konfiguracije.

Zloupotreba ValidatingWebhookConfiguration

Još jedan način za zaobilaženje politika je fokusiranje na resurs ValidatingWebhookConfiguration :

Kubernetes ValidatingWebhookConfiguration

Last updated