Skip to content

Commit 57d3348

Browse files
authored
[2025-09-26] Jak wykryć i naprawić błędne konfiguracje w działającym klastrze Kubernetes (#271)
* [2025-09-01] [Propozycja] Jak wykryć i naprawić błędne konfiguracje w działającym klastrze Kubernetes * ICO-976 przygotowanie pierwszego wpisu z serii Jak wykryć i naprawić błędne konfiguracje w działającym klastrze Kubernetes * [2025-09-26] poprawki * [2025-09-26] poprawki * [2025-09-26] poprawki * [2025-09-26] poprawki --------- Co-authored-by: bdomzalski <[email protected]>
1 parent 8a415a0 commit 57d3348

File tree

4 files changed

+109
-0
lines changed

4 files changed

+109
-0
lines changed

_authors/bdomzalski.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: Bartłomiej Domżalski
3+
title: Bartłomiej Domżalski
4+
short_name: bdomzalski
5+
github: sirtekyt
6+
bio: Regular full stack developer z pasją do rozwijania umiejętności i pracy nad różnorodnymi projektami, ze szczególnym zainteresowaniem Kubernetes, który pozwala na efektywne zarządzanie i skalowanie aplikacji. Interesuje się także optymalizacją komunikacji miejskiej i pracuje nad rozwiązaniami usprawniającymi transport w mniejszych miejscowościach. Fanatyk podróżowania, szczególnie wyszukiwania okazji na tanie loty.
7+
image: bdomzalski.webp
8+
---
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
layout: post
3+
title: Jak wykryć i naprawić błędne konfiguracje w działającym klastrze Kubernetes
4+
description: ""
5+
date: 2025-09-26T08:00:00+01:00
6+
published: true
7+
didyouknow: false
8+
lang: pl
9+
author: bdomzalski
10+
image: /assets/img/posts/2025-09-26-jak-wykryc-i-naprawic-bledne-konfiguracje-w-dzialajacym-klastrze-k8s/thumbnail.webp
11+
tags:
12+
- kubernetes
13+
---
14+
15+
**Kubernetes** na dobre wpisał się w krajobraz nowoczesnych technologii. To narzędzie, które usprawnia codzienną pracę zespołów DevOps,
16+
pozwalając łatwo uruchamiać, skalować i utrzymywać aplikacje oparte na kontenerach. Nic dziwnego, że tak szybko zdobyło popularność –
17+
daje sporą swobodę i elastyczność w budowaniu usług.
18+
19+
Z drugiej strony, ten komfort ma też swoją cenę. Każdy, kto pracował z większym klastrem, wie,
20+
że drobna pomyłka w konfiguracji potrafi urosnąć do problemu na ogromną skalę. Skutki bywają różne –
21+
od chwilowych przerw w działaniu aplikacji, przez otwarte furtki bezpieczeństwa, aż po poważne ryzyko utraty danych.
22+
A to oznacza nie tylko kłopoty techniczne, ale także realne koszty dla firmy i jej klientów.
23+
24+
## Gdy konfiguracja zawodzi – przykład z Teslą
25+
Najlepszym dowodem na to, że błędne ustawienia mogą mieć realne skutki, jest głośny incydent z 2018 roku,
26+
gdy hakerzy dostali się do chmurowego środowiska Tesli. Winowajcą okazał się otwarty, **niezabezpieczony dashboard Kubernetes**.
27+
Intruzom udało się dzięki temu zainstalować koparki kryptowalut i przez długi czas ukrywać swoją działalność –
28+
maskując ruch przez CloudFlare i korzystając z własnych pulpitów do wydobycia.
29+
30+
Skończyło się nie tylko na wykorzystaniu mocy obliczeniowej Tesli.
31+
Hakerzy zdobyli też dostęp do danych telemetrycznych testowych pojazdów przechowywanych w Amazon S3. Choć firma szybko zareagowała,
32+
wizerunkowe i finansowe straty były spore.
33+
34+
Ten przypadek pokazuje, że błędy w konfiguracji nie są abstrakcyjnym problemem technicznym. To realne ryzyko biznesowe.
35+
36+
### Koszt błędów – w liczbach
37+
Według danych z 2024 roku średni koszt wycieku danych w chmurze przekroczył 4,8 mln dolarów.
38+
W branży finansowej, dla takiego samego typu incydentu, straty bywają jeszcze większe – często wynoszą nawet ponad 6 mln dolarów.
39+
A wiele z tych incydentów zaczyna się właśnie od drobnych niedociągnięć konfiguracyjnych.
40+
Brak kontroli nad uprawnieniami, niewłaściwe polityki bezpieczeństwa czy otwarte punkty dostępu pozwalają atakującym nie tylko wedrzeć się do klastra,
41+
ale i swobodnie poruszać się w jego wnętrzu.
42+
43+
## Pierwszy krok: Security Context w Kubernetes
44+
Jednym z najważniejszych, a zarazem często lekceważonych elementów zabezpieczania aplikacji w Kubernetes jest poprawna konfiguracja Security Context.
45+
Te ustawienia definiujemy w manifestach Podów lub Deploymentów, aby ograniczyć uprawnienia i działanie kontenerów – zarówno na poziomie procesów,
46+
jak i całego systemu plików.
47+
48+
I tu ważne zastrzeżenie: Security Context nie powinien być traktowany jako „dodatkowe zabezpieczenie”. To absolutna podstawa.
49+
Bez niego nawet najlepsze mechanizmy – jak polityki sieciowe czy RBAC – tracą na skuteczności.
50+
51+
### Dlaczego to ważne?
52+
Domyślnie kontenery w Kubernetesie uruchamiane są często jako root i z pełnym dostępem do zapisu w systemie plików. W praktyce oznacza to,
53+
że działają niemal jak mini‑maszyny z nieograniczonymi możliwościami, co tworzy istotne ryzyko bezpieczeństwa.
54+
Dlatego już podstawowe ustawienia – takie jak `runAsUser`, `allowPrivilegeEscalation: false` czy `readOnlyRootFilesystem` – potrafią znacząco podnieść poziom ochrony.
55+
56+
### Przykład prostego Deploymentu:
57+
Poniżej znajduje się prosty manifest Poda z ustawieniami Security Context:
58+
59+
```yaml
60+
apiVersion: v1
61+
kind: Pod
62+
metadata:
63+
name: security-context-demo
64+
spec:
65+
securityContext:
66+
runAsUser: 1000 # Użytkownik nieuprzywilejowany
67+
runAsGroup: 3000 # Ustaw grupę
68+
fsGroup: 2000 # Właściciel wolumenów
69+
containers:
70+
- name: app
71+
image: nginx:latest
72+
securityContext:
73+
allowPrivilegeEscalation: false # Blokada eskalacji uprawnień
74+
readOnlyRootFilesystem: true # Dysk tylko do odczytu
75+
```
76+
77+
### Efekt?
78+
- Kontenery nie działają jako root, lecz jako użytkownik o `UID 1000`.
79+
- System plików jest w trybie „tylko do odczytu”.
80+
- Potencjalni atakujący nie mogą eskalować uprawnień.
81+
82+
To prosty, ale bardzo skuteczny krok, by utrudnić życie hakerom i zwiększyć bezpieczeństwo środowiska.
83+
84+
## Co dalej w tej serii?
85+
Ten wpis otwiera serię, w której krok po kroku będziemy przechodzić przez **proces wykrywania i eliminowania błędnych konfiguracji w Kubernetes**.
86+
Skupimy się na kluczowych obszarach, które są fundamentem bezpiecznego i stabilnego środowiska:
87+
- jak identyfikować niebezpieczne ustawienia w Podach i kontenerach,
88+
- jak korzystać z narzędzi takich jak kube-bench czy OPA Gatekeeper do poprawy konfiguracji,
89+
- w jaki sposób weryfikować polityki bezpieczeństwa z poziomu praktycznych przykładów,
90+
- jakie dobre praktyki wdrożyć, aby klaster był odporniejszy na awarie i ataki.
91+
92+
Moim celem nie będzie tylko straszenie konsekwencjami. Chcę pokazać przede wszystkim praktyczne rozwiązania,
93+
które możesz wdrożyć od razu w swoim środowisku.
94+
95+
## Przydatne linki:
96+
- [Tesla i kopanie kryptowalut w Kubernetes – Portswigger](https://portswigger.net/daily-swig/tesla-becomes-latest-victim-of-cryptojacking-epidemic)
97+
- [Infosecurity Magazine o błędnych konfiguracjach Kubernetes](https://www.infosecurity-magazine.com/news/misconfigured-kubernetes-exposed/)
98+
- [Statystyki bezpieczeństwa w chmurze – SentinelOne](https://www.sentinelone.com/cybersecurity-101/cloud-security/cloud-security-statistics/)
99+
- [Oficjalna dokumentacja Security_Context Kubernetes.io](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
100+
- [Alternatywna dokumentacja medium.com](https://thekubeguy.com/security-context-e7b0fb083dcb)
101+
- [Alternatywna dokumentacja redhat.com](https://www.redhat.com/en/blog/guide-to-kubernetes-security-context-pod-security-policy-psp)

assets/img/authors/bdomzalski.webp

225 KB
Loading
473 KB
Loading

0 commit comments

Comments
 (0)