Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Leitfaden verwenden Sie Azure Policy, um einen virtuellen Testcomputer (VM) anhand der Azure-Sicherheitsbaseline für Linux zu überwachen.
Insbesondere werden Sie Folgendes ausführen:
- Erstellen einer leeren Ressourcengruppe
- Zuweisen der Überwachungsrichtlinie zu der leeren Ressourcengruppe
- Erstellen einer VM- in der Ressourcengruppe und Beobachten der Überwachungsergebnisse
Trinkgeld
- Wenn Sie die Überwachungs- und Konfigurationsoberfläche (Korrektur) ausprobieren möchten, die sich derzeit in der Vorschauphase befindet, und nicht die reine Überwachungsoberfläche, finden Sie weitere Informationen unter Schnellstart: Konfigurieren der Azure-Sicherheitsbaseline für Linux mit einem Testcomputer
- Hintergrundinformationen zur Azure-Sicherheitsbaseline für Linux, einschließlich Informationen, finden Sie unter Was ist die Azure-Sicherheitsbaseline für Linux?.
Voraussetzungen
Bevor Sie die Schritte in diesem Artikel ausführen:
Sie benötigen ein Azure-Konto, um eine Ressourcengruppe, eine Richtlinienzuweisung und einen virtuellen Computer zu erstellen. Wenn Sie nicht über ein Azure-Konto verfügen, können Sie eine kostenlose Testversionerstellen.
Wählen Sie aus, wie Sie auf Ihre Azure-Umgebung zugreifen möchten, z. B.:
- EASY: Azure Cloud Shell bei https://shell.azure.com
- ODER: Verwenden Sie Ihre eigene Arbeitsstations- und Shellumgebung, in der die Azure CLI installiert und angemeldet ist
- ODER: Verwenden Sie das Azure-Portal unter https://portal.azure.com
Stellen Sie sicher, dass Sie bei der gewünschten Azure-Testumgebung angemeldet sind.
Sie können
az account showverwenden, um Ihren aktuellen Kontext anzuzeigen. Verwenden Sieaz account login, um sich anzumelden oder Kontexte zu ändern.
Schritt 1: Erstellen einer Ressourcengruppe
Trinkgeld
Die Verwendung von "East US" (eastus) als Beispielspeicherort in diesem Artikel ist willkürlich. Sie können einen beliebigen verfügbaren Azure-Speicherort auswählen.
az group create --name my-demo-rg --location eastus
Schritt 2: Zuweisen der Richtlinie zu Ihrer leeren Testressourcengruppe
# Note this example is from a bash shell. Other shells may require different handling of special characters and variables
RG_ID=$(az group show --resource-group my-demo-rg --query id --output tsv)
az policy assignment create --policy "fc9b3da7-8347-4380-8e70-0a0361d8dedd" --display-name "Linux machines should meet requirements for the Azure compute security baseline" --scope "$RG_ID"
Schritt 3: Erstellen einer Test-VM und Vorbereiten der VM für die Maschinenkonfiguration
Erstellen einer Linux-VM mit einer system zugewiesenen Identität
az vm create --name my-demo-vm-01 --resource-group my-demo-rg --image Ubuntu2204 --assign-identity [system] --size Standard_B2sTrinkgeld
Es ist normal, eine Warnung zu erhalten, die "Es wurde noch kein Zugriff gewährt...". Die Azure-Computerkonfiguration erfordert nur, dass der Computer eine verwaltete Identität, nicht über einen bestimmten Ressourcenzugriff verfügen.
Installieren des Computerkonfigurations-Agents als Azure VM-Erweiterung
az vm extension set --resource-group my-demo-rg --vm-name my-demo-vm-01 --name ConfigurationForLinux --publisher Microsoft.GuestConfiguration --enable-auto-upgrade
Trinkgeld
In diesem Handbuch wurden die Schritte für verwaltete Identitäts- und Computerkonfigurationserweiterungen manuell ausgeführt, um das Warten zu reduzieren und Kontextänderungen zu reduzieren. Im großen Stil können diese mit der integrierten Richtlinieninitiative Bereitstellen der Voraussetzungen zum Aktivieren von Gastkonfigurationsrichtlinien auf virtuellen Computern erfüllt werden.
Schritt 4: Machen Sie eine Pause, bevor Sie fortfahren
Mehrere Schritte werden jetzt automatisch ausgeführt. Jeder dieser Schritte kann einige Minuten dauern. Bitte warten Sie daher mindestens 15 Minuten, bevor Sie fortfahren.
Schritt 5: Ergebnisse beobachten
Die folgenden Beispiele zeigen, wie Sie folgendes abrufen:
- Anzahl der Computer nach Compliancestatus (nützlich bei Produktionsmaßstaben, wo Sie möglicherweise Tausende von Computern haben)
- Liste der Computer mit dem Konformitätsstatus für die einzelnen Computer
- Detaillierte Liste der Basisregeln mit Konformitätsstatus und Nachweisen (auch bekannt als Gründe) für jede
Trinkgeld
Erwarten Sie, dass rote nicht konformen Ergebnisse in den folgenden Ergebnissen angezeigt werden. Der Reinüberwachungsanwendungsfall geht es darum, den Unterschied zwischen vorhandenen Systemen und der Azure-Sicherheitsbasislinie zu ermitteln.
Die folgenden Azure CLI-Beispiele stammen aus einer bash Umgebung. Wenn Sie eine andere Shellumgebung verwenden möchten, müssen Sie möglicherweise Beispiele für das Zeilenendeverhalten, Anführungszeichenregeln, Escapezeichen usw. anpassen.
Anzahl der Computer nach Compliancestatus:
QUERY=' // Returns one record per observed compliance status bucket, with machine counts for each guestconfigurationresources | where name contains "AzureLinuxBaseline" | extend ["> ComplianceStatus"] = tostring(properties.complianceStatus) | summarize MachineCount = count() by ["> ComplianceStatus"]' az graph query --graph-query "$QUERY" --query data --output yamlcListe der Computer mit Konformitätsstatus für jede:
QUERY=' // returns one record per machine, with status guestconfigurationresources | where name contains "AzureLinuxBaseline" | project ["> Machine"] = split(properties.targetResourceId,"/")[-1], ComplianceStatus = properties.complianceStatus, LastComplianceCheck = properties.lastComplianceStatusChecked' az graph query --graph-query "$QUERY" --query data --output yamlcDetaillierte Liste der Basisregeln mit Konformitätsstatus und Nachweisen (auch bekannt als Gründe) für jede:
QUERY=' // Returns one record per baseline rule (around 200 per machine) with status for each GuestConfigurationResources | where name contains "AzureLinuxBaseline" | project Report = properties.latestAssignmentReport, Machine = split(properties.targetResourceId,"/")[-1], LastComplianceCheck=properties.lastComplianceStatusChecked | mv-expand Report.resources | project ["> Machine"] = Machine, ["> Rule"] = Report_resources.resourceId, RuleComplianceStatus = Report_resources.complianceStatus, RuleComplianceReason = Report_resources.reasons[0].phrase, LastComplianceCheck' az graph query --graph-query "$QUERY" --query data --output yamlc
Das Video ist enthalten, um einen Überblick über den Arbeitsablauf zu vermitteln. Weitere Informationen zu Abfragen finden Sie im Text in diesem Artikel.
Optional: Hinzufügen weiterer Testcomputer zur Skalierung der Oberfläche
In diesem Artikel wurde die Richtlinie einer Ressourcengruppe zugewiesen, die anfangs leer war und dann eine VM erhielt. Dies zeigt zwar, dass das System durchgängig funktioniert, vermittelt jedoch nicht das Gefühl von skalierbaren Vorgängen mit Listen von Computern usw.
Erwägen Sie das Hinzufügen weiterer Testcomputer zur Ressourcengruppe, unabhängig davon, ob manuell oder über automatisierung. Diese Computer können Azure-VMs oder Arc-fähige Computer sein. Wenn Sie sehen, dass diese Computer in Die Compliance kommen (oder sogar fehlschlagen), können Sie ein starkes Gefühl für die Operationalisierung von Azure-Sicherheitsgrundwerten im Großen und Umfang gewinnen.
Bereinigen von Ressourcen
Um laufende Gebühren zu vermeiden, sollten Sie die in diesem Artikel verwendete Ressourcengruppe löschen. Der Azure CLI-Befehl wäre z. B. az group delete --name "my-demo-rg".
Verwandte Inhalte
- Um Feedback zu geben, besprechen Sie Featureanfragen usw. kontakt: linux_sec_config_mgmt@service.microsoft.com
- Lesen Sie mehr über den Startblog angekündigt bei Ignite 2024