Udostępnij za pośrednictwem


Omówienie etapu kompilacji

Tworzenie obrazów kontenerów to trzeci etap platformy Secure Supply Chain (CSSC). Podczas gdy niektóre przedsiębiorstwa pobierają obrazy podstawowe bezpośrednio ze źródeł zewnętrznych, inne mogą ściągać obrazy podstawowe z wykazu wewnętrznego bez sprawdzania obrazów względem ich podpisów i zaświadczeń. Należy upewnić się, że obrazy podstawowe są zawsze pobierane z wykazu wewnętrznego i weryfikowane przed użyciem. Po utworzeniu obrazów niektóre przedsiębiorstwa publikują je bez luk w zabezpieczeniach i skanowania złośliwego oprogramowania oraz nie generują zaświadczeń, takich jak SBOM, których nie można zweryfikować w kolejnych etapach łańcucha dostaw. Niezbędne jest zapewnienie, że utworzone obrazy kontenerów są zaufane i zgodne z zasadami przedsiębiorstwa.

Platforma Secure Supply Chain (CSSC) firmy Microsoft identyfikuje potrzebę tworzenia obrazów kontenerów i udostępnia zestaw najlepszych rozwiązań i narzędzi, które ułatwiają bezpieczne tworzenie zaufanych i zgodnych obrazów. W tym artykule poznasz cele, najlepsze rozwiązania i narzędzia, których można używać na etapie kompilacji platformy CSSC.

Tło

Obecnie przedsiębiorstwa używają różnych metod bezpiecznego tworzenia zgodnych obrazów kontenerów. Przed utworzeniem obrazów kontenerów zespoły wewnętrzne muszą ściągnąć obrazy podstawowe z wewnętrznych rejestrów złotych. Jednak te obrazy nie są weryfikowane przed użyciem, co nie jest zalecane, ponieważ złote rejestry mogą zostać naruszone , a obrazy mogą stać się złośliwe. Przedsiębiorstwa kontrolują również źródło bibliotek i pakietów dodawanych do obrazów kontenerów w celu zapewnienia jakości.

Po utworzeniu obrazów kontenerów przedsiębiorstwa generują dodatkowe metadane, aby upewnić się, że obrazy kontenerów są zgodne. Niektóre przedsiębiorstwa korzystają z dokumentu dotyczącego pochodzenia umowy SLASA , aby dowiedzieć się, które zatwierdzenie usługi Git jest odpowiedzialne za tworzenie obrazu kontenera i czy jest odtwarzalne. Inne używają etykiet platformy Docker do zapewnienia pochodzenia na właścicielu obrazu kontenera i osoby odpowiedzialnej za zatwierdzenie obrazu. Niektóre przedsiębiorstwa skanują obraz pod kątem luk w zabezpieczeniach i złośliwego oprogramowania i odpowiednio generują raporty.

Etap kompilacji struktury CSSC zaleca zestaw kroków i mechanizmów kontroli zabezpieczeń, które należy zaimplementować w celu tworzenia wiarygodnych i zgodnych obrazów kontenerów przed ich opublikowaniem.

Firma Microsoft zaleca następujące rozwiązania dotyczące bezpiecznego tworzenia zgodnych obrazów kontenerów.

  • Ściąganie obrazów podstawowych tylko z wykazu wewnętrznego w celu zmniejszenia obszaru ataków i zwiększenia bezpieczeństwa.
  • Jeśli jest dostępna, przed ich użyciem zweryfikuj podpisy i zaświadczania o obrazach podstawowych, aby upewnić się, że są one wiarygodne i zgodne.
  • Obrazy bez dystrybucji zawierają tylko aplikację i jej zależności środowiska uruchomieniowego bez żadnych dodatkowych składników oprogramowania lub systemu operacyjnego. Użyj obrazów bez dystrybucji jako obrazów bazowych, aby zmniejszyć obszar ataków i zwiększyć bezpieczeństwo.
  • Zastosuj dostęp z najmniejszymi uprawnieniami do platformy lub usługi kompilacji, aby zapewnić, że tylko autoryzowani użytkownicy będą mogli wprowadzać zmiany lub modyfikacje, co zmniejsza ryzyko nieautoryzowanego dostępu, naruszeń danych i innych zdarzeń zabezpieczeń.
  • Skanuj obrazy kontenerów pod kątem luk w zabezpieczeniach i złośliwego oprogramowania po kompilacji, aby ograniczyć ryzyko wprowadzenia luk w zabezpieczeniach.
  • Wzbogacanie obrazów kontenerów po kompilacji przy użyciu dodatkowych metadanych, takich jak SBOM i metadane pochodzenia.
  • Podpisywanie obrazów kontenerów i odpowiednich metadanych po kompilacji przy użyciu kluczy przedsiębiorstwa w celu zapewnienia integralności i zapewnienia zaufanej sygnatury zatwierdzenia do użytku wewnętrznego.
  • Stosowanie poprawek obrazów kontenerów w odpowiednim czasie w celu rozwiązania znanych luk w zabezpieczeniach.
  • Zachowaj dość aktualne zależności, aby zachować aktualność, aby zachować aktualność luk w zabezpieczeniach i poprawek zabezpieczeń.

