Skanowanie obrazów kontenerów pod kątem bezpieczeństwa
Zintegruj narzędzia do skanowania obrazów z potokiem CI/CD, aby wykrywać luki w zabezpieczeniach obrazów Docker.
Skanowanie obrazów kontenerów pod kątem bezpieczeństwa to bezpłatna lekcja Docker & DevOps Fundamentals na CoddyKit. To lekcja 1 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 Docker & DevOps Fundamentals, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Docker & DevOps Fundamentals zawiera 4 lekcji w sumie.
Dlaczego skanować obrazy kontenerów
Obrazy kontenerów stanowią podstawę nowoczesnych aplikacji. Podobnie jak każde oprogramowanie, mogą zawierać ukryte luki w zabezpieczeniach. Skanowanie obrazów to kluczowa praktyka pozwalająca wykryć te luki przed wdrożeniem aplikacji.
Pomaga zapewnić, że używane oprogramowanie jest bezpieczne i wolne od znanych luk.

Ukryte zagrożenia w obrazach
Jakie luki w zabezpieczeniach mogą kryć się w obrazach kontenerów?
- Nieaktualne obrazy bazowe: Używanie starych wersji systemów operacyjnych (takich jak Ubuntu lub Alpine), które zawierają znane błędy bezpieczeństwa.
- Podatne biblioteki: Wszelkie dodatkowe pakiety oprogramowania lub zależności zainstalowane w obrazie mogą zawierać luki w zabezpieczeniach (CVE).
- Błędne konfiguracje: Chociaż skanowanie jest przede wszystkim ukierunkowane na znane CVE, nieprawidłowe ustawienia również mogą powodować zagrożenia.
Jak działają skanery obrazów
Skanery obrazów kontenerów działają poprzez:
- Analizowanie warstw: Badają każdą warstwę obrazu Docker.
- Wyodrębnianie komponentów: Identyfikują wszystkie zainstalowane pakiety, biblioteki i zależności (np. pakiety systemu operacyjnego, biblioteki Python i moduły Node.js).
- Porównywanie z bazami danych: Porównują te komponenty z obszernymi, regularnie aktualizowanymi bazami danych luk w zabezpieczeniach (takimi jak bazy CVE).
- Generowanie raportów: Udostępniają szczegółową listę wykrytych luk, ich ważność, a często także sugerowane poprawki.
Narzędzia używane w praktyce
Dostępnych jest kilka zaawansowanych narzędzi do skanowania obrazów kontenerów, zarówno open source, jak i komercyjnych:
- Trivy: Popularny skaner open source, znany z łatwości użycia i szerokiego zakresu obsługiwanych elementów.
- Clair: Kolejne solidne rozwiązanie open source, często integrowane z większymi rejestrami kontenerów.
- Docker Scout (za pośrednictwem
docker scan): Narzędzie wbudowane w Docker Desktop, które korzysta z bazy luk Snyk i umożliwia szybkie lokalne skanowanie.
Skanowanie obrazu lokalnie
Wykonajmy szybkie skanowanie popularnego obrazu Docker za pomocą wbudowanego polecenia docker scan. To polecenie korzysta z Docker Scout (opartego na Snyk) w celu wykrywania podatności.
Spróbuj uruchomić ten przykład:
docker scan nginx:latestInterpretowanie wyników
Po zakończeniu skanowania otrzymają Państwo raport. Oto na co należy zwrócić uwagę:
- Identyfikator CVE: Unikalny identyfikator podatności (np. CVE-2023-1234).
- Poziom istotności: Informacja o krytyczności podatności (np. Critical, High, Medium, Low).
- Pakiet: Konkretny komponent oprogramowania lub biblioteka zawierające lukę.
- Wersja z poprawką: Raport często sugeruje wersję pakietu lub obrazu bazowego, która usuwa problem.
Skanowanie w ramach przepływu pracy
Prawdziwa wartość skanowania obrazów ujawnia się po zintegrowaniu go z przepływem pracy programistycznej. Dodając skanowanie do potoku ciągłej integracji (CI), mogą Państwo:
- Wcześnie wykrywać problemy: Identyfikować podatności natychmiast po zatwierdzeniu nowego kodu lub zbudowaniu obrazu.
- Automatyzować kontrole bezpieczeństwa: Uczynić bezpieczeństwo standardową, automatyczną częścią procesu kompilacji.
- Zapobiegać wdrożeniom: Skonfigurować potok CI tak, aby kompilacja kończyła się niepowodzeniem po wykryciu krytycznych podatności, co zapobiega wdrażaniu niezabezpieczonych obrazów na produkcji.
Automatyzacja skanowania za pomocą CI
Oto przykładowy fragment pokazujący, jak można zintegrować skanowanie za pomocą Trivy z przepływem pracy GitHub Actions. Dzięki temu każdy zbudowany obraz jest automatycznie skanowany.
# .github/workflows/scan.yml
name: Image Scan
on:
push:
branches: [ main ]
jobs:
build-and-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build Docker Image
run: docker build -t my-app:latest .
- name: Run Trivy Scan
uses: aquasecurity/trivy-action@master
with:
image-ref: 'my-app:latest'
format: 'table'
exit-code: '1' # Fail build on critical issuesUsuwanie znalezionych problemów
Znalezienie podatności to dopiero połowa zadania — drugą połową jest ich usunięcie! Oto typowe strategie naprawcze:
- Aktualizowanie obrazów bazowych: Zawsze należy używać najnowszych, zawierających poprawki wersji wybranego obrazu bazowego.
- Ograniczanie zależności: Należy instalować wyłącznie pakiety absolutnie niezbędne do działania aplikacji.
- Kompilacje wieloetapowe: Należy używać wieloetapowych plików Dockerfile, aby zmniejszyć końcowy rozmiar obrazu i usunąć narzędzia potrzebne podczas kompilacji, ale zbędne w czasie działania.
- Instalowanie poprawek: Należy stosować konkretne poprawki bezpieczeństwa, jeśli są dostępne dla podatnych komponentów.
Sprawdzenie skanowania
Skanowanie obrazów jest istotnym elementem bezpiecznego tworzenia kontenerów. Sprawdźmy Państwa wiedzę.
Najważniejsze informacje
Poznali Państwo kluczową rolę skanowania obrazów kontenerów pod kątem bezpieczeństwa:
- Pozwala ono wykrywać znane podatności (CVE) w obrazach bazowych i zależnościach.
- Narzędzia takie jak Trivy, Clair i Docker Scout pomagają automatyzować ten proces.
- Integracja skanowania z potokiem CI/CD umożliwia wczesne wykrywanie problemów i zapobiega wdrażaniu niezabezpieczonych obrazów.
- Regularne aktualizowanie obrazów i ograniczanie zależności zmniejsza powierzchnię ataku.
Proszę regularnie skanować obrazy, aby utrzymać wysoki poziom bezpieczeństwa!
Często zadawane pytania
Czy lekcja „Skanowanie obrazów kontenerów pod kątem bezpieczeństwa” jest bezpłatna?
Tak — pełny tekst „Skanowanie obrazów kontenerów pod kątem bezpieczeństwa” 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 Docker & DevOps Fundamentals, przejdź na CoddyKit PRO. Kurs Docker & DevOps Fundamentals zawiera 4 lekcji w sumie.
Co nauczysz się w „Skanowanie obrazów kontenerów pod kątem bezpieczeństwa”?
Zintegruj narzędzia do skanowania obrazów z potokiem CI/CD, aby wykrywać luki w zabezpieczeniach obrazów Docker. Ćwiczysz Docker & DevOps Fundamentals 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ąć Docker & DevOps Fundamentals?
Nie wymagamy żadnego doświadczenia. Docker & DevOps Fundamentals 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 1 z 4.
Ile czasu zajmuje lekcja „Skanowanie obrazów kontenerów pod kątem bezpieczeństwa”?
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 Docker & DevOps Fundamentals?
Tak. Każda lekcja Docker & DevOps Fundamentals 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
- Skanowanie obrazów kontenerów pod kątem bezpieczeństwa
- Bezpieczeństwo kontenerów w czasie działania
- Zarządzanie sekretami i RBAC
- Zasady sieciowe i sieć zgodna z zasadą najmniejszych uprawnień