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 pomocne przy integracji GitHub Advanced Security (GHAS) i Microsoft Defender dla Chmury z przypadkiem użycia, który umożliwia zweryfikowanie integracji od początku do końca. Ta integracja pomaga zmaksymalizować zabezpieczenia aplikacji natywnych dla chmury firmy Microsoft, korelując zagrożenia środowiska uruchomieniowego i kontekst 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 dla 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.
- Utwórz problemy GitHub w Defender dla Chmury, aby rozpocząć działania naprawcze.
- Zamknij pętlę między zespołami inżynieryjnymi i zespołami ds. zabezpieczeń.
Wymagania wstępne
| Aspekt | Szczegóły |
|---|---|
| Wymagania środowiskowe | Konto GitHub z łącznikiem utworzonym w 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 Azure Government, Azure obsługiwane przez firmę 21Vianet lub inne suwerenne chmury) |
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 witryny Azure Portal.
Przejdź do Microsoft Defender dla Chmury>DevOps security.
Wprowadź nazwę repozytorium kodu na pasku wyszukiwania (przykład: zava-webshop).
Sprawdź, czy tak naprawdę należy do organizacji, którą monitorujesz (przykład: organizacja zava-corporation ).
Sprawdź, czy istnieją jakieś wyniki dla repozytorium.
Upewnij się, że Zaawansowany status zabezpieczeń jest ustawiony na On, co wskazuje, że masz włączone zaawansowane zabezpieczenia GitHub w obserwowanym repozytorium – > repozytorium przyjęte.
Jeśli nie znaleziono repozytorium, zapoznaj się z dokumentacją Microsoft Defender dla Chmury dotyczącą rozwiązywania problemów i konfigurowania łą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.
Uwaga / Notatka
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.
Uwaga / Notatka
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.
Uwaga / Notatka
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 gwarantuje, że kolejne kroki, takie jak rekomendacje, kampanie i generowanie problemów GitHub, dają znaczące wyniki.
Uwaga / Notatka
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 określić priorytety ustaleń GHAS, które należą do kodu, który jest naprawdę wdrożony i uruchomiony.
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 ostrzeżenia zawierają wskazówki dotyczące ustaleń dotyczących zabezpieczeń GitHub Advanced, które są już znane działowi technicznemu. 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 późniejszego 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 zgłoszenie w GitHubie
Aby zamknąć pętlę między zespołami ds. zabezpieczeń i inżynierów, możesz utworzyć GitHub problem, 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 GitHub jest generowane automatycznie w repozytorium kodu pochodzenia, przy użyciu wszystkich identyfikatorów CVE znalezionych w zakresie zalecenia, w tym innych kontekstów związanych ze środowiskiem uruchomieniowym i kontenerowym SDLC, które mogą ułatwić naprawę i testowanie.
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 Szczegółowe informacje dotyczące korygowania sprawdź pole Środowisko uruchomieniowe, którego 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.
Uwaga / Notatka
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.