Condividi tramite


Libreria client di Azure EASM Data Plane per Python - versione 1.0.0b1

Gestione della superficie di attacco esterna di Microsoft Defender (Defender EASM) individua e mappa continuamente la superficie di attacco digitale per offrire una visualizzazione esterna dell'infrastruttura online. Questa visibilità consente ai team IT e alla sicurezza di identificare sconosciuti, classificare i rischi, eliminare le minacce e estendere il controllo della vulnerabilità e dell'esposizione oltre il firewall. Defender EASM sfrutta la tecnologia di ricerca per indicizzazione di Microsoft per individuare gli asset correlati all'infrastruttura online nota e analizza attivamente questi asset per individuare nuove connessioni nel tempo. Surface Insights di attacco viene generato sfruttando le vulnerabilità e i dati dell'infrastruttura per illustrare le principali aree di preoccupazione per l'organizzazione.

Codice | sorgente Pacchetto (pypi) | Documentazione di | riferimento sulle API Documentazione del prodotto

Introduzione

Installazione del pacchetto

pip

python -m pip install azure-defender-easm

dall'origine

python setup.py intall

Prerequisiti

  • Python 3.7 o versione successiva è necessario per usare questo pacchetto.
  • È necessaria una sottoscrizione di Azure per usare questo pacchetto.
  • Istanza del client del piano dati EASM esistente.

Creare con una credenziale di Azure Active Directory

Per usare una credenziale token di Azure Active Directory (AAD), specificare un'istanza del tipo di credenziali desiderato ottenuto dalla libreria azure-identity .

Per eseguire l'autenticazione con AAD, è prima necessario installare pipazure-identity

Dopo la configurazione, è possibile scegliere il tipo di credenziali da azure.identity da usare. Ad esempio, DefaultAzureCredential può essere usato per autenticare il client:

Impostare i valori dell'ID client, dell'ID tenant e del segreto client dell'applicazione AAD come variabili di ambiente: AZURE_CLIENT_ID, , AZURE_TENANT_IDAZURE_CLIENT_SECRET

Usare le credenziali del token restituite per autenticare il 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())

Concetti chiave

Informazioni di base su questi termini consentono di iniziare a usare la libreria client EASM.

Asset

Defender EASM include l'individuazione dei tipi di asset seguenti:

  • Domains
  • Hosts
  • Pagine
  • Blocchi IP
  • Indirizzi IP
  • Numeri di sistema autonomi (ASN)
  • Certificati SSL
  • Contatti WHOIS

Questi tipi di asset comprendono l'inventario della superficie di attacco in Defender EASM. Questa soluzione individua gli asset esterni esposti a Internet aperto all'esterno della protezione del firewall tradizionale; devono essere monitorati e mantenuti per ridurre al minimo il rischio e migliorare il comportamento di sicurezza di un'organizzazione. Gestione della superficie di attacco esterna di Microsoft Defender (Defender EASM) individua e monitora attivamente questi asset, quindi esplorando informazioni chiave che consentono ai clienti di risolvere in modo efficiente eventuali vulnerabilità nell'organizzazione.

Individuazione

Gestione della superficie di attacco esterna di Microsoft Defender (Defender EASM) si basa sulla tecnologia di individuazione proprietaria per definire continuamente la superficie di attacco internet esposta univoca dell'organizzazione. L'individuazione analizza gli asset noti di proprietà dell'organizzazione per individuare le proprietà precedentemente sconosciute e non monitorate. Gli asset individuati vengono indicizzati nell'inventario di un cliente, fornendo un sistema dinamico di record di applicazioni Web, dipendenze di terze parti e infrastruttura Web nella gestione dell'organizzazione tramite un unico riquadro di vetro.

Gruppi di individuazione

Le individuazioni personalizzate sono organizzate in Gruppi di individuazione. Sono cluster di inizializzazione indipendenti che comprendono un'unica esecuzione di individuazione e operano sulle proprie pianificazioni di ricorrenza. Gli utenti possono scegliere di organizzare i gruppi di individuazione per definire gli asset in qualsiasi modo i migliori vantaggi per i flussi di lavoro e dell'azienda. Le opzioni comuni includono l'organizzazione da parte del team responsabile/business unit, marchi o filiali.

Esempio

Dopo aver eseguito l'autenticazione come illustrato nella sezione "Crea con una credenziale di Azure Active Directory", è possibile iniziare a creare l'inventario come illustrato di seguito:

Creare un gruppo di individuazione

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

Visualizzare gli asset

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

Altri esempi

Altri esempi possono essere visualizzati nella directory di esempi di questo repository

Risoluzione dei problemi

Passaggi successivi

Contributo

In questo progetto sono benvenuti i contributi e i suggerimenti. Per la maggior parte dei contenuti è necessario sottoscrivere un contratto di licenza di collaborazione (CLA, Contributor License Agreement) che stabilisce che l'utente ha il diritto di concedere, e di fatto concede a Microsoft i diritti d'uso del suo contributo. Per informazioni dettagliate, vedere https://cla.microsoft.com.

Quando si invia una richiesta pull, un bot CLA determina automaticamente se è necessario specificare un contratto CLA e completare la richiesta pull in modo appropriato (ad esempio con un'etichetta e un commento). Seguire le istruzioni specificate dal bot. È sufficiente eseguire questa operazione una sola volta per tutti i repository che usano il contratto CLA Microsoft.

Questo progetto ha adottato il Codice di comportamento di Microsoft per l'open source. Per altre informazioni, vedere Code of Conduct FAQ (Domande frequenti sul Codice di comportamento) oppure contattare opencode@microsoft.com per eventuali altre domande o commenti.