Kubernetes Kyverno bypass

Die oorspronklike skrywer van hierdie bladsy is Guillaume

Misbruik van beleidsmisconfigurasie

Lys van reëls

Om 'n oorsig te hê, kan help om te weet watter reëls aktief is, in watter modus en wie dit kan omseil

$ kubectl get clusterpolicies
$ kubectl get policies

Enumerate Excluded

Vir elke ClusterPolicy en Policy kan jy 'n lys van uitgeslote entiteite spesifiseer, insluitend:

  • Groepe: excludedGroups

  • Gebruikers: excludedUsers

  • Diensrekeninge (SA): excludedServiceAccounts

  • Rolle: excludedRoles

  • Klasrolle: excludedClusterRoles

Hierdie uitgeslote entiteite sal vrygestel wees van die beleidsvereistes, en Kyverno sal die beleid nie vir hulle afdwing nie.

Example

Kom ons kyk na een clusterpolicy voorbeeld :

$ kubectl get clusterpolicies MYPOLICY -o yaml

Soek na die uitgeslote entiteite :

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

Binnen 'n kluster kan verskeie bygevoegde komponente, operateurs en toepassings uitsluiting van 'n klusterbeleid vereis. Dit kan egter uitgebuit word deur te fokus op bevoorregte entiteite. In sommige gevalle kan dit voorkom asof 'n naamruimte nie bestaan nie of dat jy nie toestemming het om 'n gebruiker na te boots nie, wat 'n teken van miskonfigurasie kan wees.

Misbruik van ValidatingWebhookConfiguration

Nog 'n manier om beleide te omseil, is om op die ValidatingWebhookConfiguration hulpbron te fokus :

Kubernetes ValidatingWebhookConfiguration

Last updated