Omówienie etapu Pozyskiwanie
Pozyskiwanie zewnętrznych obrazów kontenerów do użycia jako obrazów podstawowych lub narzędziowych jest pierwszym etapem łańcucha dostaw dla kontenerów. Przedsiębiorstwa mogą nie mieć wiedzy lub zasobów do tworzenia każdego oprogramowania ze źródła i muszą polegać na źródłach zewnętrznych dla obrazów kontenerów. Przykłady takich obrazów to obrazy systemu operacyjnego lub struktury, serwery proxy usług, takie jak NGINX i Envoy, lub rejestrowanie i obrazy metryk, takie jak Fluentd i Kafka. Ważne jest, aby przed użyciem ustanowić pewne kontrole jakości i zapewnić zgodność takich obrazów z zasadami przedsiębiorstwa.
Platforma Secure Supply Chain (CSSC) firmy Microsoft identyfikuje potrzebę pozyskiwania obrazów zewnętrznych. Struktura CSSC zaleca zestaw standardowych rozwiązań i narzędzi, które ułatwiają bezpieczne uzyskiwanie zewnętrznych obrazów kontenerów do użytku wewnętrznego. W tym artykule poznasz cele, standardowe praktyki i narzędzia, których można używać na etapie Uzyskiwanie struktury CSSC.
Tło
Obecnie przedsiębiorstwa nie mają ustalonego procesu pozyskiwania zewnętrznych obrazów kontenerów. Podejścia różnią się w zależności od wielkości i wiedzy przedsiębiorstwa.
Przedsiębiorstwa ukierunkowane na zabezpieczenia dostarczają wstępnie zatwierdzone obrazy ze źródeł zewnętrznych, takich jak Docker Hub, do wewnętrznego rejestru kwarantanny . Te obrazy są sprawdzane pod kątem luk w zabezpieczeniach i złośliwego oprogramowania przed ich udostępnieniem do użytku wewnętrznego. Jednak ten proces nie jest jednolity ani całkowicie zautomatyzowany. Przedsiębiorstwa nie mają również metody zagwarantowania autentyczności i integralności tych obrazów w całym łańcuchu dostaw. Na koniec nie mają one spójnego sposobu wzbogacania obrazów dodatkowymi metadanymi na kolejnych etapach łańcucha dostaw.
Przedsiębiorstwa rozpoczynające podróż zabezpieczeń używają obrazów kontenerów z zewnętrznych rejestrów bezpośrednio w skryptach kompilacji i wdrażania. Takie podejście może powodować luki w zabezpieczeniach, złośliwe oprogramowanie i niezgodne oprogramowanie, co narusza dostępność kompilacji obrazów i usług konteneryzowanych.
Etap pozyskiwania struktury CSSC zaleca zestaw kroków i mechanizmów kontroli zabezpieczeń, które należy zaimplementować, aby upewnić się, że obrazy zewnętrzne są weryfikowane i zgodne z zasadami przedsiębiorstwa przed ich wewnętrznym użyciem.
Zalecane wskazówki
Firma Microsoft zaleca tworzenie oprogramowania ze źródła zawsze, gdy jest to możliwe. W przypadku, gdy przedsiębiorstwa nie są w stanie tego zrobić, zalecamy wykonanie następujących praktyk dotyczących pozyskiwania zewnętrznych obrazów kontenerów i artefaktów natywnych dla chmury.
- Zaimportuj obrazy zewnętrzne do rejestru wewnętrznego objętego kontrolą przedsiębiorstwa, aby usunąć zależność od innych firm i zmniejszyć wpływ na dostępność. Należy importować obrazy tylko z zaufanych źródeł.
- Gdy jest dostępna, zweryfikuj podpisy obrazów zewnętrznych, aby zapewnić autentyczność i integralność obrazu wydawcy podczas procesu importowania.
- Przed zezwoleniem na użycie wewnętrzne przeskanuj obrazy kontenerów pod kątem luk w zabezpieczeniach i złośliwego oprogramowania, aby zmniejszyć ryzyko wprowadzenia luk w zabezpieczeniach.
- Wzbogacanie obrazów kontenerów o dodatkowe metadane, takie jak SBOMs, pochodzenie i cykl życia, aby umożliwić zasady w kolejnych etapach łańcucha dostaw oprogramowania.
- Podpisywanie obrazów kontenerów i odpowiednich metadanych przy użyciu kluczy przedsiębiorstwa w celu zapewnienia integralności i zapewnienia zaufanej sygnatury zatwierdzenia do użytku wewnętrznego.
Wskazówki dotyczące struktury CSSC firmy Microsoft są również zgodne ze wskazówkami dotyczącymi zabezpieczania materiałów w łańcuchu dostaw oprogramowania CNCF.
Przepływ pracy na potrzeby pozyskiwania obrazów zewnętrznych
Pomimo zaufania przedsiębiorstw umieszczanych w dostawcach lub projektach open source, powinni zawsze weryfikować oprogramowanie, które uzyskują ze źródeł zewnętrznych. Obrazy kontenerów i artefakty natywne dla chmury nie są wyjątkiem. Struktura CSSC zaleca następujący przepływ pracy na potrzeby uzyskiwania obrazów zewnętrznych.
- Zaimportuj obrazy kontenerów i artefakty natywne dla chmury do rejestru wewnętrznego pod kontrolą przedsiębiorstwa.
- Poddaj kwarantannie obrazy w rejestrze wewnętrznym, aby uniemożliwić ich używanie wewnętrznie, dopóki nie zostaną zweryfikowane.
- Zweryfikuj wszelkie podpisy skojarzone z obrazem, aby zapewnić autentyczność i integralność obrazu, jeśli podpisy znajdują się w rejestrze zewnętrznym.
- Zweryfikuj wszelkie inne metadane skojarzone z obrazem, w tym SBOMs i pochodzenie, aby zapobiec naruszeniu zasad przedsiębiorstwa, takich jak niezgodne licencje, jeśli dodatkowe metadane znajdują się w rejestrze zewnętrznym.
- Skanuj obrazy pod kątem znanych luk w zabezpieczeniach i złośliwego oprogramowania, aby zapobiec wprowadzeniu wad zabezpieczeń.
- 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.
- Jeśli nie jest dostępna, wygeneruj SBOM i pochodzenie obrazu i dołącz je jako zaświadczania obrazów do użycia w kolejnych etapach łańcucha dostaw.
- Wzbogacanie obrazów o dodatkowe metadane, takie jak metadane cyklu życia, do użycia w kolejnych etapach łańcucha dostaw.
- Podpisz obraz i odpowiednie metadane przy użyciu kluczy przedsiębiorstwa, aby zapewnić integralność i zapewnić zaufaną sygnaturę zatwierdzenia do użytku wewnętrznego.
- Jeśli obraz spełnia zasady wewnętrzne, opublikuj obraz w złotym rejestrze do użytku wewnętrznego.
Cele zabezpieczeń na etapie uzyskiwania
Posiadanie dobrze zdefiniowanego przepływu pracy na potrzeby pozyskiwania obrazów zewnętrznych pomaga przedsiębiorstwom zwiększyć bezpieczeństwo i zmniejszyć obszar ataków w łańcuchu dostaw dla kontenerów. Etap pozyskiwania struktury CSSC jest przeznaczony do spełnienia następujących celów dotyczących zabezpieczeń.
Zmniejszanie obszaru ataków z powodu zależności zewnętrznych
Rejestry publiczne są podatne na różne rodzaje ataków ze względu na ich otwarty charakter i brak rygorystycznych środków bezpieczeństwa. Zezwalanie użytkownikom w przedsiębiorstwie na bezpośrednie ściąganie obrazów z rejestrów zewnętrznych naraża ich na ataki, takie jak zamieszanie zależności i literówki.
Etap Pozyskiwania w strukturze CSSC rozwiązuje to ryzyko, scentralizowanie pozyskiwania i zarządzania artefaktami zewnętrznymi oraz oferowanie użytkownikom wewnętrznym pojedynczego źródła prawdy dla wszystkich obrazów i artefaktów natywnych dla chmury.
Minimalizowanie ryzyka wprowadzenia luk w zabezpieczeniach
Brak rygorystycznych procesów weryfikacji i zatwierdzania obrazów w publicznych rejestrach oznacza, że każdy może wypychać obrazy bez rygorystycznej kontroli. Zwiększa to ryzyko nieumyślnego użycia naruszonych obrazów, które mogą wprowadzać luki w zabezpieczeniach w aplikacjach dla przedsiębiorstw.
Etap Uzyskiwanie eliminuje to ryzyko przez dodanie wymaganego kroku w celu zabezpieczenia i skanowania obrazów przed zatwierdzeniem ich do użytku wewnętrznego. Kolejną dodatkową zaletą importowania obrazów do rejestru wewnętrznego jest możliwość regularnego skanowania i stosowania poprawek tych obrazów.
Zwiększanie dostępności kompilacji i wdrożeń kontenerów
Ze względu na potrzebę dystrybucji obrazów kontenerów w skali globalnej rejestry publiczne są podatne na ograniczanie przepustowości. Rejestry publiczne są również celami ataków DDoS, które mogą mieć wpływ na dystrybucję obrazów. Na koniec publiczne rejestry są hostowane w infrastrukturze, która nie jest pod kontrolą przedsiębiorstwa i może mieć wpływ na awarie. Wszystko to może spowodować opóźnienia lub błędy w kompilacjach i wdrożeniach przedsiębiorstwa.
Importując obrazy z rejestrów zewnętrznych do rejestru wewnętrznego, etap Uzyskiwanie rozwiązuje to ryzyko, usuwając zależność od rejestrów zewnętrznych i umożliwiając przedsiębiorstwom kontrolowanie szybkości ściągania obrazów z rejestrów wewnętrznych. Rejestry prywatne mogą być również lepiej chronione przed atakami zewnętrznymi i spełniać wymagania dotyczące dostępności przedsiębiorstwa.
Kontrolowanie cyklu życia obrazów zewnętrznych
Wydawcy oprogramowania mogą aktualizować obrazy w rejestrach zewnętrznych bez powiadomienia. Może to spowodować nieoczekiwane zmiany w kompilacjach i wdrożeniach przedsiębiorstwa. Ponadto obrazy można usunąć z rejestrów zewnętrznych bez powiadomienia, co może spowodować niepowodzenie kompilacji i wdrożeń przedsiębiorstwa.
Wprowadzając pośredni rejestr do hostowania obrazów zewnętrznych, etap Uzyskiwanie rozwiązuje to ryzyko, oferując buforowane wersje obrazów wymaganych do użytku wewnętrznego. Dzięki temu przedsiębiorstwa mogą kontrolować cykl życia obrazów i upewnić się, że są one wycofane zgodnie z zasadami przedsiębiorstwa.
Zapewnianie minimalnej jakości obrazu
Podczas gdy niektórzy wydawcy obrazów zewnętrznych zaczynają dołączać zaświadczania, takie jak SBOMs i pochodzenie, a także podpisywać obrazy kontenerów, wiele obrazów w publicznych rejestrach nie ma takich zaświadczeń. Dzieje się tak również dlatego, że niektóre rejestry publiczne nie obsługują takich możliwości. Utrudnia to przedsiębiorstwom zapewnienie zgodności pobieranych obrazów z zasadami.
Na etapie Uzyskiwanie struktury CSSC przedsiębiorstwa mogą wzbogacić obrazy o dodatkowe metadane, w tym SBOMs, pochodzenie, cykl życia 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 do użytku wewnętrznego.
Zalecane narzędzia
Firma Microsoft oferuje zestaw narzędzi i usług, które mogą pomóc przedsiębiorstwom wdrożyć zalecane kroki w przepływie pracy Uzyskiwanie etapu i rozwiązać cele zabezpieczeń wymienione powyżej.
Narzędzia i usługi do importowania obrazów zewnętrznych
Usługa Azure Container Registry (ACR) to zarządzany rejestr zgodny ze standardem OCI, który obsługuje dystrybucję obrazów kontenerów i innych artefaktów natywnych dla chmury. Usługa ACR jest zgodna z najnowszymi specyfikacjami OCI i może służyć do przechowywania artefaktów łańcucha dostaw.
Możliwość importowania usługi ACR może służyć do importowania obrazów z rejestrów zewnętrznych do usługi ACR. Import zachowuje skrót obrazu i tagi i umożliwia importowanie obrazów z dowolnego rejestru publicznego i prywatnego, który obsługuje interfejs API rejestru platformy Docker w wersji 2.
ORAS to projekt CNCF wspierany przez firmę Microsoft, który oferuje interfejs wiersza polecenia open source i biblioteki do interakcji z rejestrami OCI. Usługa ORAS może również służyć do kopiowania obrazów i innych artefaktów OCI z rejestrów zewnętrznych do usługi ACR.
Narzędzia i usługi do weryfikowania obrazów zewnętrznych
Usługa ACR Tasks to zestaw funkcji w usłudze Azure Container Registry, który umożliwia przedsiębiorstwom automatyzowanie różnych zadań, takich jak skanowanie luk w zabezpieczeniach lub SBOM lub walidacja podpisu. Usługa ACR Tasks może służyć do weryfikowania obrazów zewnętrznych po ich zaimportowaniu do usługi Azure Container Registry. Za pomocą usługi ACR Tasks można również zautomatyzować importowanie obrazów z rejestrów zewnętrznych do usługi Azure Container Registry.
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.
Narzędzia do wzbogacania obrazów zewnętrznych za pomocą metadanych przedsiębiorstwa
Jako uniwersalne narzędzie do interakcji z rejestrami OCI, usługa ORAS może również służyć do dodawania adnotacji i dołączania metadanych do obrazu kontenera. Usługa ORAS może służyć do dodawania SBOMs, pochodzenia, cyklu życia 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.
Następne kroki
Zobacz omówienie etapu wykazu, aby bezpiecznie hostowania obrazów kontenerów do użytku wewnętrznego.