Automatyzowanie skanowania kontenerów, w tym obrazów kontenerów
Terminy skanowanie kontenerów i skanowanie obrazów kontenerów są często używane zamiennie, chociaż odnoszą się one do nieco różnych aspektów analizy kompozycji oprogramowania w środowiskach konteneryzowanych. Skanowanie kontenerów zwykle odnosi się do procesu wykrywania luk w zabezpieczeniach, błędów konfiguracji lub problemów z zabezpieczeniami w konteneryzowanych aplikacjach. Jest przeznaczony dla środowiska uruchomieniowego, zależności, bibliotek i ustawień konfiguracji w kontenerach. Skanowanie obrazów kontenera koncentruje się na obrazach kontenerów. Obejmuje ona inspekcję warstw, pakietów, bibliotek i konfiguracji w obrazie kontenera w celu zidentyfikowania takich problemów, jak luki w zabezpieczeniach i nieaktualne zależności. Skanowanie obrazów zwykle dotyczy obrazów kontenerów znajdujących się w rejestrach kontenerów.
Istnieje wiele narzędzi i technik skanowania kontenerów, które obsługują platformy Azure DevOps i GitHub. Ogólnie rzecz biorąc, można korzystać z usług niezależnej od platformy, takich jak Microsoft Defender dla Chmury lub dołączać narzędzia skanujące bezpośrednio do usługi Azure Pipelines lub GitHub Actions.
Microsoft Defender for Cloud
Microsoft Defender dla Chmury to natywna dla chmury platforma ochrony aplikacji, która implementuje środki zabezpieczeń i praktyki mające na celu ochronę obciążeń opartych na chmurze przed szeroką gamą zagrożeń cybernetycznych. Obejmuje ona obsługę skanowania obrazów i kontenerów dzięki wykorzystaniu możliwości usługi Microsoft Defender for Containers i Zarządzanie lukami w zabezpieczeniach w usłudze Microsoft Defender.
Microsoft Defender dla kontenerów
Usługa Microsoft Defender for Containers to rozwiązanie natywne dla chmury, które ma na celu zwiększenie bezpieczeństwa konteneryzowanych środowisk, w tym klastrów Kubernetes, rejestrów kontenerów i obrazów kontenerów, w środowiskach wielochmurowych i lokalnych. Jej funkcjonalność można pogrupować w cztery główne kategorie:
- Zarządzanie stanem zabezpieczeń wykonuje ciągłe monitorowanie obciążeń Kubernetes w celu odnajdywania zasobów w chmurze, tworzenia spisu ich, wykrywania błędów konfiguracji, zapewniania wskazówek korygujących, oceniania odpowiednich czynników ryzyka i pomagania w wyszukiwaniu zagrożeń przy użyciu eksploratora zabezpieczeń Defender dla Chmury.
- Ochrona przed zagrożeniami w czasie wykonywania zapewnia wykrywanie zagrożeń dla klastrów Kubernetes, ściśle dopasowane do struktury MITRE ATT&CK i oferuje integrację z szeroką gamą produktów do zarządzania informacjami i zdarzeniami zabezpieczeń (SIEM) oraz rozszerzonymi rozwiązaniami do wykrywania i reagowania (XDR).
- Wdrażanie i monitorowanie ułatwia implementowanie klastrów Kubernetes i śledzenie ich stanu.
- Ocena luk w zabezpieczeniach zapewnia ocenę luk w zabezpieczeniach bez agenta dla zasobów wielochmurowych, w tym wskazówki dotyczące korygowania i automatyczne skanowanie.
Ocena luk w zabezpieczeniach opiera się na Zarządzanie lukami w zabezpieczeniach w usłudze Microsoft Defender.
Zarządzanie lukami w zabezpieczeniach w usłudze Microsoft Defender
Zarządzanie lukami w zabezpieczeniach w usłudze Microsoft Defender oferuje funkcję skanowania obrazów opartą na wyzwalaczu przeznaczoną dla obrazów w rejestrach usługi Azure Container Registry (ACR). Automatycznie generuje raporty dokumentujące luki w zabezpieczeniach i odpowiednie korygowania dla każdego obrazu. Zapewnia również skanowanie kontenerów wdrożonych w klastrach usługi Azure Kubernetes Service (AKS) na podstawie obrazów ściągniętych z dowolnego rejestru obsługiwanego przez Defender dla Chmury, w tym, oprócz usługi ACR, tych natywnych dla usług Amazon Web Services (AWS) i Google Cloud Platform (GCP), takich jak Elastic Container Registry (ECR), Google Container Registry (GCR) i Google Artifact Registry (GAR).
Wszystkie obrazy przechowywane w usłudze ACR spełniające kryteria wyzwalaczy skanowania są automatycznie skanowane pod kątem luk w zabezpieczeniach bez żadnej dodatkowej konfiguracji. Te kryteria można pogrupować w dwie główne kategorie:
- Wyzwalane przez operacje wypychania, importowania i ściągania. W przypadku wypychania lub importowania skanowanie jest zwykle wykonywane w ciągu kilku minut, ale może upłynąć do godziny. Po poszczególnych ściąganiach obrazy są skanowane w ciągu 24 godzin.
- Ciągłe uruchamianie obrazów, które zostały wcześniej zeskanowane pod kątem luk w zabezpieczeniach w celu zaktualizowania raportów luk w zabezpieczeniach, aby uwzględnić nowo opublikowane luki w zabezpieczeniach. Te skanowania są wykonywane raz dziennie w przypadku obrazów wypychanych w ciągu ostatnich 90 dni, obrazów ściągniętych w ciągu ostatnich 30 dni oraz obrazów uruchomionych w klastrach Kubernetes monitorowanych przez Defender dla Chmury.
Rekomendacje z raportami luk w zabezpieczeniach są udostępniane dla wszystkich obrazów w usłudze ACR, a także obrazów, które są obecnie uruchomione w klastrach usługi Azure Kubernetes Service (AKS). Po wykonaniu zalecanych kroków w celu rozwiązania problemu z zabezpieczeniami i zastąpienia obrazu w rejestrze Microsoft Defender dla Chmury automatycznie ponownie skanuje obraz, aby potwierdzić, że luki w zabezpieczeniach już nie istnieją.
Dołączanie narzędzi do skanowania bezpośrednio do usługi Azure Pipelines lub GitHub Actions.
Możesz dołączyć skanowanie kontenerów i obrazów bezpośrednio do potoków ciągłej integracji/ciągłego wdrażania, aby automatycznie identyfikować luki w zabezpieczeniach i zapewnić zgodność. Proces rozpoczyna się od wybrania odpowiedniego narzędzia do skanowania zgodnego z odpowiednią platformą, takiego jak Aqua dostępne jako rozszerzenie zabezpieczeń Metodyki DevOps lub Trivy GitHub Action. Następnie możesz zintegrować wybrane narzędzie do skanowania w procesie kompilacji, aby analizować obrazy kontenerów pod kątem luk w zabezpieczeniach i problemów ze zgodnością. Skanowanie kontenerów należy zastosować podczas etapu ciągłego wdrażania, aby ocenić wynik wdrożenia.
W ramach integracji ciągłej integracji/ciągłego wdrażania rozważ zapobieganie wdrożeniu obrazu w przypadku, gdy jego skanowanie zgłasza niezgodność. Podczas implementowania przepływów pracy w usłudze GitHub skorzystaj z funkcji Dependabot w celu wykrywania i tworzenia żądań ściągnięcia w celu zaktualizowania zależności w obrazach kontenerów, w tym plików Dockerfile, manifestów pakietów i innych plików konfiguracji. Automatyzowanie akcji korygowania, takich jak stosowanie poprawek luk w zabezpieczeniach lub ponowne kompilowanie obrazu, na podstawie wyników skanowania. Zaimplementuj ciągłe monitorowanie i przeglądy wyników skanowania, wykorzystując pulpity nawigacyjne specyficzne dla platformy, raporty i powiadomienia.