Przerywanie klastra Kubernetes przy użyciu narzędzia Helm v2

Przerywanie klastra Kubernetes przy użyciu narzędzia Helm v2

Helm to menedżer pakietów dla Kubernetes, coś w tym stylu apt-get dla Ubuntu. W tej nocie zobaczymy poprzednią wersję steru (v2) z domyślnie zainstalowaną usługą rumpla, poprzez którą będziemy mieli dostęp do klastra.

Przygotujmy klaster; w tym celu uruchom komendę:

kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash

Przerywanie klastra Kubernetes przy użyciu narzędzia Helm v2

Demonstracja

  • Jeśli nie skonfigurujesz niczego dodatkowego, Helm v2 uruchomi usługę rumpla, która ma RBAC z pełnymi uprawnieniami administratora klastra.
  • Po instalacji w przestrzeni nazw kube-system pojawia się tiller-deploy, a także otwiera port 44134 powiązany z 0.0.0.0. Można to sprawdzić za pomocą telnetu.

$ telnet tiller-deploy.kube-system 44134

Przerywanie klastra Kubernetes przy użyciu narzędzia Helm v2

  • Teraz możesz połączyć się z usługą rumpla. Będziemy używać binarnego steru do wykonywania operacji podczas komunikacji z obsługą rumpla:

$ helm --host tiller-deploy.kube-system:44134 version

Przerywanie klastra Kubernetes przy użyciu narzędzia Helm v2

  • Spróbujmy uzyskać sekrety klastra Kubernetes z przestrzeni nazw kube-system:

$ kubectl get secrets -n kube-system

Przerywanie klastra Kubernetes przy użyciu narzędzia Helm v2

  • Teraz możemy stworzyć własny wykres, w którym utworzymy rolę z uprawnieniami administratora i przypiszemy tę rolę do domyślnego konta usługi. Korzystając z tokena z tego konta usługi, otrzymaliśmy pełny dostęp do naszego klastra.

$ helm --host tiller-deploy.kube-system:44134 install /pwnchart

Przerywanie klastra Kubernetes przy użyciu narzędzia Helm v2

  • Teraz kiedy pwnchart wdrożone, domyślne konto usługi ma pełny dostęp administracyjny. Sprawdźmy jeszcze raz jak zdobyć sekrety kube-system

kubectl get secrets -n kube-system

Przerywanie klastra Kubernetes przy użyciu narzędzia Helm v2

Pomyślne wykonanie tego skryptu zależy od sposobu wdrożenia Tillera; czasami administratorzy wdrażają go w osobnej przestrzeni nazw z różnymi uprawnieniami. Helm 3 nie jest podatny na takie luki, ponieważ... nie ma w nim rumpla.

Uwaga tłumacza: Korzystanie z zasad sieciowych do filtrowania ruchu w klastrze pomaga chronić przed tego typu lukami.

Źródło: www.habr.com

Dodaj komentarz