Bezpieczeństwo kontenerów i Kubernetes
Przeskanują Państwo obrazy pod kątem podatności, skonfigurują Pod Security Standards i zastosują zasady sieciowe w Kubernetes.
Bezpieczeństwo kontenerów i Kubernetes to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Przegląd bezpieczeństwa kontenerów
Kontenery współdzielą jądro hosta, dlatego są słabiej izolowane niż maszyny wirtualne. Bezpieczeństwo kontenerów obejmuje: higienę obrazów (brak podatnych pakietów), ochronę w czasie działania (wykrywanie nietypowego zachowania), politykę sieciową (ograniczanie komunikacji między podami) oraz konfigurację RBAC.
Skanowanie obrazów za pomocą Trivy
Trivy skanuje obrazy kontenerów pod kątem CVE w pakietach systemu operacyjnego, podatności zależności aplikacji, błędnych konfiguracji i sekretów. Należy zintegrować je z CI/CD, aby blokować obrazy z krytycznymi podatnościami przed ich wdrożeniem na produkcję.
trivy image nginx:latest
trivy image --severity CRITICAL,HIGH myapp:v1.2Najlepsze praktyki dotyczące Dockerfile
Należy używać minimalnych obrazów bazowych (alpine, distroless). Kontener powinien działać jako użytkownik inny niż root (USER 1000). Należy unikać COPY . . — trzeba wskazywać konkretne pliki. Kompilacje wieloetapowe zmniejszają rozmiar końcowego obrazu. Obraz należy skanować przed wypchnięciem. Nigdy nie należy zapisywać sekretów ani poświadczeń na stałe w warstwach.
FROM node:18-alpine
RUN addgroup -S app && adduser -S app -G app
USER app
COPY --chown=app:app . .
CMD ["node", "server.js"]RBAC w Kubernetes
RBAC w Kubernetes kontroluje dostęp do serwera API. ClusterRoles i Roles definiują uprawnienia do zasobów (podów, sekretów, wdrożeń). ClusterRoleBindings i RoleBindings przypisują je użytkownikom, grupom lub ServiceAccounts. Należy unikać cluster-admin, z wyjątkiem automatyzacji.
Standardy bezpieczeństwa podów
PSS definiuje trzy profile: Privileged (bez ograniczeń), Baseline (minimalne ograniczenia) i Restricted (wzmocnione zabezpieczenia). Należy je stosować za pomocą etykiet przestrzeni nazw kontrolera admission PodSecurity. Profil Restricted uniemożliwia uruchamianie jako root, zabrania eskalacji uprawnień i wymaga systemów plików tylko do odczytu.
Polityki sieciowe
Domyślnie wszystkie pody mogą komunikować się ze wszystkimi innymi podami. Kubernetes NetworkPolicies definiują reguły ruchu przychodzącego i wychodzącego dla selektora podów. Należy wdrożyć polityki domyślnie odrzucające ruch i jawnie zezwalać wyłącznie na wymagane ścieżki komunikacji, aby ograniczyć zasięg potencjalnego ataku.
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all
spec:
podSelector: {}
policyTypes: ["Ingress","Egress"]Zarządzanie sekretami w Kubernetes
Sekrety Kubernetes są domyślnie kodowane w base64, a nie szyfrowane. Należy włączyć szyfrowanie danych w spoczynku dla etcd. Zamiast sekretów Kubernetes należy używać External Secrets Operator lub Vault Agent Injector do pobierania sekretów z HashiCorp Vault albo chmurowych menedżerów sekretów.
Kontrolery admission
Kontrolery admission przechwytują żądania API przed utworzeniem obiektów. OPA/Gatekeeper wymusza niestandardowe polityki (np. wymaganie określonych etykiet lub blokowanie uprzywilejowanych kontenerów). Kyverno zapewnia podejście policy-as-code z prostszą składnią YAML dla typowych ograniczeń bezpieczeństwa K8s.
Bezpieczeństwo w czasie działania z Falco
Falco wykrywa anomalne zachowanie w czasie działania za pomocą eBPF: powłoki uruchamiane w kontenerach, nieoczekiwane połączenia wychodzące, pliki zapisywane w /etc, próby eskalacji uprawnień oraz uruchamianie znanych narzędzi ataku. Reguły alertów można dostosowywać w YAML.
Logi audytowe Kubernetes
Należy włączyć rejestrowanie audytowe serwera API, aby zapisywać każde żądanie wraz z użytkownikiem, działaniem, zasobem i znacznikiem czasu. Logi należy przekazywać do SIEM, aby wykrywać nietypową aktywność API: wyświetlanie tokenów ServiceAccount, wyliczanie sekretów, eskalację ról oraz wykonywanie kubectl exec w podach produkcyjnych.
Bezpieczeństwo łańcucha dostaw z Cosign
Należy podpisywać obrazy kontenerów za pomocą Cosign (Sigstore), aby zapewnić integralność łańcucha dostaw. Kontrolery polityk (Connaisseur, Kyverno) mogą wymuszać dopuszczanie do klastra wyłącznie podpisanych obrazów z zaufanych rejestrów, blokując pobieranie niezaufanych obrazów.
Sprawdzenie wiedzy
Co zapewnia Kubernetes NetworkPolicy z pustym podSelector oraz policyTypes Ingress/Egress?
Podsumowanie
Bezpieczeństwo kontenerów i Kubernetes wymaga zabezpieczenia łańcucha dostaw obrazów, egzekwowania RBAC i standardów bezpieczeństwa podów, wdrożenia polityk sieciowych, prawidłowego zarządzania sekretami oraz stosowania wykrywania zagrożeń w czasie działania, aby wykrywać ataki omijające mechanizmy prewencyjne.
Ucz się Cyber Security Academy dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 76
- Lekcje
- 303
Często zadawane pytania
Czy lekcja „Bezpieczeństwo kontenerów i Kubernetes” jest bezpłatna?
Tak — pełny tekst „Bezpieczeństwo kontenerów i Kubernetes” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Bezpieczeństwo kontenerów i Kubernetes”?
Przeskanują Państwo obrazy pod kątem podatności, skonfigurują Pod Security Standards i zastosują zasady sieciowe w Kubernetes. Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Bezpieczeństwo kontenerów i Kubernetes”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Cloud IAM: role, zasady i minimalne uprawnienia
- Typowe błędne konfiguracje chmury
- Zarządzanie stanem bezpieczeństwa chmury (CSPM)
- Bezpieczeństwo kontenerów i Kubernetes