Wyszukiwanie w witrynie

Chainguard wypuszcza Wolfi, „niedystrybucję” Linuksa


Chainguard przyjmuje nowe podejście do tworzenia kontenerowego systemu Linux ze wszystkimi zabezpieczeniami, których potrzebujesz.

Istnieje wiele dystrybucji Linuksa zaprojektowanych specjalnie dla kontenerów. Nawet Microsoft ma taki, Common Base Linux (CBL)-Mariner. Inne obejmują Alpine Linux, Flatcar Container Linux, Red Hat Enterprise Linux CoreOS (RHCOS) i RancherOS. Teraz Chainguard, firma zajmująca się bezpieczeństwem oprogramowania działającego w chmurze, ma nowe podejście do tego popularnego, przyjaznego dla chmury rodzaju Linuksa: Wolfi, „niedystrybucja”.

Zapytałem dyrektora generalnego i założyciela Chainguard, Dana Lorenca, na Open Source Summit Europe w Dublinie, co ma na myśli mówiąc „niedystrybucja”. Wyjaśnił: „Nazywamy to niedystrybucją, ponieważ jest to technicznie poprawne. W kontenerze masz wszystko oprócz Linuksa, prawda? Zatem mimo że jest on oparty na Linuksie, nazywanie tego dystrybucją Linuksa nie jest właściwe”.

To, co większość ludzi nazywa kontenerem Linuksa, kontynuował Lorenc, to „dystrybucja, która uruchamia się na sprzęcie i przenosi do środowiska wykonawczego kontenera. Alpine jest prawdopodobnie najczęściej używaną tego typu dystrybucją. Wolfi jest jej przeciwieństwem. Jest bezdystrybucyjna. Jest minimalna do tego stopnia, że nie mam nawet menedżera pakietów.” Wystarczy, aby uruchomić skonteneryzowaną aplikację i to wszystko.

Do stworzenia nowego wariantu Linuksa Lorenc powiedział: „Zatrudniliśmy grupę oryginalnego zespołu Alpine. Ale Alpine nigdy nie był projektowany dla kontenerów. Pierwotnie był przeznaczony dla routerów, oprogramowania sprzętowego i tym podobnych rzeczy. Co czyniło go atrakcyjnym dla kontenerów była ich wielkość i bezpieczeństwo.” Ze względu na bezpieczeństwo Wolfi przenosi to minimalne podejście do skrajności.

Lorenc wyjaśnił: „Wierzymy w maksymalne minimalizowanie zależności, co upraszcza kontrolowanie, aktualizowanie i przesyłanie obrazów, a także zmniejsza potencjalną powierzchnię ataku. Wolfi [nazwany tak od najmniejszej i najbardziej elastycznej ośmiornicy] został zaprojektowany od podstaw aby w pełni wykorzystać te skonteneryzowane środowiska przy jednoczesnej maksymalizacji bezpieczeństwa.”

Wolfi robi coś więcej, niż tylko wycina cały tłuszcz, żeby się zabezpieczyć. Posiada również wbudowane zabezpieczenia łańcucha dostaw oprogramowania. W szczególności kluczowe funkcje to:

  • Na podstawie formatu pakietu Alpine (APK).
  • Pakiety mają odpowiednią szczegółowość i niezależność, aby obsługiwać minimalne obrazy
  • Do wszystkich pakietów dołączono wysokiej jakości zestawienie materiałów oprogramowania (SBOM) przeznaczone do użytku w czasie kompilacji
  • W pełni deklaratywny i odtwarzalny system kompilacji

W praktyce obrazy Chainguarda bez dystrybucji są codziennie odtwarzane ze źródeł zewnętrznych. Obrazy są podpisywane za pośrednictwem Sigstore, standardu podpisywania i weryfikacji kodu, i opisywane w SBOM. Podpis ten można zweryfikować, aby wykazać, że obraz jest tym, czego oczekiwałeś i jest wolny od wszelkich manipulacji.

Chainguard twierdzi, że każdy pakiet na tych obrazach jest domyślnie odtwarzalny. Innymi słowy, taki sam obraz otrzymasz, jeśli samodzielnie zbudujesz pakiet z kodu źródłowego. Gwarantują to również poziomy łańcucha dostaw dla artefaktów oprogramowania (SLSA, wymawiane salsa). Jest to struktura zabezpieczeń typu „od źródła do usługi”, zapewniająca integralność artefaktów oprogramowania poprzez ochronę przed nieautoryzowanymi zmianami pakietów oprogramowania.

Wszystkie te podpisy, pochodzenie i SBOM są przechowywane w nowym rejestrze Open Container Initiative (OCI) obok obrazów. Następnie możesz je sprawdzić za pomocą narzędzi do cosign Sigstore, dzięki czemu możesz zaufać obrazom.

Jak na ironię Lorenc powiedział: „Dzięki aktualizowaniu wszystkiego i minimalizowaniu liczby zależności” Chainguard sprawia, że „skanery bezpieczeństwa kodu, takie jak grype, Snyk i Trivy, zgłaszają tak niewiele luk w zabezpieczeniach naszych obrazów, że ludzie czasami myślą ich skanery nie działają. Jednak to ograniczenie radykalnie zmniejsza obciążenie zespołów odpowiedzialnych za badanie i łagodzenie potencjalnych problemów związanych z bezpieczeństwem”.

Oprócz Wolfi firma Chainguard aktualizuje obrazy Chainguard, w tym obrazy podstawowe dla samodzielnych plików binarnych, aplikacji takich jak Nginx i narzędzi programistycznych, takich jak kompilatory Go i C.

Jeśli więc podoba Ci się pomysł umieszczenia w obrazach najnowszego kodu i pełnego bezpieczeństwa łańcucha dostaw, zdecydowanie sugeruję wypróbowanie Wolfi. Możesz to zrobić, przeglądając i wybierając obrazy z repozytorium Wolfi GitHub. Zawierają one dokumentację instruktażową i można je łatwo zintegrować z istniejącymi procesami produkcyjnymi. I oczywiście możesz sprawdzić podpisywanie zabezpieczeń i SBOM za pomocą narzędzia cosign.

Powiązane artykuły