Bibliothèque de client Azure EASM Data Plane pour Python - version 1.0.0b1

Microsoft Defender EASM (External Attack Surface Management) découvre et mappe en permanence votre surface d’attaque numérique pour fournir une vue externe de votre infrastructure en ligne. Cette visibilité permet aux équipes informatiques et de sécurité d’identifier les inconnus, de hiérarchiser les risques, d’éliminer les menaces et d’étendre le contrôle des vulnérabilités et de l’exposition au-delà du pare-feu. Defender EASM tire parti de la technologie d’analyse de Microsoft pour découvrir les ressources liées à votre infrastructure en ligne connue et analyse activement ces ressources pour découvrir de nouvelles connexions au fil du temps. Générés en tirant parti des données de vulnérabilité et d’infrastructure, les insights de surface d’attaque visent à présenter les principaux domaines de préoccupation pour votre organisation.

Code | source Package (pypi) | Documentation de référence sur les | API Documentation produit

Prise en main

Installation du package

pip

python -m pip install azure-defender-easm

à partir de la source

python setup.py intall

Prérequis

  • Python 3.7 ou version ultérieure est requis pour utiliser ce package.
  • Vous avez besoin d’un abonnement Azure pour utiliser ce package.
  • Une instance cliente de plan de données EASM existante.

Créer avec des informations d’identification Azure Active Directory

Pour utiliser des informations d’identification de jeton Azure Active Directory (AAD), fournissez une instance du type d’informations d’identification souhaité obtenu à partir de la bibliothèque azure-identity .

Pour vous authentifier auprès d’AAD, vous devez d’abord installer pipazure-identity

Après l’installation, vous pouvez choisir le type d’informations d’identification d’azure.identity à utiliser. Par exemple, DefaultAzureCredential peut être utilisé pour authentifier le client :

Définissez les valeurs de l’ID client, de l’ID de locataire et de la clé secrète client de l’application AAD en tant que variables d’environnement : AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

Utilisez les informations d’identification de jeton retournées pour authentifier le client :

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())

Concepts clés

La compréhension de base de ces termes vous aidera à commencer à utiliser la bibliothèque de client EASM.

Éléments multimédias

Defender EASM inclut la découverte des types de ressources suivants :

  • Domaines
  • Hôtes
  • Pages
  • Blocs d’adresses IP
  • Adresses IP
  • Numéros système autonomes (ASN)
  • Certificats SSL
  • Contacts WHOIS

Ces types de ressources comprennent votre inventaire de surface d’attaque dans Defender EASM. Cette solution découvre les ressources accessibles en externe qui sont exposées à l’Internet ouvert en dehors de la protection pare-feu traditionnelle ; elles doivent être surveillées et maintenues pour réduire le risque et améliorer la posture de sécurité d’une organisation. Gestion de surface d'attaque externe Microsoft Defender (Defender EASM) découvre et surveille activement ces ressources, puis met en évidence des insights clés qui aident les clients à résoudre efficacement les vulnérabilités de leur organisation.

Découverte

Microsoft Defender External Attack Surface Management (Defender EASM) s’appuie sur notre technologie de découverte propriétaire pour définir en permanence la surface d’attaque Internet unique de votre organisation. La découverte analyse les ressources connues détenues par votre organisation pour découvrir les propriétés précédemment inconnues et non surveillées. Les ressources découvertes sont indexées dans l’inventaire d’un client, fournissant un système dynamique d’enregistrement d’applications web, de dépendances tierces et d’infrastructure web sous la gestion de l’organisation via une même vitrine.

Groupes de découverte

Les découvertes personnalisées sont organisées en groupes de découvertes. Il s’agit de clusters d’amorçage indépendants qui composent une seule exécution de découverte et fonctionnent selon leurs propres planifications de périodicité. Les utilisateurs peuvent choisir d’organiser leurs groupes de découverte pour délimiter les ressources de la manière la plus adaptée à leur entreprise et à leurs flux de travail. Les options courantes incluent l’organisation par une équipe responsable, une unité commerciale, des marques ou des filiales.

Exemples

Après vous être authentifié comme indiqué dans la section « Créer avec des informations d’identification Azure Active Directory », vous pouvez commencer à créer votre inventaire comme suit :

Créer un groupe de découverte

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")

Afficher les ressources

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}')

Autres exemples

D’autres exemples peuvent être consultés dans le répertoire d’exemples de ce dépôt

Dépannage

Étapes suivantes

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez https://cla.microsoft.com.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez la FAQ sur le code de conduite ou contactez opencode@microsoft.com pour toute question ou tout commentaire supplémentaire.