Angriffspfadanalyse und erweiterte Risikosuche für Container
Die Angriffspfadanalyse ist ein graphbasierter Algorithmus zur Überprüfung des Cloudsicherheitsgraphen. Die Überprüfungen offenbaren Pfade, die von Angreifer*innen ausgenutzt werden könnten, um in Ihre Umgebung einzudringen und Ihre wichtigen Ressourcen zu erreichen. Die Angriffspfadanalyse deckt Angriffspfade auf und gibt Empfehlungen, wie Sie Probleme am besten behandeln, um den Angriffspfad zu unterbrechen und ein erfolgreiches Eindringen zu verhindern.
Erkunden und untersuchen Sie Angriffspfade, indem Sie sie nach Risikoebene, Name, Umgebung und Risikofaktoren, Einstiegspunkt, Ziel, betroffenen Ressourcen und aktiven Empfehlungen sortieren. Erkunden Sie die Erkenntnisse aus dem Cloudsicherheitsdiagramm zur Ressource. Folgende Arten von Erkenntnissen können beispielsweise gewonnen werden:
- Im Internet verfügbar gemachte Pods
- Privilegierter Container
- Verwendung eines Hostnetzwerks durch Pods
- Für Remotecodeausführung anfällige Containerimages
Azure: Testen des Angriffspfads und des Sicherheits-Explorers mithilfe eines simulierten anfälligen Containerimages
Wenn in der Liste der Angriffspfade keine Einträge vorhanden sind, können Sie dieses Feature trotzdem mithilfe eines simulierten Containerimages testen. Führen Sie zum Einrichten des Tests die folgenden Schritte aus:
Anforderung: Eine Instanz von Azure Container Registry (ACR) im getesteten Bereich.
Importieren Sie ein simuliertes anfälliges Image in Ihre Azure Container Registry-Instanz:
Ziehen Sie zunächst ein Basisimage (z. B. alpine) in Ihre lokale Umgebung, indem Sie folgende Schritte ausführen:
docker pull alpine
Markieren Sie das Image mit der folgenden Bezeichnung und pushen Sie es in Ihre ACR-Instanz. Ersetzen Sie
<MYACR>
durch den Namen Ihrer Azure Container Registry:docker tag alpine <MYACR>.azurecr.io/mdc-mock-0001 docker push <MYACR>.azurecr.io/mdc-mock-0001
Wenn Sie nicht über einen AKS-Cluster (Azure Kubernetes Service) verfügen, verwenden Sie den folgenden Befehl, um einen neuen AKS-Cluster zu erstellen:
az aks create -n myAKSCluster -g myResourceGroup --generate-ssh-keys --attach-acr $MYACR
Wenn Ihre AKS-Instanz nicht an Ihre ACR-Instanz angefügt ist, verwenden Sie die folgende Cloud Shell Befehlszeile, um die AKS-Instanz so einzurichten, dass sie Images aus der ausgewählten ACR-Instanz abruft:
az aks update -n myAKSCluster -g myResourceGroup --attach-acr <acr-name>
Authentifizieren Sie Ihre Cloud Shell-Sitzung für den Cluster:
az aks get-credentials --subscription <cluster-suid> --resource-group <your-rg> --name <your-cluster-name>
Installieren Sie den NGINX-Eingangsdatencontroller:
helm install ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.1
Stellen Sie das simulierte anfällige Image bereit, um den anfälligen Container für das Internet verfügbar zu machen, indem Sie den folgenden Befehl ausführen:
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
Überprüfen Sie die erfolgreiche Durchführung, indem Sie die folgenden Schritte ausführen:
- Suchen Sie nach einem Eintrag mit mdc-dcspm-demo als Namespace.
- Überprüfen Sie auf der Registerkarte Workloads -> Bereitstellungen, ob die Erstellung für „pod“ als 3/3 und für dcspmcharts-ingress-nginx-controller als 1/1 angezeigt wird.
- Suchen Sie in den Diensten und Eingängen nach Folgendem: „Dienst“, „dcspmcharts-ingress-nginx-controller“ und „dcspmcharts-ingress-nginx-controller-admission“. Vergewissern Sie sich auf der Registerkarte für Eingänge, dass nur ein Eingang mit einer IP-Adresse und einer nginx-Klasse erstellt wurde.
Hinweis
Nach Abschluss des obigen Flows kann es bis zu 24 Stunden dauern, bis im Cloudsicherheits-Explorer und im Angriffspfad Ergebnisse angezeigt werden.
Nachdem Sie den Angriffspfad getestet haben, untersuchen Sie den erstellten Angriffspfad, indem Sie zu Angriffspfadanalyse wechseln und nach dem erstellten Angriffspfad suchen. Weitere Informationen finden Sie unter Identifizieren und Beheben von Angriffspfaden.
AWS: Testen des Angriffspfads und des Sicherheits-Explorers mithilfe eines simulierten anfälligen Containerimages
Erstellen eines ECR-Repositorys mit dem Namen mdc-mock-0001
Wechseln Sie zu Ihrem AWS-Konto, und wählen Sie Befehlszeile oder programmgesteuerter Zugriff aus.
Öffnen Sie eine Befehlszeile, und wählen Sie Option 1: Festlegen von AWS-Umgebungsvariablen (kurzfristige Anmeldeinformationen) aus. Kopieren Sie die Anmeldeinformationen der Umgebungsvariablen AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY und AWS_SESSION_TOKEN.
Führen Sie den folgenden Befehl aus, um das Authentifizierungstoken für Ihre Amazon ECR-Registrierung abzurufen. Ersetzen Sie
<REGION>
durch die Region Ihrer Registrierung. Ersetzen Sie<ACCOUNT>
durch Ihre AWS-Konto-ID.aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com
Erstellen Sie ein Docker-Image, das durch seinen Namen als anfällig gekennzeichnet ist. Der Name des Bilds sollte die Zeichenfolge mdc-mock-0001 enthalten. Nachdem Sie das Image erstellt haben, übertragen Sie es an Ihre ECR-Registrierung mit dem folgenden Befehl (ersetzen Sie
<ACCOUNT>
und<REGION>
durch Ihre AWS-Konto-ID und -Region):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
Stellen Sie eine Verbindung mit Ihrem EKS-Cluster her, und installieren Sie die bereitgestellte Helm-Chart. Konfigurieren Sie
kubectl
für die Arbeit mit Ihrem EKS-Cluster. Führen Sie diesen Befehl aus (ersetzen Sie<your-region>
und<your-cluster-name>
durch Ihre EKS-Clusterregion und Ihren EKS-Clusternamen):aws eks --region <your-region> update-kubeconfig --name <your-cluster-name>
Überprüfen Sie die Konfiguration. Sie können überprüfen, ob
kubectl
ordnungsgemäß konfiguriert ist, indem Sie Folgendes ausführen:kubectl get nodes
Installieren Sie den NGINX-Eingangsdatencontroller:
helm install ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.1
Installieren Sie die folgende Helm-Chart:
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
Die Helm-Chart stellt Ressourcen auf Ihrem Cluster bereit, die zum Ableiten von Angriffspfaden verwendet werden können. Sie enthält auch das anfällige Bild.
Hinweis
Nach Abschluss des obigen Flows kann es bis zu 24 Stunden dauern, bis im Cloudsicherheits-Explorer und im Angriffspfad Ergebnisse angezeigt werden.
Nachdem Sie den Angriffspfad getestet haben, untersuchen Sie den erstellten Angriffspfad, indem Sie zu Angriffspfadanalyse wechseln und nach dem erstellten Angriffspfad suchen. Weitere Informationen finden Sie unter Identifizieren und Beheben von Angriffspfaden.
GCP: Testen des Angriffspfads und des Sicherheits-Explorers mithilfe eines simulierten anfälligen Containerimages
Suchen Sie im GCP-Portal nach Artefaktregistrierung, und erstellen Sie dann ein GCP-Repository mit dem Namen mdc-mock-0001
Befolgen Sie diese Anweisungen, um das Image per Pushvorgang an Ihr Repository zu übertragen. Führen Sie diese -Befehle aus:
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
Wechseln Sie zum GCP-Portal. Wechseln Sie dann zu Kubernetes-Engine>Cluster. Wählen Sie die Schaltfläche Verbinden aus.
Führen Sie nach der Verbindung entweder den Befehl in der Cloud Shell aus, oder kopieren Sie den Verbindungsbefehl, und führen Sie ihn auf Ihrem Computer aus:
gcloud container clusters get-credentials contra-bugbash-gcp --zone us-central1-c --project onboardingc-demo-gcp-1
Überprüfen Sie die Konfiguration. Sie können überprüfen, ob
kubectl
ordnungsgemäß konfiguriert ist, indem Sie Folgendes ausführen:kubectl get nodes
Führen Sie die folgenden Schritte aus, um die Helm-Chart zu installieren:
Wechseln Sie unter Artefaktregistrierung im Portal zum Repository, und suchen Sie den Image-URI unter Pull nach Digest.
Verwenden Sie den folgenden Befehl, um die Helm-Chart zu installieren:
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
Die Helm-Chart stellt Ressourcen auf Ihrem Cluster bereit, die zum Ableiten von Angriffspfaden verwendet werden können. Sie enthält auch das anfällige Bild.
Hinweis
Nach Abschluss des obigen Flows kann es bis zu 24 Stunden dauern, bis im Cloudsicherheits-Explorer und im Angriffspfad Ergebnisse angezeigt werden.
Nachdem Sie den Angriffspfad getestet haben, untersuchen Sie den erstellten Angriffspfad, indem Sie zu Angriffspfadanalyse wechseln und nach dem erstellten Angriffspfad suchen. Weitere Informationen finden Sie unter Identifizieren und Beheben von Angriffspfaden.
Suchen von Containerstatusproblemen mit Cloudsicherheits-Explorer
Sie können Abfragen auf eine der folgenden Arten erstellen:
- Erkunden von Risiken bei integrierten Vorlagen des Cloudsicherheits-Explorers
- Erstellen von benutzerdefinierten Abfragen mit dem Cloudsicherheits-Explorer
In den folgenden Abschnitten zeigen wir Beispiele für Abfragen, die Sie auswählen oder erstellen können.
Untersuchen von Risiken bei integrierten Vorlagen des Cloudsicherheits-Explorers
Öffnen Sie den Cloudsicherheits-Explorer auf der Übersichtsseite von Defender for Cloud.
Es werden einige sofort einsatzbereite Vorlagen für Kubernetes angezeigt. Wählen Sie eine der Vorlagen aus:
- Azure Kubernetes-Pods, auf denen Images mit Sicherheitsrisiken mit hohem Schweregrad ausgeführt werden
- Kubernetes-Namespaces enthalten anfällige Pods
Wählen Sie Abfrage öffnen aus. Die Vorlage erstellt die Abfrage im oberen Bereich des Bildschirms. Wählen Sie Suchen aus, um die Ergebnisse anzuzeigen.
Erstellen von benutzerdefinierten Abfragen mit dem Cloudsicherheits-Explorer
Sie können auch selbst benutzerdefinierte Abfragen erstellen. Das folgende Beispiel zeigt eine Suche nach Pods, auf denen Containerimages ausgeführt werden, die anfällig für die Remotecodeausführung sind.
Die Ergebnisse werden unter der Abfrage aufgeführt.
Nächste Schritte
- Weitere Informationen zu den Defender-Plänen für Microsoft Defender for Cloud.