Przepływ pracy tworzenia zgodnych obrazów kontenerów

Etap kompilacji zawiera przepływ pracy umożliwiający utworzenie obrazu kontenera zgodnego z organizacjami i zasadami zabezpieczeń. Niezwykle ważne jest zastosowanie kontroli dostępu na poziomie uprawnień do platformy kompilacji lub usługi tylko dla autoryzowanych użytkowników. Gdy obrazy podstawowe są dostępne w wykazie, przepływ pracy kompilacji wykonuje następujące czynności:

  1. Ściągaj obrazy podstawowe tylko z wykazu wewnętrznego.
  2. Przed użyciem tych obrazów sprawdź podstawowe obrazy, aby upewnić się, że jest wiarygodna i zgodna.
  3. Dodaj dodatkowe struktury, kod aplikacji i/lub konfiguracje ze źródła zaufania na podstawie obrazów podstawowych na potrzeby kompilacji.
  4. Wygeneruj SBOM podczas procesu kompilacji.
  5. Przeskanuj wynikowy obraz kontenera pod kątem znanych luk w zabezpieczeniach i złośliwego oprogramowania po kompilacji, aby zapobiec wprowadzeniu luk w zabezpieczeniach.
  6. Stosowanie poprawek wynikowego obrazu kontenera w celu rozwiązania znanych luk w zabezpieczeniach i złośliwego oprogramowania
  7. Dołącz raporty dotyczące luk w zabezpieczeniach i złośliwego oprogramowania jako zaświadczania obrazów do użycia w kolejnych etapach łańcucha dostaw.
  8. Dołącz SBOM jako zaświadczania obrazów do użycia w kolejnych etapach łańcucha dostaw.
  9. Wzbogacanie wynikowego obrazu o dodatkowe metadane, takie jak metadane pochodzenia, które mają być używane w kolejnych etapach łańcucha dostaw.
  10. Podpisz wynikowy obraz i odpowiednie metadane przy użyciu kluczy przedsiębiorstwa, aby zapewnić integralność i zapewnić zaufaną sygnaturę zatwierdzenia dla etapu wdrażania

Cele zabezpieczeń na etapie kompilacji

Posiadanie dobrze zdefiniowanego przepływu pracy do tworzenia wiarygodnych i zgodnych obrazów kontenerów pomaga przedsiębiorstwom zwiększyć bezpieczeństwo i zmniejszyć obszar ataków w łańcuchu dostaw dla kontenerów. Etap kompilacji struktury CSSC jest przeznaczony do spełnienia następujących celów zabezpieczeń.

Zmniejszenie obszaru podatnego na ataki spowodowane niewłaściwą kontrolą dostępu

Użytkownicy wewnętrzni mogą wprowadzać nieoczekiwane zmiany lub nieprawidłowe konfiguracje infrastruktury kompilacji. Etap kompilacji w strukturze CSSC rozwiązuje to ryzyko, wymuszając domyślnie najmniejszą kontrolę dostępu z uprawnieniami, dzięki czemu właściciele zasobów mogą zapewnić, że właściwa osoba ma odpowiednie uprawnienia do wprowadzania zmian i konfiguracji, co zmniejsza obszar ataków.

Zmniejszanie obszaru ataków ze strony złośliwych użytkowników wewnętrznych

Kradzież tożsamości może służyć do uzyskiwania dostępu do platformy kompilacji, modyfikowania plików binarnych i wstrzykiwania nielegalnych zmian niewidocznych dla oryginalnego dewelopera i użytkowników. Istnieje również ryzyko wprowadzenia kodu podatnego na zagrożenia lub błędnej konfiguracji przez użytkowników wewnętrznych. Etap kompilacji w strukturze CSSC rozwiązuje to ryzyko, stosując kontrolę dostępu opartą na rolach platformy Azure (Azure RBAC) i wymuszając przegląd kodu od różnych właścicieli kodu.

Zmniejszanie obszaru ataków z powodu zależności zewnętrznych

Obrazy podstawowe ze źródeł zewnętrznych mogą być złośliwe. Zewnętrzne rejestry mogą zostać naruszone. Etap kompilacji w strukturze CSSC eliminuje to ryzyko przy użyciu obrazów bazowych tylko z katalogu i weryfikowania ich pod kątem podpisów, raportów luk w zabezpieczeniach i złośliwego oprogramowania oraz innych metadanych obrazu przed ich użyciem.

