Cyber Security Academy · Lekcja

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.

Lekcja 4 z 413 kroki

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.2

Najlepsze 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.

Bezpłatny start

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

  1. Cloud IAM: role, zasady i minimalne uprawnienia
  2. Typowe błędne konfiguracje chmury
  3. Zarządzanie stanem bezpieczeństwa chmury (CSPM)
  4. Bezpieczeństwo kontenerów i Kubernetes
← Powrót do Cyber Security Academy