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
Krok 1. Konfigurowanie repozytorium GitHub i uruchamianie przepływu pracy
Aby przetestować integrację, użyj własnych repozytoriów lub przykładowego projektu piaskownicy, który ma repozytorium testowe GitHub z całą zawartością w celu utworzenia obrazu kontenera podatnego na zagrożenia.
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 nie można odnaleźć repozytorium, zapoznaj się z dokumentacją Microsoft Defender dla Chmury dotyczącą rozwiązywania problemów oraz wdrażania łącznika GitHub.
Upewnij się, że skanowanie bez agenta jest włączone dla łącznika GitHub.
Krok 2. Sprawdzanie, czy środowisko jest gotowe
Walidacja potwierdza, że środowisko jest poprawnie skonfigurowane do prezentowania kodu w rekomendacjach środowiska uruchomieniowego i generowania wyników możliwych do działania. W tym kroku usługa Defender sprawdza, czy:
Pełna widoczność kodu podczas działania środowiska uruchomieniowego
- 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. Dowiedz się więcej.
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.
Ta kampania pomaga ustalać priorytety dla wyników GHAS, które dotyczą kodu faktycznie wdrożonego i uruchomionego.
Wybierz filtry Ryzyka czasu wykonywania dla kampanii.
Wybierz Zapisz>Opublikuj jako kampanię. Wprowadź wymagane informacje, a następnie opublikuj kampanię.
Krok 4. Mobilizacja zaleceń
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 istnieje ulepszenie alertu, to istnieje dopasowany alert Dependabot, który jest już znany inżynierom. Jeśli stan to Aktywny, nikt jeszcze go nie rozwiązał, a problem musi mieć priorytet dla poprawki.
Jeśli nie ma żadnych wyników wzbogacania, oznacza to ryzyko środowiska uruchomieniowego nieznane inżynierii, które musi być priorytetowe 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.