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_ID
AZURE_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.
Azure SDK for Python