Ojačavanje Kubernetes-a
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Alati za analizu klastera
Steampipe - Kubernetes Compliance
Obavlja više provera usklađenosti nad Kubernetes klasterom. Uključuje podršku za CIS, National Security Agency (NSA) i Cybersecurity and Infrastructure Security Agency (CISA) tehničke izveštaje za ojačavanje Kubernetes-a.
# Install Steampipe
brew install turbot/tap/powerpipe
brew install turbot/tap/steampipe
steampipe plugin install kubernetes
# Start the service
steampipe service start
# Install the module
mkdir dashboards
cd dashboards
powerpipe mod init
powerpipe mod install github.com/turbot/steampipe-mod-kubernetes-compliance
# Run the module
powerpipe server
Kubescape
Kubescape je open-source alat za K8s koji pruža multi-cloud jedinstveni pregled K8s okruženja, uključujući analizu rizika, usklađenost bezbednosti, RBAC vizualizator i skeniranje ranjivosti image-a. Kubescape skenira K8s klastere, YAML fajlove i HELM charts, detektuje pogrešne konfiguracije u skladu sa više framework-a (kao što su NSA-CISA , MITRE ATT&CK®), softverske ranjivosti i RBAC (role-based-access-control) prekršaje u ranim fazama CI/CD pipeline-a, odmah izračunava ocenu rizika i prikazuje trendove rizika tokom vremena.
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
kubescape scan --verbose
Popeye
Popeye je utility koja skenira živi Kubernetes cluster i izveštava o potencijalnim problemima sa raspoređenim resursima i konfiguracijama. Sanitizuje vaš klaster na osnovu onoga što je raspoređeno, a ne onoga što se nalazi na disku. Skeniranjem klastera detektuje misconfigurations i pomaže vam da osigurate primenu best practices, čime se sprečavaju buduće glavobolje. Cilj mu je da smanji kognitivni _over_load sa kojim se susrećete pri radu sa Kubernetes klasterom u stvarnom okruženju. Pored toga, ako vaš klaster koristi metric-server, izveštava o potencijalnim prekomernim/premalim alokacijama resursa i pokušava da vas upozori ako vaš klaster ostane bez kapaciteta.
Kube-bench
The tool kube-bench is a tool that checks whether Kubernetes is deployed securely by running the checks documented in the CIS Kubernetes Benchmark.
Možete izabrati da:
- pokrenete kube-bench iz kontejnera (deleći PID namespace sa host-om)
- pokrenete kontejner koji instalira kube-bench na hostu, a zatim pokrenete kube-bench direktno na hostu
- instalirate najnovije binarne fajlove sa Releases page,
- kompajlirate ga iz izvornog koda.
Kubeaudit
[DEPRECATED] The tool kubeaudit is a command line tool and a Go package to audit Kubernetes clusters for various different security concerns.
Kubeaudit može da detektuje da li se pokreće unutar kontejnera u klasteru. Ako je tako, pokušaće da audit-uje sve Kubernetes resurse u tom klasteru:
kubeaudit all
Ovaj alat takođe ima argument autofix za automatsko ispravljanje otkrivenih problema.
Kube-hunter
[DEPRECATED] Alat kube-hunter otkriva bezbednosne slabosti u Kubernetes klasterima. Alat je razvijen da poveća svest i vidljivost bezbednosnih problema u Kubernetes okruženjima.
kube-hunter --remote some.node.com
Trivy
Trivy ima skenere koji traže bezbednosne probleme i ciljeve gde može da pronađe te probleme:
- Image kontejnera
- Fajl sistem
- Git Repository (remote)
- Image virtuelne mašine
- Kubernetes
Kubei
Izgleda da nije održavan
Kubei je alat za skeniranje ranjivosti i CIS Docker benchmark koji omogućava korisnicima da dobiju tačnu i trenutnu procenu rizika svojih Kubernetes klastera. Kubei skenira sve image-e koji se koriste u Kubernetes klasteru, uključujući image-e aplikacionih i sistemskih pods-a.
KubiScan
KubiScan je alat za skeniranje Kubernetes klastera u potrazi za rizičnim dozvolama u Kubernetes-ovom Role-based access control (RBAC) modelu autorizacije.
Managed Kubernetes Auditing Toolkit
Mkat je alat napravljen da testira druge tipove visokorizičnih provera u poređenju sa ostalim alatima. Uglavnom ima 3 različita moda:
find-role-relationships: Koji će pronaći koji AWS role se pokreću u kojim pods-imafind-secrets: Koji pokušava da identifikuje secrets u K8s resursima kao što su Pods, ConfigMaps i Secrets.test-imds-access: Koji će pokušati da pokrene podove i pokuša da pristupi metadata v1 i v2. UPOZORENJE: Ovo će pokrenuti pod u klasteru, budite veoma oprezni jer možda ne želite da ovo uradite!
Audit IaC Code
KICS
KICS pronalazi bezbednosne ranjivosti, probleme usklađenosti i pogrešne konfiguracije infrastrukture u sledećim Infrastructure as Code rešenjima: Terraform, Kubernetes, Docker, AWS CloudFormation, Ansible, Helm, Microsoft ARM i OpenAPI 3.0 specifikacijama
Checkov
Checkov je alat za statičku analizu koda za infrastructure-as-code.
Skenira cloud infrastrukturu provision-ovanu koristeći Terraform, Terraform plan, Cloudformation, AWS SAM, Kubernetes, Dockerfile, Serverless ili ARM Templates i otkriva bezbednosne probleme i probleme usklađenosti, kao i pogrešne konfiguracije koristeći skeniranje zasnovano na grafovima.
Kube-score
kube-score je alat koji vrši statičku analizu koda vaših Kubernetes definicija objekata.
To install:
| Distribution | Command / Link |
|---|---|
| Pre-built binaries for macOS, Linux, and Windows | GitHub releases |
| Docker | docker pull zegl/kube-score (Docker Hub) |
| Homebrew (macOS and Linux) | brew install kube-score |
| Krew (macOS and Linux) | kubectl krew install score |
Tools to analyze YAML files & Helm Charts
Kube-linter
# Install Kube-linter
brew install kube-linter
# Run Kube-linter
## lint ./path/to/yaml/or/chart
Checkov
# Install Checkov
pip install checkov
# Run Checkov
checkov -d ./path/to/yaml/or/chart
kube‑score
# Install kube-score
brew install kube-score
# Run kube-score
kube-score score ./path/to/yaml
# or
helm template chart /path/to/chart | kube-score score -
# or if the chart needs some values
helm template chart /path/to/chart \
--set 'config.urls[0]=https://dummy.backend.internal' \
| kube-score score -
Kubesec
# Install Kubesec
## Download from https://github.com/controlplaneio/kubesec/releases
# Run Kubesec in a yaml
kubesec scan ./path/to/yaml
# or
helm template chart /path/to/chart | kubesec scan -
# or if the chart needs some values
helm template chart /path/to/chart \
--set 'config.urls[0]=https://dummy.backend.internal' \
| kubesec scan -
Saveti
Kubernetes PodSecurityContext i SecurityContext
Možete konfigurisati bezbednosni kontekst Pod-ova (sa PodSecurityContext) i kontejnere koji će biti pokrenuti (sa SecurityContext). Za više informacija pročitajte:
Ojačavanje bezbednosti Kubernetes API-ja
Veoma je važno zaštititi pristup Kubernetes Api Server-u jer zlonameran akter sa dovoljno privilegija može zloupotrebiti server i na mnogo načina oštetiti okruženje.
Važno je obezbediti i pristup (whitelist origin-a koji smeju da pristupe API Server-u i odbiti sve ostale konekcije) i autentifikaciju (prateći princip najmanjih privilegija). I definitivno nikada ne dozvolite anonimne zahteve.
Uobičajeni proces zahteva:
Korisnik ili K8s ServiceAccount –> Autentifikacija –> Autorizacija –> Admission Control.
Saveti:
- Zatvorite portove.
- Izbegavajte anonimni pristup.
- NodeRestriction; Nema pristupa API-ju sa određenih nodova.
- https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction
- U suštini sprečava kubelets da dodaju/uklanjaju/azuriraju label-e sa prefiksom node-restriction.kubernetes.io/. Ovaj prefiks label-e je rezervisan za administratore da označavaju Node objekte za potrebe izolacije workload-a, i kubelet-ima neće biti dozvoljeno da menjaju label-e sa tim prefiksom.
- I takođe, dozvoljava kubelet-ima da dodaju/uklanjaju/azuriraju ove label-e i prefikse label-a.
- Obezbedite pomoću label-a sigurnu izolaciju workload-a.
- Sprečite da specifični pod-ovi pristupaju API-ju.
- Izbegavajte izlaganje ApiServer-a internetu.
- Sprečite neautorizovan pristup koristeći RBAC.
- Konfigurišite firewall i IP whitelistu za ApiServer port.
Ojačavanje SecurityContext-a
Po defaultu će se koristiti root korisnik kada se pokrene Pod ako nije naveden drugi korisnik. Aplikaciju možete pokrenuti u sigurnijem kontekstu koristeći šablon sličan sledećem:
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000
runAsGroup: 3000
fsGroup: 2000
volumes:
- name: sec-ctx-vol
emptyDir: {}
containers:
- name: sec-ctx-demo
image: busybox
command: [ "sh", "-c", "sleep 1h" ]
securityContext:
runAsNonRoot: true
volumeMounts:
- name: sec-ctx-vol
mountPath: /data/demo
securityContext:
allowPrivilegeEscalation: true
- https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
- https://kubernetes.io/docs/concepts/policy/pod-security-policy/
Opšte ojačavanje bezbednosti
Treba redovno ažurirati vaše Kubernetes okruženje onoliko često koliko je potrebno da imate:
- Ažurne zavisnosti.
- Ispravke grešaka i bezbednosne zakrpe.
Release cycles: Svaka 3 meseca izlazi novo minor izdanje – 1.20.3 = 1(Major).20(Minor).3(patch)
Najbolji način za ažuriranje Kubernetes klastera je (iz here):
- Ažurirajte Master Node komponente prateći sledeći redosled:
- etcd (all instances).
- kube-apiserver (all control plane hosts).
- kube-controller-manager.
- kube-scheduler.
- cloud controller manager, if you use one.
- Ažurirajte Worker Node komponente kao što su kube-proxy, kubelet.
Kubernetes monitoring & security:
- Kyverno Policy Engine
- Cilium Tetragon - eBPF-based posmatranje bezbednosti i runtime sprovođenje
- Network Security Policies
- Falco - Runtime monitoring bezbednosti & detekcija
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks Cloud

