Udostępnij za pośrednictwem


Analiza ścieżki ataku i ulepszone wyszukiwanie zagrożeń dla kontenerów

Analiza ścieżki ataku to algorytm oparty na grafach, który skanuje wykres zabezpieczeń w chmurze. Skanowania uwidaczniają możliwe do wykorzystania ścieżki, których osoby atakujące mogą użyć do naruszenia środowiska w celu uzyskania dostępu do zasobów o dużym wpływie. Analiza ścieżki ataków uwidacznia ścieżki ataków i sugeruje zalecenia dotyczące tego, jak najlepsze rozwiązania problemów, które przerywają ścieżkę ataku i zapobiegają pomyślnemu naruszeniu.

Eksploruj i badaj ścieżki ataków , sortując je na podstawie poziomu ryzyka, nazwy, środowiska i czynników ryzyka, punktu wejścia, celu, zasobów, których dotyczy problem, i aktywnych zaleceń. Zapoznaj się z grafem zabezpieczeń w chmurze Szczegółowe informacje o zasobie. Przykłady typów szczegółowych informacji to:

  • Zasobnik uwidoczniony w Internecie
  • Kontener uprzywilejowany
  • Zasobnik używa sieci hosta
  • Obraz kontenera jest podatny na zdalne wykonywanie kodu

Azure: Testowanie ścieżki ataku i eksploratora zabezpieczeń przy użyciu pozornego obrazu kontenera podatnego na zagrożenia

Jeśli na liście ścieżek ataku nie ma żadnych wpisów, nadal możesz przetestować tę funkcję przy użyciu pozornego obrazu kontenera. Aby skonfigurować test, wykonaj następujące czynności:

Wymaganie: Wystąpienie usługi Azure Container Registry (ACR) w przetestowanym zakresie.

  1. Zaimportuj pozorny obraz podatny na zagrożenia do usługi Azure Container Registry:

    1. Najpierw należy ściągnąć obraz podstawowy (na przykład alpine) do środowiska lokalnego, uruchamiając polecenie:

      docker pull alpine
      
    2. Oznacz obraz następującą etykietą i wypchnij go do usługi ACR. Zastąp <MYACR> ciąg nazwą usługi Azure Container Registry:

      docker tag alpine <MYACR>.azurecr.io/mdc-mock-0001
      docker push <MYACR>.azurecr.io/mdc-mock-0001
      
    3. Jeśli nie masz klastra usługi AKS (Azure Kubernetes Service), użyj następującego polecenia, aby utworzyć nowy klaster usługi AKS:

      az aks create -n myAKSCluster -g myResourceGroup --generate-ssh-keys --attach-acr $MYACR
      
    4. Jeśli usługa AKS nie jest dołączona do usługi ACR, użyj następującego wiersza polecenia usługi Cloud Shell, aby wskazać wystąpienie usługi AKS w celu ściągnięcia obrazów z wybranego rejestru ACR:

      az aks update -n myAKSCluster -g myResourceGroup --attach-acr <acr-name>
      
  2. Uwierzytelnianie sesji usługi Cloud Shell w celu pracy z klastrem:

    az aks get-credentials  --subscription <cluster-suid> --resource-group <your-rg> --name <your-cluster-name>    
    
  3. Zainstaluj kontroler ruchu przychodzącego ngnix:

    helm install ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.1
    
  4. Wdróż pozorowany obraz podatny na zagrożenia, aby uwidocznić kontener podatny na zagrożenia w Internecie, uruchamiając następujące polecenie:

    helm install dcspmcharts  oci://mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<your-image-uri> --set distribution=AZURE
    
  5. Zweryfikuj powodzenie, wykonując następujące czynności:

    • Wyszukaj wpis z elementem mdc-dcspm-demo jako przestrzeni nazw
    • Na karcie Obciążenia —> wdrożenia sprawdź, czy "zasobnik" został utworzony 3/3 i dcspmcharts-ingress-nginx-controller 1/1.
    • W usługach i ruchu przychodzącego poszukaj usług,> dcspmcharts-ingress-nginx-controller i dcspmcharts-ingress-nginx-controller-admission. Na karcie Ruchu przychodzącego sprawdź, czy jeden ruch przychodzący jest tworzony przy użyciu adresu IP i klasy nginx.

