Helm is 'n pakketbestuurder vir Kubernetes, iets soos apt-get
vir Ubuntu. In hierdie nota sal ons die vorige weergawe van stuur (v2) sien met die stuurstangdiens by verstek geïnstalleer, waardeur ons toegang tot die groep sal kry.
Kom ons berei die cluster voor; Om dit te doen, voer die opdrag uit:
kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash
Demonstrasie
- As jy niks bykomende konfigureer nie, begin helm v2 die helmstokdiens, wat RBAC het met volle trosadministrateurregte.
- Na installasie in naamruimte
kube-system
verskyntiller-deploy
, en maak ook poort 44134 oop, gebind aan 0.0.0.0. Dit kan met telnet nagegaan word.
$ telnet tiller-deploy.kube-system 44134
- Nou kan jy aan die disseldiens koppel. Ons sal die stuur binêr gebruik om bedrywighede uit te voer wanneer ons met die disseldiens kommunikeer:
$ helm --host tiller-deploy.kube-system:44134 version
- Kom ons probeer om die Kubernetes-klustergeheime uit naamruimte te kry
kube-system
:
$ kubectl get secrets -n kube-system
- Nou kan ons ons eie grafiek skep, waarin ons 'n rol met administrateurregte sal skep en hierdie rol sal toewys aan die verstekdiensrekening. Deur die teken van hierdie diensrekening te gebruik, het ons volle toegang tot ons groepie ontvang.
$ helm --host tiller-deploy.kube-system:44134 install /pwnchart
- Nou wanneer
pwnchart
ontplooi is, het die verstekdiensrekening volle administratiewe toegang. Kom ons kyk weer hoe om geheime van te krykube-system
kubectl get secrets -n kube-system
Suksesvolle uitvoering van hierdie skrif hang af van hoe die stuurpen ontplooi is; soms ontplooi administrateurs dit in 'n aparte naamruimte met verskillende voorregte. Helm 3 is nie vatbaar vir sulke kwesbaarhede nie, want... daar is geen dissel in nie.
Vertaler se nota: Deur netwerkbeleide te gebruik om verkeer in 'n groepie te filter, help dit om teen hierdie tipe kwesbaarhede te beskerm.
Bron: will.com