Złośliwe pakiety oprogramowania typu open source (OSS) z ukrytymi backdoorami mogą spowodować, że pliki binarne pakietu nie są zgodne z kodem źródłowym. Ważność zależności lub składników typu open source może wygasnąć, blokując najnowsze poprawki zabezpieczeń z nadrzędnego źródła. Etap kompilacji w strukturze CSSC eliminuje to ryzyko przy użyciu zatwierdzonych bibliotek, skanowania pod kątem luk w zabezpieczeniach i złośliwego oprogramowania w regularnych odstępach czasu oraz aktualizowania bibliotek.

Zmniejszanie obszaru ataków z powodu naruszonych kompilacji

Podatni na zagrożenia agenci kompilacji mogą wprowadzać pliki binarne po stronie lub złośliwy kod, który może powodować ataki, takie jak atak SolarWinds. Etap kompilacji w strukturze CSSC eliminuje to ryzyko przez regularne stosowanie poprawek agentów kompilacji.

Zapewnianie minimalnej jakości obrazu

Na etapie kompilacji struktury CSSC przedsiębiorstwa mogą skonfigurować wymagane kroki na potrzeby skanowania obrazów pod kątem luk w zabezpieczeniach i złośliwego oprogramowania po kompilacji oraz generowania raportów. Przedsiębiorstwa mogą również wzbogacić obrazy po kompilacji o dodatkowe metadane, w tym SBOMs, metadane pochodzenia i inne wewnętrzne metadane spełniające ich zasady. Mogą również podpisać artefakty przy użyciu kluczy przedsiębiorstwa, aby zapewnić integralność i zapewnić zaufaną sygnaturę zatwierdzenia dla etapu wdrażania.

Firma Microsoft oferuje zestaw narzędzi i usług, które mogą pomóc przedsiębiorstwom w zaimplementowaniu zalecanych kroków w przepływie pracy etapu kompilacji i sprostać celom zabezpieczeń wymienionym powyżej.

Narzędzia do aktualizowania po kompilacji

Dependabot to narzędzie do automatyzowania aktualizacji zależności za pośrednictwem żądań ściągnięcia. Aby uzyskać szczegółowe informacje i następne kroki, zapoznaj się z tym przewodnikiem.

Copa to projekt typu open source wspierany przez firmę Microsoft, który usuwa luki w zabezpieczeniach pakietów systemu operacyjnego Linux w obrazach kontenerów na podstawie wyników skanowania luk w zabezpieczeniach. Aby uzyskać szczegółowe informacje i następne kroki, zapoznaj się z tym przewodnikiem.

Narzędzia i usługa do ciągłego skanowania luk w zabezpieczeniach i stosowania poprawek obrazów

Microsoft Defender dla Chmury jest rozwiązaniem natywnym dla chmury, które usprawnia, monitoruje i utrzymuje bezpieczeństwo konteneryzowanych obciążeń. Microsoft Defender dla Chmury oferuje narzędzia do oceny luk w zabezpieczeniach i zarządzania obrazami przechowywanymi w usłudze Azure Container Registry.

Copa to projekt typu open source wspierany przez firmę Microsoft, który usuwa luki w zabezpieczeniach pakietów systemu operacyjnego Linux w obrazach kontenerów na podstawie wyników skanowania luk w zabezpieczeniach. Aby uzyskać szczegółowe informacje i następne kroki, zapoznaj się z tym przewodnikiem.

Narzędzia i usługi do wzbogacania obrazów zewnętrznych za pomocą metadanych przedsiębiorstwa

ORAS to projekt CNCF wspierany przez firmę Microsoft, który oferuje interfejs wiersza polecenia open source i biblioteki do interakcji z rejestrami OCI. Usługi ORAS mogą służyć do dodawania adnotacji i dołączania metadanych do obrazu kontenera. Usługa ORAS może służyć do dodawania maszyn SBOM, metadanych pochodzenia i innych metadanych w celu wzbogacania obrazów na potrzeby kolejnych etapów łańcucha dostaw.

Narzędzie SBOM firmy Microsoft jest narzędziem typu open source, wysoce skalowalnym i gotowym do użycia w przedsiębiorstwie, które umożliwia tworzenie zgodnych maszyn SBOM SPDX 2.2 dla różnych artefaktów. Narzędzie SBOM może służyć do generowania szczegółowych maszyn SBOM dla obrazów kontenerów.

Notary Project to oparty na firmie Microsoft projekt CNCF, który opracowuje specyfikacje i narzędzia do podpisywania i weryfikowania artefaktów oprogramowania. Narzędzie Notary Project notation może służyć do podpisywania obrazów kontenerów i innych artefaktów natywnych dla chmury przy użyciu kluczy przedsiębiorstwa.

Azure Key Vault to oparta na chmurze usługa, która zapewnia bezpieczną i scentralizowaną lokalizację do przechowywania kluczy kryptograficznych, wpisów tajnych i certyfikatów oraz zarządzania nimi. Usługa AKV może służyć do bezpiecznego i niezawodnego przechowywania kluczy przedsiębiorstwa oraz zarządzania nimi.

Następne kroki

Zobacz omówienie etapu Wdrażanie w celu bezpiecznego wdrażania obrazów kontenerów.