Freigeben über


Azure EASM-Datenebenen-Clientbibliothek für Python– Version 1.0.0b1

Microsoft Defender External Attack Surface Management (Defender EASM) überwacht kontinuierlich Ihre digitale Angriffsfläche und bildet sie ab, damit Sie eine externe Ansicht Ihrer Onlineinfrastruktur erhalten. Diese Transparenz ermöglicht es Sicherheits- und IT-Teams, Unbekannte zu identifizieren, Risiken zu priorisieren, Bedrohungen zu beseitigen und die Kontrolle über Sicherheitsrisiken und Schwachstellen über die Firewall hinaus zu erweitern. Defender EASM nutzt die Durchforstungstechnologie von Microsoft, um Ressourcen im Zusammenhang mit Ihrer bekannten Onlineinfrastruktur zu ermitteln, und überprüft diese Ressourcen aktiv, um im Laufe der Zeit neue Verbindungen zu entdecken. Durch die Nutzung von Schwachstellen- und Infrastrukturdaten werden Erkenntnisse zur Angriffsfläche generiert, um die wichtigsten Problembereiche für Ihr Unternehmen aufzuzeigen.

Quellcode | Paket (pypi) | API-Referenzdokumentation | Produktdokumentation

Erste Schritte

Installieren des Pakets

pip

python -m pip install azure-defender-easm

aus der Quelle

python setup.py intall

Voraussetzungen

  • Für die Verwendung dieses Pakets ist Python 3.7 oder höher erforderlich.
  • Sie benötigen ein Azure-Abonnement , um dieses Paket verwenden zu können.
  • Eine vorhandene EASM-Datenebenenclientinstanz.

Erstellen mit Azure Active Directory-Anmeldeinformationen

Um Anmeldeinformationen für Azure Active Directory-Token (AAD) zu verwenden, geben Sie eine Instanz des gewünschten Anmeldeinformationstyps an, der aus der azure-identity-Bibliothek abgerufen wird.

Um sich bei AAD zu authentifizieren, müssen Sie zuerst pip installieren. azure-identity

Nach dem Setup können Sie auswählen, welche Art von Anmeldeinformationen aus azure.identity verwendet werden soll. Beispielsweise kann DefaultAzureCredential verwendet werden, um den Client zu authentifizieren:

Legen Sie die Werte der Client-ID, der Mandanten-ID und des geheimen Clientschlüssels der AAD-Anwendung als Umgebungsvariablen fest: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

Verwenden Sie die zurückgegebenen Tokenanmeldeinformationen, um den Client zu authentifizieren:

from azure.defender.easm import EasmClient
from azure.identity import DefaultAzureCredential

sub_id = '<your subscription ID here>'
workspace_name = '<your workspace name here>'
resource_group = '<your resource group here>'
region = '<your region here>'

endpoint = f'{region}.easm.defender.microsoft.com'

client = EasmClient(endpoint, resource_group, sub_id, workspace_name, credential=DefaultAzureCredential())

Wichtige Begriffe

Grundlegendes Verständnis dieser Begriffe hilft ihnen bei den ersten Schritten mit der EASM-Clientbibliothek.

Medienobjekte

Defender EASM umfasst die Ermittlung der folgenden Ressourcenarten:

  • Domänen
  • Hosts
  • Seiten
  • IP-Blöcke
  • IP-Adressen
  • Autonome Systemnummern (ASNs)
  • SSL-Zertifikate
  • WHOIS-Kontakte

Diese Arten von Ressourcen bilden Ihr Angriffsflächeninventar in Defender EASM. Diese Lösung entdeckt nach außen gerichtete Ressourcen, die außerhalb des traditionellen Firewallschutzes dem offenen Internet ausgesetzt sind. Sie müssen überwacht und gewartet werden, um das Risiko zu minimieren und den Sicherheitsstatus eines Unternehmens zu verbessern. Microsoft Defender External Attack Surface Management (Defender EASM) ermittelt und überwacht diese Ressourcen aktiv und ermittelt dann wichtige Erkenntnisse, die Kunden dabei helfen, Sicherheitsrisiken in ihrer Organisation effizient zu beheben.

Ermittlung

Microsoft Defender Externe Angriffsflächenverwaltung (Defender EASM) stützt sich auf Ihre unternehmenseigene Ermittlungstechnologie, um kontinuierlich die Angriffsoberfläche Ihre Unternehmens zu definieren, die dem Internet ausgesetzt ist. Die Ermittlung scannt bekannte Ressourcen, die Ihrer Organisation gehören, um zuvor unbekannte und nicht überwachte Eigenschaften aufzudecken. Ermittelte Ressourcen werden im Bestand eines Kunden indiziert, wodurch über eine zentralisierte Benutzeroberfläche ein dynamisches Datensatzsystem aus Webanwendungen, Abhängigkeiten von Drittanbietern und Webinfrastruktur bereitgestellt wird, das der Verwaltung der Organisation unterliegt.

Ermittlungsgruppen

Benutzerdefinierte Ermittlungen werden in Ermittlungsgruppen strukturiert. Hierbei handelt es sich um unabhängige Seedcluster, die eine einzelne Ermittlungsausführung umfassen und auf eigenen Wiederholungszeitplänen basieren. Benutzer können ihre Ermittlungsgruppen strukturieren, um Ressourcen auf eine Weise abzugrenzen, die für ihr Unternehmen und ihre Workflows am besten geeignet ist. Gängige Optionen umfassen die Strukturierung nach zuständigem Team bzw. nach zuständiger Unternehmenseinheit, nach Marken oder nach Tochtergesellschaften.

Beispiele

Nach der Authentifizierung, wie im Abschnitt "Erstellen mit Azure Active Directory-Anmeldeinformationen" gezeigt, können Sie wie folgt mit der Erstellung Ihres Bestands beginnen:

Erstellen einer Ermittlungsgruppe

from azure.defender.easm import EasmClient
from azure.identity import DefaultAzureCredential

sub_id = '<your subscription ID here>'
workspace_name = '<your workspace name here>'
resource_group = '<your resource group here>'
region = '<your region here>'

endpoint = f'{region}.easm.defender.microsoft.com'

client = EasmClient(endpoint, resource_group, sub_id, workspace_name, credential=DefaultAzureCredential())

client.discovery_groups.put("example group", {
	'seeds': [
	    {'kind': 'host', 'name': 'example.org'}
	]
})
client.discovery_groups.run("example group")

Anzeigen von Ressourcen

from azure.defender.easm import EasmClient
from azure.identity import DefaultAzureCredential

sub_id = '<your subscription ID here>'
workspace_name = '<your workspace name here>'
resource_group = '<your resource group here>'
region = '<your region here>'

endpoint = f'{region}.easm.defender.microsoft.com'

client = EasmClient(endpoint, resource_group, sub_id, workspace_name, credential=DefaultAzureCredential())

for asset in client.assets.list():
	print(f'{asset.kind}: {asset.name}')

Weitere Beispiele

Weitere Beispiele finden Sie im Beispielverzeichnis dieses Repositorys.

Problembehandlung

Nächste Schritte

Mitwirken

Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Ausführliche Informationen finden Sie unter https://cla.microsoft.com.

Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den FAQ zum Verhaltenskodex, oder wenden Sie sich mit weiteren Fragen oder Kommentaren an opencode@microsoft.com.