Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten przewodnik przeprowadzi Cię przez wszystkie kroki konfiguracji, aby jak najlepiej wykorzystać zabezpieczenia aplikacji natywnych dla chmury Microsoft, dzięki integracji z usługą GitHub Advanced Security (GHAS) oraz Microsoft Defender dla chmury (MDC).
Postępując zgodnie z tym przewodnikiem, wykonasz następujące czynności:
- Konfigurowanie repozytorium GitHub dla pokrycia usługi Microsoft Defender for Cloud (MDC)
- Utwórz czynnik ryzyka w czasie wykonania
- Testowanie rzeczywistych przypadków użycia w usłudze MDC
- Łączenie kodu z zasobami w chmurze
- Rozpocznij kampanię zabezpieczeń w usłudze GitHub, korzystając z kontekstu środowiska uruchomieniowego w celu nadania priorytetów alertom zabezpieczeń GHAS na podstawie kontekstu środowiska uruchomieniowego
- Tworzenie zgłoszeń GitHub w MDC w celu rozpoczęcia działań naprawczych
- Zamykanie pętli między zespołami inżynieryjnymi i zespołami ds. zabezpieczeń
Wymagania wstępne
| Aspekt | Szczegóły |
|---|---|
| Wymagania środowiskowe | — Konto usługi GitHub z łącznikiem utworzonym w usłudze Microsoft Defender for Cloud (MDC) — Licencja usługi GitHub Advanced Security (GHAS) — Usługa Defender CSPM włączona w subskrypcji — GitHub Security Copilot (opcjonalnie na potrzeby zautomatyzowanego korygowania) |
| Role i uprawnienia | — Uprawnienia administratora zabezpieczeń — Czytelnik zabezpieczeń w subskrypcji platformy Azure (aby wyświetlić wyniki w usłudze MDC) - Właściciel organizacji usługi GitHub |
| Środowiska chmury | — Dostępne tylko w chmurach komercyjnych (nie w chmurach US Gov, China Gov ani innych chmurach suwerennych) |
Przygotowywanie środowiska
Krok 1. Konfigurowanie repozytorium GitHub i uruchamianie przepływu pracy
Aby przetestować integrację, użyj własnych repozytoriów lub przykładowego repozytorium GitHub, które zawiera już całą zawartość, aby utworzyć obraz kontenera podatnego na zagrożenia.
Upewnij się, że zdefiniujesz łącznik dla organizacji usługi GitHub, której planujesz używać w portalu usługi Microsoft Defender for Cloud. Aby uzyskać definicję łącznika, wykonaj kroki opisane w temacie Łączenie organizacji usługi GitHub.
Upewnij się, że masz skonfigurowane skanowanie kodu bez agenta dla łącznika usługi GitHub. Jeśli tak nie jest, wykonaj kroki opisane w temacie Konfigurowanie skanowania kodu bez agenta (wersja zapoznawcza).
Uwaga / Notatka
Upewnij się, że repozytorium używane na potrzeby integracji jest prywatne.
Jeśli chcesz użyć przykładowego repozytorium, sklonuj następujące repozytorium do swojej organizacji na GitHubie. To repozytorium ma włączoną usługę GHAS i jest dołączane do dzierżawy platformy Azure z włączoną funkcją DCSPM:build25-woodgrove/mdc-customer-playbook. To repozytorium jest przeznaczone dla klientów do testowania integracji usługi Microsoft Defender for Cloud i GHAS.
W repozytorium wykonaj następujące kroki:
- Przejdź do Ustawienia.
- Na panelu po lewej stronie wybierz pozycję Tajne informacje i zmienne>.Akcje.
- Dodaj następujące sekrety na poziomie repozytorium lub organizacji:
| Variable | Description |
|---|---|
| ACR_ENDPOINT | Serwer logowania usługi Azure Container Registry |
| ACR_PASSWORD | Hasło usługi Azure Container Registry |
| ACR_USERNAME | Nazwa użytkownika usługi Azure Container Registry |
Uwaga / Notatka
Nazwy można wybierać swobodnie i nie muszą być zgodne z określonym wzorcem.
Te informacje można znaleźć w witrynie Azure Portal, wykonując następujące czynności:
Wybierz ACR, do którego chcesz wdrożyć.
Wybierz pozycję Klucze dostępu w obszarze Ustawienia.
W repozytorium wybierz pozycję Akcje.
Wybierz przepływ pracy Kompilowanie i przepychanie do ACR i uruchom pracę.
Sprawdź, czy obraz został wdrożony do rejestru kontenerów Azure.
Dla podanego przykładowego repozytorium: Obraz powinien znajdować się w rejestrze o nazwie mdc-mock-0001 z tagiem mdc-ghas-integration.
Wdróż ten sam obraz jako działający kontener w swoim klastrze. Jednym ze sposobów wykonania tego kroku jest nawiązanie połączenia z klastrem i użycie
kubectl runpolecenia . Oto przykład usługi AKS:Ustaw subskrypcję klastra:
az account set --subscription $subscriptionIDUstaw poświadczenia dla klastra:
az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existingWdróż obraz:
kubectl run $containerName --image=$registryName.azurecr.io/mdc-mock-0001:mdc-ghas-integration
Krok 2. Tworzenie pierwszego czynnika ryzyka — reguła krytyczna dla działania firmy
Jednym z czynników ryzyka wykrywanych przez usługę Defender for Cloud dla tej integracji jest kluczowość biznesowa. Organizacje mogą tworzyć reguły, aby oznaczyć różne zasoby jako krytyczne dla działania firmy.
W witrynie Microsoft Defender for Cloud Portal (Azure Portal) przejdź do pozycji Ustawienia środowiska, wybierz pozycję Krytyczne zasoby.
W okienku po prawej stronie wybierz link, aby otworzyć usługę Microsoft Defender.
Wybierz pozycję Utwórz nową klasyfikację.
Wprowadź nazwę i opis.
W konstruktorze zapytań wybierz pozycję Zasób w chmurze .
Napisz zapytanie, aby ustawić nazwę zasobu równą nazwie kontenera wdrożonego w klastrze w celu weryfikacji, a następnie wybierz pozycję Dalej.
Na stronie Zasoby w wersji zapoznawczej , jeśli usługa Microsoft Defender już wykryła zasób, nazwa kontenera będzie wyświetlana z typem zasobu K8s-container lub K8s-pod. Nawet jeśli nie jest jeszcze widoczny na stronie zasobów w wersji zapoznawczej, przejdź do następnego kroku. Usługa Microsoft Defender stosuje etykietę krytyczności do kontenera po wykryciu. Ten proces może potrwać do 24 godzin.
Wybierz poziom krytyczny, a następnie przejrzyj i prześlij regułę klasyfikacji.
Krok 3. Sprawdzanie, czy środowisko jest gotowe
Uwaga / Notatka
Po zastosowaniu poprzednich kroków, może minąć do 24 godzin, zanim zobaczą Państwo następujące wyniki.
Sprawdź, czy skanowanie bez agenta GitHub wykrywa repozytorium.
Przejdź do Eksploratora zabezpieczeń w chmurze i wykonaj zapytanie.
Sprawdź, czy usługa MDC (w usłudze ACR) przeskanowała obraz kontenera i użyła go do utworzenia kontenera. W zapytaniu dodaj warunki określonego wdrożenia.
Potwierdź, że kontener jest uruchomiony i że MDC przeskanowało klaster AKS.
Sprawdź, czy czynniki ryzyka są prawidłowo skonfigurowane po stronie rozwiązania MDC. Wyszukaj nazwę swojego kontenera na stronie inwentarza MDC, a powinna być oznaczona jako krytyczna.
Krok 4. Tworzenie kampanii usługi GitHub
Ponieważ przepływ pracy wdraża obraz, który tworzy uruchomiony kontener z jednym z czynników ryzyka (krytyczny dla działania firmy), deweloperzy mogą zobaczyć czynniki ryzyka w usłudze GitHub.
Uwaga / Notatka
Po sklasyfikowaniu zasobu jako krytycznego może upłynąć do 12 godzin, aby usługa MDC wysyłała dane do usługi GitHub. Dowiedz się więcej tutaj.
W usłudze GitHub przejdź do organizacji usługi GitHub używanej do testowania konfiguracji.
Wybierz pozycję Zabezpieczeń>Kampanie>Utwórz kampanię na podstawie filtrów skanowania kodu.
Utwórz następującą kampanię. Ta kampania pokazuje otwarte alerty o średniej ważności, w których obraz wdrożony z repozytorium jest powiązany z zasobem krytycznym. Repozytorium testowe powinno zostać wykryte w tej kampanii.
Wybierz pozycję Zapisz , a następnie pozycję Publikuj jako kampanię.
Wprowadź wymagane informacje, a następnie opublikuj kampanię.
Krok 5: Ocena zaleceń dotyczących przekształcenia kodu na chmurę
Użyj doświadczenia SDLC rekomendacji C2C i wzbogacenia alertów bezpieczeństwa, aby zrozumieć stan zagadnień związanych z bezpieczeństwem i przypisać rekomendacje dotyczące rozwiązania odpowiedniemu zespołowi inżynieryjnemu, korzystając z połączenia alertów bezpieczeństwa Dependabot z pasującymi CVE na karcie Skojarzone CVE rekomendacji środowiska uruchomieniowego.
Wyświetl zalecenia C2C
- W portalu MDC przejdź do karty Zalecenia .
- Wyszukaj nazwę utworzonego kontenera i otwórz jedną z rekomendacji z informacją **Aktualizuj ***.
- Jeśli użyto przykładowego repozytorium, poszukaj rekomendacji dotyczącej aktualizacji rozszerzenia nawiasu klamrowego.
- Przejdź do karty Szczegółowe informacje dotyczące korygowania i wyświetl kod na diagramie chmury.
- Diagram mapuje uruchomiony kontener z obrazem kontenera w repozytorium kodu, do oryginalnego repozytorium kodu w usłudze GitHub.
Wzbogacanie dwukierunkowe
Wybierz kartę Skojarzone CVE. Zwróć uwagę, że niektóre CVE mają link w kolumnie Powiązane alerty GitHub.
Wybierz link Wyświetl w witrynie GitHub, aby otworzyć odpowiedni alert zabezpieczeń GHAS.
Mobilizacja inżynierów
Aby zamknąć pętlę między zespołami ds. zabezpieczeń i inżynierii, możesz utworzyć problem z usługą GitHub dla konteneryzowanej aplikacji o priorytowaniu dla zespołu inżynierów problemów z zabezpieczeniami, na których powinni się skupić. Ta priorytetyzacja może obejmować przekazywanie wyników, których GHAS nie wykrył, ale MDC wykryło dla CVE, które nie są częścią bezpośrednich zależności (na przykład luki w zabezpieczeniach w obrazie podstawowym, systemie operacyjnym lub oprogramowaniu stron trzecich, takim jak NGINX).
Problem z systemem GitHub jest generowany automatycznie i zawiera wszystkie znalezione CVE w zakresie rekomendacji. Obejmuje to zarówno te z alertami Dependabot, jak i bez nich, wraz z innym kontekstem środowiska uruchomieniowego w repozytorium pochodzenia.
Po przypisaniu zadania status problemu zostaje zaktualizowany w portalu MDC.
Poprawki związane z działaniem lub agencją
Po stronie usługi GitHub, jeśli masz licencję gitHub Copilot, możesz rozwiązać problem z pomocą agenta kodowania GitHub:
- Przypisz agenta kodowania GitHub do problemu.
- Przejrzyj wygenerowaną poprawkę.
- Jeśli wydaje się to uzasadnione, zastosuj poprawkę.
- Obserwuj aktualizację stanu problemu w systemie MDC na Zamknięte.