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 platformy Azure do przeglądania ustaleń w usłudze Defender dla Chmury - Właściciel organizacji GitHub do łączenia repozytoriów i konfigurowania kampanii bezpieczeństwa |
| Ś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.
Wpisz nazwę swojego repozytorium kodowego w pasku wyszukiwania, na 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. To ustawienie wskazuje, że GitHub Advanced Security jest włączony w monitorowanym repozytorium.
Jeśli nie można znaleźć repozytorium, zapoznaj się z przewodnikiem Szybki start dotyczący wdrożenia łącznika GitHub, aby uzyskać wskazówki dotyczące konfiguracji i rozwiązywania problemów.
Upewnij się, że skanowanie bez agenta jest włączone dla łącznika GitHub.
Krok 2. Sprawdzanie, czy środowisko jest gotowe
Ta walidacja środowiska potwierdza, że twoje repozytorium i zasoby chmurowe są prawidłowo skonfigurowane. Sprawdza, czy Defender potrafi wyświetlać rekomendacje kodu do runtime i generować użyteczne wyniki. Podczas etapu walidacji środowiska Defender weryfikuje, że:
- 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.
Zweryfikuj pełną widoczność od kodu do środowiska uruchomieniowego
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 .
W Azure Container Registry zweryfikowaj, że Defender dla Chmury zeskanował obraz kontenera i użył 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ę swojego kontenera na stronie Defender dla Chmury z inwentarzem. Powinieneś zobaczyć, że jest oznaczone jako krytyczne.
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 ustawieniach>krytyczności zasobów.
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. Więcej informacji można znaleźć w artykule Priorytetyzacja Dependabot oraz alerty skanowania kodu.
Krok 3. Tworzenie kampanii GitHub
Aby stworzyć kampanię skanowania, pracuj 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 oceny ryzyka środowiska uruchomieniowego pomaga ustalać priorytety dla wyników GitHub Advanced Security (GHAS), które dotyczą kodu rzeczywiście wdrożonego i uruchomionego.
Wybierz filtry Ryzyka czasu wykonywania dla kampanii.
Wybierz Zapisz>Opublikuj jako kampanię. Wprowadź wymagane informacje, a następnie opublikuj kampanię.
Śledź postęp kampanii.
Krok 4: Postępuj zgodnie z zaleceniami
Skorzystaj z funkcji powiązania kodu ze środowiskiem uruchomieniowym w rekomendacjach Containers VA dla uruchomionych kontenerów oraz z korelacji zidentyfikowanych luk CVE z alertami zabezpieczeń Dependabot, aby zrozumieć stan kwestii związanych z bezpieczeństwem. 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 oprogramowania do aktualizacji . Nazwa rekomendacji zaczyna się od Aktualizacja.
Wybierz Powiązane CVE.
Powiadomienia o bezpieczeństwie pojawiają się w procesie oceny rekomendacji. Te alerty wskazują wyniki usługi GitHub Advanced Security, które są już znane zespołowi inżynieryjnemu. Niektóre identyfikatory CVE zawierają link „View on GitHub” w kolumnie „Related GitHub Alerts”.
Wybierz link, aby otworzyć odpowiedni alert zabezpieczeń GHAS. Aby zobaczyć treść alertów GHAS w GitHub, musisz mieć uprawnienia dostępu do odpowiedniego repozytorium GitHub. Jeśli nie masz uprawnień, 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, oznacza to, że nikt jeszcze nie usunął problemu i należy nadać wysoki priorytet jego rozwiązaniu.
Jeśli w kolumnie nie pojawi się odpowiadający alert GitHub, oznacza to, że dane CVE stanowi nieznane zespołowi inżynieryjnemu ryzyko występujące w środowisku uruchomieniowym, któremu należy nadać priorytet przy usuwaniu.
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 Remediation Insights i zobacz diagram code-to-runtime. 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 zgłoszenie zostało pomyślnie utworzone, pojawi się wyskakujące powiadomienie z odnośnikiem do tego zgłoszenia. Problem został utworzony w oryginalnym repozytorium kodu.
Note
Jeśli opcja Utwórz zgłoszenie w serwisie GitHub jest niedostępna, może to oznaczać brak uprawnień w serwisie GitHub lub w repozytorium. Skontaktuj się z administratorem GitHub lub repozytorium, aby zażądać dostępu.
Wprowadź poprawki wynikające z inicjatywy
Jeśli masz licencję GitHub Copilot, możesz rozwiązać problem za pomocą agenta kodującego 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.