Helm on Kubernetesin paketinhallinta, jotain sellaista apt-get
Ubuntulle. Tässä huomautuksessa näemme ruorin aiemman version (v2), jossa ohjausaisa on oletusarvoisesti asennettuna, jonka kautta pääsemme klusteriin.
Valmistetaan klusteri; tehdäksesi tämän, suorita komento:
kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash
esittely
- Jos et määritä mitään lisäasetuksia, ruori v2 käynnistää ohjauspyöräpalvelun, jossa on RBAC täydellä klusterin järjestelmänvalvojan oikeuksilla.
- Nimiavaruuteen asennuksen jälkeen
kube-system
näyttäätiller-deploy
, ja avaa myös portin 44134, joka on sidottu 0.0.0.0:aan. Tämän voi tarkistaa telnetillä.
$ telnet tiller-deploy.kube-system 44134
- Nyt voit muodostaa yhteyden ohjausaisapalveluun. Käytämme ruorin binaaria toimintojen suorittamiseen kommunikoidessasi ohjausaisapalvelun kanssa:
$ helm --host tiller-deploy.kube-system:44134 version
- Yritetään saada Kubernetes-klusterin salaisuudet nimiavaruudesta
kube-system
:
$ kubectl get secrets -n kube-system
- Nyt voimme luoda oman kaavion, johon luomme roolin järjestelmänvalvojan oikeuksilla ja määritämme tämän roolin oletuspalvelutilille. Tämän palvelutilin tunnuksen avulla saimme täyden käyttöoikeuden klusteriimme.
$ helm --host tiller-deploy.kube-system:44134 install /pwnchart
- Nyt kun
pwnchart
otettu käyttöön, oletuspalvelutilillä on täydet järjestelmänvalvojan käyttöoikeudet. Katsotaanpa uudelleen, kuinka saada salaisuudetkube-system
kubectl get secrets -n kube-system
Tämän skriptin onnistunut suorittaminen riippuu siitä, miten ohjausyksikkö otettiin käyttöön; joskus järjestelmänvalvojat ottavat sen käyttöön erillisessä nimiavaruudessa erilaisilla oikeuksilla. Helm 3 ei ole altis tällaisille haavoittuvuuksille, koska... siinä ei ole ohjainta.
Kääntäjän huomautus: Verkkokäytäntöjen käyttäminen klusterin liikenteen suodattamiseen auttaa suojaamaan tämän tyyppisiltä haavoittuvuuksilta.
Lähde: will.com