Uwaga

Po wykonaniu powyższego przepływu może upłynąć do 24 godzin, aby zobaczyć wyniki w eksploratorze zabezpieczeń chmury i ścieżce ataku.

Po zakończeniu testowania ścieżki ataku zbadaj utworzoną ścieżkę ataku, przechodząc do analizy ścieżki ataku i wyszukując utworzoną ścieżkę ataku. Aby uzyskać więcej informacji, zobacz Identyfikowanie i korygowanie ścieżek ataków.

AWS: testowanie ścieżki ataku i eksploratora zabezpieczeń przy użyciu pozornego obrazu kontenera podatnego na ataki

  1. Tworzenie repozytorium ECR o nazwie mdc-mock-0001

  2. Przejdź do konta platformy AWS i wybierz pozycję Wiersz polecenia lub dostęp programowy.

  3. Otwórz wiersz polecenia i wybierz opcję 1: Ustaw zmienne środowiskowe platformy AWS (poświadczenia krótkoterminowe). Skopiuj poświadczenia zmiennych środowiskowych AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY i AWS_SESSION_TOKEN .

  4. Uruchom następujące polecenie, aby uzyskać token uwierzytelniania dla rejestru Usługi Amazon ECR. Zastąp <REGION> ciąg regionem rejestru. Zastąp <ACCOUNT> ciąg identyfikatorem konta platformy AWS.

    aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com
    
  5. Utwórz obraz platformy Docker oznaczony jako podatny na zagrożenia według nazwy. Nazwa obrazu powinna zawierać ciąg mdc-mock-0001. Po utworzeniu obrazu wypchnij go do rejestru ECR za pomocą następującego polecenia (zastąp <ACCOUNT> wartości i <REGION> identyfikatorem konta platformy AWS i regionem):

    docker pull alpine
    docker tag alpine <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001
    docker push <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001
    
  6. Połącz się z klastrem EKS i zainstaluj udostępniony pakiet Helm. Skonfiguruj kubectl do pracy z klastrem EKS. Uruchom to polecenie (zastąp <your-region> element i <your-cluster-name> nazwą klastra EKS):

    aws eks --region <your-region> update-kubeconfig --name <your-cluster-name>
    
  7. Sprawdź konfigurację. Możesz sprawdzić, czy kubectl konfiguracja jest poprawna, uruchamiając polecenie:

    kubectl get nodes
    
  8. Zainstaluj kontroler ruchu przychodzącego ngnix:

    helm install ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.1
    
  9. Zainstaluj następujący wykres programu Helm:

    helm install dcspmcharts oci://mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001 --set distribution=AWS
    

Pakiet Helm wdraża zasoby w klastrze, których można użyć do wnioskowania ścieżek ataku. Zawiera również obraz podatny na zagrożenia.

Uwaga

Po wykonaniu powyższego przepływu może upłynąć do 24 godzin, aby zobaczyć wyniki w eksploratorze zabezpieczeń chmury i ścieżce ataku.

Po zakończeniu testowania ścieżki ataku zbadaj utworzoną ścieżkę ataku, przechodząc do analizy ścieżki ataku i wyszukując utworzoną ścieżkę ataku. Aby uzyskać więcej informacji, zobacz Identyfikowanie i korygowanie ścieżek ataków.

