Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten przewodnik zawiera kroki konfiguracji i inne akcje ułatwiające integrację GitHub Advanced Security (GHAS) i Microsoft Defender dla Chmury, a następnie weryfikowanie zakończenia integracji. Integracja pomaga zmaksymalizować zabezpieczenia aplikacji natywnych dla chmury Microsoft dzięki korelacji zagrożeń środowiska uruchomieniowego i kontekstu z kodem źródłowym w celu szybszego korygowania opartego na sztucznej inteligencji.
Postępując zgodnie z tym przewodnikiem, wykonasz następujące czynności:
- Skonfiguruj repozytorium GitHub na potrzeby pokrycia usługi Defender dla Chmury.
- Utwórz czynnik ryzyka środowiska uruchomieniowego.
- Przetestuj rzeczywiste przypadki użycia w usłudze Defender dla Chmury.
- Połącz kod z zasobami środowiska uruchomieniowego.
- Rozpocznij kampanię zabezpieczeń na GitHub. Ta kampania używa kontekstu środowiska uruchomieniowego do określania priorytetów alertów zabezpieczeń GHAS.
- Tworzenie problemów w GitHub z usługi Defender dla Chmury w celu rozpoczęcia naprawy.
- Zamknij pętlę 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 Defender dla Chmury — licencja GitHub Advanced Security (GHAS) w połączonych repozytoriach — plan zarządzania stanem zabezpieczeń w chmurze (DCSPM) Defender włączony w ramach subskrypcji - Microsoft Security Copilot (opcjonalnie w przypadku zautomatyzowanego korygowania opartego na sztucznej inteligencji) |
| Role i uprawnienia | — Uprawnienia administratora zabezpieczeń — Administrator zabezpieczeń w subskrypcji Azure (aby wyświetlić wyniki w usłudze Defender dla Chmury) - Administrator organizacji GitHub (do łączenia repozytoriów i konfigurowania kampanii zabezpieczeń) |
| Środowiska chmury | — Dostępne tylko w chmurach komercyjnych (nie w usłudze Azure Government, na platformie Azure obsługiwanej przez firmę 21Vianet lub w innych suwerennych chmurach) |
Przygotowywanie środowiska
Przed weryfikacją integracji wykonaj następujące kroki, aby skonfigurować repozytorium GitHub i ustawienia Defender dla Chmury.
Krok 1. Konfigurowanie repozytorium GitHub i uruchamianie przepływu pracy
Aby przetestować integrację, użyj własnych repozytoriów lub przykładowego projektu sandboxowego. Projekt sandbox zapewnia testowe repozytorium GitHub ze wszystkim, czego potrzebujesz do zbudowania podatnego obrazu kontenera.
Zaloguj się do portalu Azure.
Przejdź do Microsoft Defender dla Chmury>DevOps security.
Wprowadź nazwę repozytorium kodu na pasku wyszukiwania (przykład: zava-webshop).
Sprawdź, czy należy ona do organizacji, którą monitorujesz, na przykład organizacji zava-corporation .
Sprawdź, czy istnieją jakieś wyniki dla repozytorium.
Upewnij się, że stan zaawansowanego zabezpieczeń to Włączone. Oznacza to, że usługa GitHub Advanced Security jest włączona w monitorowanym repozytorium.
Jeśli repozytorium nie jest znalezione, sprawdź szybki start onboardingu konektora GitHub, aby uzyskać wskazówki dotyczące rozwiązywania problemów i konfiguracji.
Upewnij się, że skanowanie bez agenta jest włączone dla łącznika GitHub.
Krok 2. Sprawdzanie, czy środowisko jest gotowe
To środowisko potwierdza, że Twoje repozytorium i zasoby chmurowe są poprawnie skonfigurowane. Sprawdza, czy Defender potrafi wyświetlać rekomendacje kodu do runtime i generować użyteczne wyniki. Podczas etapu walidacji środowiska Defender weryfikuje, że:
Weryfikacja pełnej widoczności kodu do runtime
- Microsoft Defender dla Chmury stale monitoruje repozytoria kodu źródłowego pod kątem luk w zabezpieczeniach.
- Artefakty kompilacji, takie jak obrazy kontenerów, są skanowane w rejestrach kontenerów przed wdrożeniem.
- Obciążenia środowiska uruchomieniowego wdrożone w klastrach Kubernetes są monitorowane pod kątem zagrożeń bezpieczeństwa.
- Defender dla Chmury koreluje i śledzi każdy artefakt z kodu, przez kompilowanie i wdrażanie, do środowiska uruchomieniowego i z powrotem.
Note
Po zastosowaniu poprzednich kroków, może minąć do 24 godzin, zanim zobaczą Państwo następujące wyniki.
Przetestuj, czy skanowanie bez agenta GitHub wykrywa repozytorium.
Przejdź do Microsoft Defender dla Chmury>Cloud Security Explorer i wykonaj zapytanie. Zapytania weryfikacyjne testują, czy usługa Defender jest w stanie identyfikować artefakty generowane przez przepływy pracy i obciążenia. Jeśli zapytania zwracają wyniki, oznacza to, że skanowanie i korelacja działają zgodnie z oczekiwaniami.
Note
Jeśli nie zostaną zwrócone żadne wyniki, może to oznaczać, że artefakty nie są jeszcze generowane, skanowanie nie jest skonfigurowane lub brakuje uprawnień. Aby uzyskać więcej informacji, zobacz Role i uprawnienia użytkownika .
Sprawdź, czy usługa Defender dla Chmury (w Azure Container Registry) przeskanowała obraz kontenera i użyła go do utworzenia kontenera.
W zapytaniu dodaj warunki określonego wdrożenia.
Sprawdź, czy kontener jest uruchomiony i czy usługa Defender dla Chmury przeskanowała klaster usługi AKS.
Sprawdź, czy czynniki ryzyka są prawidłowo skonfigurowane po stronie usługi Defender dla Chmury. Wyszukaj nazwę kontenera na stronie spisu usługi Defender dla Chmury i powinna zostać wyświetlona jako krytyczna.
Note
Ten krok jest wymagany tylko wtedy, gdy czynniki ryzyka nie zostały jeszcze skonfigurowane w danym środowisku. Jeśli już używasz czynników ryzyka, możesz zweryfikować ich konfigurację w obszarze Ustawienia > Krytyczne zasoby.
Pomyślna walidacja zapewnia, że kolejne kroki, takie jak rekomendacje, kampanie i tworzenie zgłoszeń w GitHubie, przynoszą wartościowe rezultaty.
Note
Po sklasyfikowaniu zasobu jako krytycznego może upłynąć do 12 godzin, aby usługa Defender dla Chmury wysyłała dane do GitHub. Zrozum alerty w kodzie produkcyjnym.
Krok 3. Tworzenie kampanii GitHub
Aby utworzyć kampanię skanowania, musisz pracować na poziomie organizacji GitHub. To doświadczenie nie jest dostępne na poziomie indywidualnego repozytorium.
W GitHub przejdź do organizacji GitHub używanej do testowania konfiguracji.
Wybierz Zabezpieczenia>Kampanie>Utwórz kampanię>Na podstawie filtrów skanowania kodu.
Kampania ryzyka w czasie działania pomaga priorytetowo traktować wyniki GitHub Advanced Security (GHAS), które należą do kodu faktycznie wdrożonego i działającego.
Wybierz filtry Ryzyka czasu wykonywania dla kampanii.
Wybierz Zapisz>Opublikuj jako kampanię. Wprowadź wymagane informacje, a następnie opublikuj kampanię.
Krok 4: Postępuj zgodnie z zaleceniami
Aby zrozumieć stan problemów z zabezpieczeniami, użyj funkcjonalności oceny rekomendacji kontenerów VA i korelacji funkcji od kodu do środowiska wykonawczego w celu związania zidentyfikowanych CVE z alertami zabezpieczeń Dependabot. Następnie możesz przekazać zalecenie dotyczące rozwiązania odpowiedniemu zespołowi inżynieryjnemu na podstawie mapowania kodu do czasu wykonywania.
W portalu usługi Defender dla Chmury przejdź do karty Zalecenia .
Wyszukaj nazwę kontenera utworzonego na podstawie repozytorium kodu.
Otwórz jedną z rekomendacji dotyczących aktualizacji oprogramowania ; nazwa zalecenia zaczyna się od aktualizacji
Wybierz kartę Skojarzone CVEs. Alerty zabezpieczeń pojawiają się jako część przepływu oceny rekomendacji. Te alerty wskazują wyniki usługi GitHub Advanced Security, które są już znane zespołowi inżynieryjnemu. Należy pamiętać, że niektóre identyfikatory CVE mają link „Zobacz na GitHub” w kolumnie Alerty powiązane z GitHub.
Wybierz link, aby otworzyć odpowiedni alert zabezpieczeń GHAS. (Aby wyświetlić zawartość alertu GHAS w GitHub, musisz mieć uprawnienia dostępu do odpowiedniego repozytorium GitHub. Jeśli nie masz uprawnień dostępu, zawsze możesz skopiować link do następnego użycia lub skontaktować się z administratorem GitHub).
Jeśli kolumna Powiązane alerty GitHub pokazuje dopasowany alert Dependabot, luka jest już znana inżynierii. Jeśli status alertu to Aktywny, nikt jeszcze go nie naprawił i problem musi być priorytetyzowany do naprawy.
Jeśli w kolumnie nie pojawi się żaden pasujący alert GitHub, CVE reprezentuje ryzyko w czasie działania nieznane inżynierii, które wymaga priorytetu dla poprawki.
Co dalej? Jak sprawdzić, kto jest odpowiednim zespołem w celu rozwiązania problemu? Jak mogę się dowiedzieć, który kontekst może pomóc inżynierom w naprawie?
Utwórz problem na GitHubie
Aby zamknąć pętlę między zespołami ds. zabezpieczeń i inżynierii, możesz utworzyć problem z usługą GitHub, który określa priorytety problemów z zabezpieczeniami, na których powinien skupić się zespół inżynierów. Ta priorytetyzacja może obejmować uwzględnianie wyników, które nie zostały wychwycone przez usługę GHAS, ale zostały wykryte przez usługę Defender dla Chmury dla identyfikatorów CVE, które nie są częścią bezpośrednich zależności. Wyniki te mogą obejmować luki w zabezpieczeniach obrazu podstawowego, systemu operacyjnego lub oprogramowania, takiego jak NGINX.
Zgłoszenie w serwisie GitHub jest generowane automatycznie w repozytorium kodu źródłowego i zawiera wszystkie identyfikatory CVE znalezione w zakresie zalecenia, a także inne konteksty związane ze środowiskiem uruchomieniowym, kontenerami i cyklem życia tworzenia oprogramowania (SDLC), które mogą pomóc w usunięciu problemu i testowaniu.
W widoku rekomendacji możesz jawnie utworzyć zgłoszenie w GitHub w celu śledzenia działań korygujących.
Przejdź do karty Wskazówki dotyczące naprawy i wyświetl diagram kod-wykonanie. Diagram mapuje twój uruchomiony kontener na obraz kontenera w repozytorium kodu oraz do oryginalnego repozytorium kodu na GitHubie.
Na karcie Informacje o działaniach naprawczych sprawdź sekcję Runtime, której dotyczy problem.
Sprawdź, czy problem w GitHub już istnieje. Jeśli problem z GitHub już istnieje, w polu zostanie wyświetlona ikona GitHub. Zatrzymaj wskaźnik myszy na ikonie, aby wyświetlić szczegóły problemu.
Jeśli problem nie istnieje i masz wymagane uprawnienia, możesz wygenerować nowy GitHub problem. Wybierz pozycję Podejmij akcję.
Wybierz opcję Generate GitHub issue z wyskakującego okienka.
Jeśli problem został utworzony pomyślnie, zostanie wyświetlone wyskakujące powiadomienie z linkiem do problemu. Problem został utworzony w oryginalnym repozytorium kodu.
Note
Jeśli opcja Generate GitHub jest niedostępna, może brakować wymaganych uprawnień do GitHub lub repozytorium. Skontaktuj się z administratorem GitHub lub repozytorium, aby zażądać dostępu.
Wprowadź poprawki wynikające z inicjatywy
Po stronie 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 poprawka wydaje się rozsądna, zastosuj ją.
- Obserwuj, jak usługa Defender dla Chmury aktualizuje stan problemu na Zamknięty.
Treści powiązane
Dowiedz się więcej o GitHub Advanced Security i Defender dla Chmury: