Хелм е менаџер на пакети за Kubernetes, нешто слично apt-get
за Ubuntu. Во оваа белешка ќе ја видиме претходната верзија на кормилото (v2) со стандардно инсталирана услуга за вртење, преку која ќе пристапиме до кластерот.
Ајде да го подготвиме кластерот; за да го направите ова, извршете ја командата:
kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash
Демонстрација
- Ако не конфигурирате ништо дополнително, кормилото v2 ја стартува услугата за вртење, која има RBAC со целосни администраторски права на кластерот.
- По инсталацијата во именскиот простор
kube-system
се појавуваtiller-deploy
, а исто така ја отвора портата 44134, врзана за 0.0.0.0. Ова може да се провери со помош на телнет.
$ telnet tiller-deploy.kube-system 44134
- Сега можете да се поврзете со сервисот за молзење. Ќе го користиме бинарното кормило за да извршиме операции кога комуницираме со службата за монтирање:
$ helm --host tiller-deploy.kube-system:44134 version
- Ајде да се обидеме да ги добиеме тајните на кластерот Kubernetes од именскиот простор
kube-system
:
$ kubectl get secrets -n kube-system
- Сега можеме да создадеме сопствен графикон, во кој ќе создадеме улога со администраторски права и ќе ја доделиме оваа улога на стандардната сметка на услугата. Користејќи го токенот од оваа сметка на услугата, добивме целосен пристап до нашиот кластер.
$ helm --host tiller-deploy.kube-system:44134 install /pwnchart
- Сега кога
pwnchart
распоредена, стандардната сметка за услуга има целосен административен пристап. Ајде повторно да провериме како да добиеме тајни одkube-system
kubectl get secrets -n kube-system
Успешното извршување на оваа скрипта зависи од тоа како бил распореден tiller; понекогаш администраторите го распоредуваат во посебен именски простор со различни привилегии. Helm 3 не е подложен на такви ранливости бидејќи ... во него нема копач.
Забелешка на преведувачот: Користењето мрежни политики за филтрирање на сообраќајот во кластер помага да се заштитите од овој тип на пропусти.
Извор: www.habr.com