GCP: Testowanie ścieżki ataku i eksploratora zabezpieczeń przy użyciu pozornego obrazu kontenera podatnego na zagrożenia

  1. W portalu GCP wyszukaj ciąg Artifact Registry, a następnie utwórz repozytorium GCP o nazwie mdc-mock-0001

  2. Postępuj zgodnie z tymi instrukcjami , aby wypchnąć obraz do repozytorium. Uruchom te polecenia:

    docker pull alpine
    docker tag alpine <LOCATION>-docker.pkg.dev/<PROJECT_ID>/<REGISTRY>/<REPOSITORY>/mdc-mock-0001
    docker push <LOCATION>-docker.pkg.dev/<PROJECT_ID>/<REGISTRY>/<REPOSITORY>/mdc-mock-0001
    
  3. Przejdź do portalu GCP. Następnie przejdź do pozycji Klastry aparatu>Kubernetes. Wybierz przycisk Połącz.

  4. Po nawiązaniu połączenia uruchom polecenie w usłudze Cloud Shell lub skopiuj polecenie połączenia i uruchom je na maszynie:

    gcloud container clusters get-credentials contra-bugbash-gcp --zone us-central1-c --project onboardingc-demo-gcp-1
    
  5. Sprawdź konfigurację. Możesz sprawdzić, czy kubectl konfiguracja jest poprawna, uruchamiając polecenie:

    kubectl get nodes
    
  6. Aby zainstalować pakiet Helm, wykonaj następujące kroki:

    1. W obszarze Rejestr artefaktów w portalu przejdź do repozytorium i znajdź identyfikator URI obrazu w obszarze Ściąganie według skrótu.

    2. Użyj następującego polecenia, aby zainstalować pakiet Helm:

      helm install dcspmcharts oci:/mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<IMAGE_URI> --set distribution=GCP
      

Pakiet Helm wdraża zasoby w klastrze, których można użyć do wnioskowania ścieżek ataku. Zawiera również obraz podatny na zagrożenia.

Uwaga

Po wykonaniu powyższego przepływu może upłynąć do 24 godzin, aby zobaczyć wyniki w eksploratorze zabezpieczeń chmury i ścieżce ataku.

Po zakończeniu testowania ścieżki ataku zbadaj utworzoną ścieżkę ataku, przechodząc do analizy ścieżki ataku i wyszukując utworzoną ścieżkę ataku. Aby uzyskać więcej informacji, zobacz Identyfikowanie i korygowanie ścieżek ataków.

Znajdowanie problemów ze stanem kontenera w eksploratorze zabezpieczeń w chmurze

Zapytania można tworzyć na jeden z następujących sposobów:

W poniższych sekcjach przedstawiono przykłady zapytań, które można wybrać lub utworzyć.

Eksplorowanie zagrożeń za pomocą szablonów eksploratora zabezpieczeń w chmurze

  1. Na stronie przeglądu Defender dla Chmury otwórz eksploratora zabezpieczeń w chmurze.

  2. Niektóre szablony gotowe do użycia dla platformy Kubernetes są wyświetlane. Wybierz jeden z szablonów:

    • Zasobniki usługi Azure Kubernetes z uruchomionymi obrazami z lukami w zabezpieczeniach o wysokiej ważności
    • Przestrzenie nazw platformy Kubernetes zawierają zasobniki podatne na zagrożenia

    Zrzut ekranu przedstawiający miejsce wybierania szablonów.

  3. Wybierz pozycję Otwórz zapytanie. Szablon kompiluje zapytanie w górnej części ekranu. Wybierz pozycję Wyszukaj , aby wyświetlić wyniki.

    Zrzut ekranu przedstawiający skompilowane zapytanie i miejsce wyboru wyszukiwania.

Tworzenie niestandardowych zapytań za pomocą eksploratora zabezpieczeń w chmurze

Możesz również utworzyć własne zapytania niestandardowe. W poniższym przykładzie przedstawiono wyszukiwanie zasobników z uruchomionymi obrazami kontenerów, które są narażone na zdalne wykonywanie kodu.

Zrzut ekranu przedstawiający zapytanie niestandardowe.

Wyniki są wymienione poniżej zapytania.

Zrzut ekranu przedstawiający wyniki zapytania niestandardowego.

Następne kroki