Czym jest bezpieczeństwo kontenerów w środowisku Azure?

Na bezpieczeństwo kontenerów w środowisku Azure składają się czynności skanowania w poszukiwaniu luk w całym cyklu życia kontenera, wykorzystywanie tylko zaufanych obrazów z rejestrów prywatnych, ograniczanie uprawnień i dostępu użytkowników oraz ciągłe skanowanie i monitorowanie całej aktywności.

Bezpieczeństwo kontenerów w środowisku Azure

Microsoft Azure to najszybciej rozwijająca się i największa aplikacja chmurowa z obecnie dostępnych na rynku. Używana przez 95% firm z listy Fortune 500 usługa Microsoft Azure to platforma przetwarzania danych w chmurze dająca deweloperom swobodę tworzenia, wdrażania i obsługi aplikacji z dowolnego miejsca. Zapewnia szeroki wybór zróżnicowanych usług, w tym obsługę maszyn wirtualnych, Internetu rzeczy (IoT) i kontenerów.

Kontenery Microsoft Azure zapewniają zarówno deweloperom, jak i organizacjom niezbędną elastyczność i skalowalność, jakie są poszukiwane w usłudze chmurowej, a także solidną infrastrukturę. Jednak pomimo zalet kontenerów Azure nie zapewniają one zintegrowanej ochrony natywnej. Klient musi sam zabezpieczyć swoje kontenery na platformie Azure.

O czym należy pamiętać

Oto niektóre elementy, o których należy pamiętać przy zabezpieczaniu kontenerów na platformie Azure:

  • Obrazy
  • Poświadczenia
  • Rejestr
  • Jądro

 

Obrazy

Tak jak w przypadku wszystkich kontenerów, zabezpieczenie obrazów w kontenerach Azure jest jednym z najważniejszych elementów należytej ochrony. Kontenery są tworzone z obrazów przechowywanych w repozytoriach. Każdy obraz ma wiele warstw oprogramowania, a każda z nich może zawierać luki i ulec zainfekowaniu. Dopuszczając do środowiska programowania tylko zatwierdzone obrazy kontenerów, istotnie ograniczasz cyberprzestępcom pole do przeprowadzenia potencjalnego ataku. Bardzo ważne jest zatem zapewnienie przejrzystych procesów i narzędzi do wykrywania i blokowania niezatwierdzonych obrazów kontenerów.

Inną opcją kontrolowania napływu kontenerów do środowiska jest podpisywanie obrazów lub tworzenie ich cyfrowych odcisków. Pozwala to uzyskać łańcuch kontroli umożliwiający weryfikowanie integralności kontenerów i ich obrazów. Przed wysłaniem jakichkolwiek obrazów do rejestru należy koniecznie przeprowadzić skanowanie luk w zabezpieczeniach kontenerów, które jest ostatnim etapem oceny po zakończeniu przygotowywania kontenera.

Poświadczenia

Jedną z najlepszych podstawowych metod zapewniania bezpieczeństwa jest maksymalne ograniczenie uprawnień. Nie inaczej jest w przypadku kontenerów Azure. Wykorzystanie luki w zabezpieczeniach obrazów lub jądra daje atakującym dostęp, a potencjalnie również uprawnienia, do kilku klastrów i obszarów. Zapewnienie działania kontenerów z użyciem możliwie najniższych uprawnień i najmniejszego zakresu dostępu pozwala ograniczyć ryzyko naruszenia bezpieczeństwa.

Likwidując wszelkie niepotrzebne uprawnienia, np. kiedy pracownik zmienia stanowisko lub odchodzi z firmy, można ograniczyć powierzchnię ataku na kontener. Innym sposobem, by to osiągnąć, jest usuwanie wszelkich niepotrzebnych lub nieużywanych uprawnień i procesów ze środowiska uruchomieniowego kontenera.

Rejestr

Kontenery Azure składają się z obrazów przechowywanych w rejestrze publicznym lub prywatnym. Choć pobieranie obrazów z rejestrów publicznych może wydawać się łatwiejsze, to nie gwarantuje bezpieczeństwa. Jak już wspomniano, obrazy kontenerów składają się z wielu warstw oprogramowania, z których każda może zawierać luki.

Obrazy w rejestrze publicznym zawierają złośliwe oprogramowanie częściej niż te pochodzące z rejestru prywatnego. Obrazy w rejestrach prywatnych są z reguły prawidłowo przeskanowane i stwarzają mniejsze zagrożenie. Rejestry prywatne są zarządzane przez użytkowników z odpowiednimi uprawnieniami dostępu, co zapewnia potencjalnie wyższy stopień kontroli i bezpieczeństwa. Przykładami rejestrów prywatnych z obrazami kontenerów są Azure Container Registry, Docker Trusted Registry czy projekt open source Harbor prowadzony przez Cloud Native Computing Foundation.

Jądro

Wszystkie komputery opierają się na modułach sprzętowych, a jądro — centralny element systemu operacyjnego — służy za pomost umożliwiający współpracę między tymi modułami a resztą systemu. W przeciwieństwie do maszyn wirtualnych we wszystkich usługach kontenerów występuje otwarty ruch sieciowy, a oprócz tego mają one wspólne jądro. Możliwość korzystania ze wspólnego jądra systemu operacyjnego jest jedną z największych zalet kontenerów, ale jednocześnie źródłem ogromnego ryzyka w sferze bezpieczeństwa.

Po uruchomieniu jądra i kontener nie są zbytnio odizolowane od siebie, co oznacza, że luka we wspólnym jądrze systemu operacyjnego może zostać wykorzystana do naruszenia bezpieczeństwa kontenerów i uzyskania dostępu do nich. Atakujący mogą następnie manipulować działaniem systemu operacyjnego bez wprowadzania złośliwego kodu, po prostu zmieniając dane jądra w pamięci.

Zabezpieczanie kontenerów Azure

Kontenery Microsoft Azure są przenośne, skalowalne i niezawodne, nic więc dziwnego, że większość firm chętnie korzysta z nich w swoich aplikacjach. Wystarczy zadbać o ich dokładne skanowanie pod kątem luk w zabezpieczeniach w całym cyklu życia oraz monitorowanie i rejestrowanie całej aktywności, aby spać spokojnie, nie martwiąc się o ich bezpieczeństwo.

Tematy dotyczące bezpieczeństwa kontenerów