Compartir a través de


Biblioteca cliente del plano de datos de Azure EASM para Python: versión 1.0.0b1

Microsoft Defender External Attack Surface Management (Defender EASM) detecta y asigna continuamente la superficie expuesta a ataques digitales para proporcionar una visión externa de la infraestructura en línea. Esta visibilidad permite a los equipos de seguridad y TI identificar elementos desconocidos, priorizar el riesgo, eliminar amenazas y ampliar el control de vulnerabilidades y exposición además que con el firewall. Defender EASM aprovecha la tecnología de rastreo de Microsoft para detectar recursos relacionados con la infraestructura en línea conocida y los examina activamente para detectar nuevas conexiones a lo largo del tiempo. Se genera información sobre las superficies expuestas a ataques aprovechando los datos de vulnerabilidad y la infraestructura para mostrar las áreas clave de interés para la organización.

Código | fuente Paquete (pypi) | Documentación | de referencia de APIDocumentación del producto

Introducción

Instalación del paquete

pip

python -m pip install azure-defender-easm

de origen

python setup.py intall

Requisitos previos

  • Se requiere Python 3.7 o posterior para usar este paquete.
  • Necesita una suscripción de Azure para usar este paquete.
  • Una instancia de cliente del plano de datos eaSM existente.

Creación con una credencial de Azure Active Directory

Para usar una credencial de token de Azure Active Directory (AAD), proporcione una instancia del tipo de credencial deseado obtenido de la biblioteca azure-identity .

Para autenticarse con AAD, primero debe instalar pip . azure-identity

Después de la instalación, puede elegir el tipo de credencial de azure.identity que se va a usar. Por ejemplo, Se puede usar DefaultAzureCredential para autenticar al cliente:

Establezca los valores del identificador de cliente, el identificador de inquilino y el secreto de cliente de la aplicación de AAD como variables de entorno: AZURE_CLIENT_ID, , . AZURE_TENANT_IDAZURE_CLIENT_SECRET

Use la credencial de token devuelta para autenticar al cliente:

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

Conceptos clave

La comprensión básica de estos términos le ayudará a empezar a trabajar con la biblioteca cliente de EASM.

Recursos

Defender EASM incluye la detección de los siguientes tipos de recursos:

  • Dominios
  • Hosts
  • Páginas
  • Bloques de IP
  • Direcciones IP
  • Números de sistema autónomo (ASN)
  • Certificados SSL
  • Contactos de WHOIS

Estos tipos de recursos componen el inventario de superficie expuesta a ataques en EASM de Defender. Esta solución detecta activos orientados externamente que se exponen a Internet abierto fuera de la protección tradicional del firewall; deben supervisarse y mantenerse para minimizar el riesgo y mejorar la posición de seguridad de una organización. Administración de superficie expuesta a ataques externos de Microsoft Defender (EASM de Defender) detecta y supervisa activamente estos recursos y, a continuación, muestran información clave que ayuda a los clientes a abordar eficazmente las vulnerabilidades de su organización.

Detección

Microsoft Defender External Attack Surface Management (Defender EASM) se basa en nuestra tecnología de detección propia para definir continuamente la superficie de ataque única expuesta a Internet de su organización. Discovery examina los recursos conocidos que pertenecen a su organización para detectar propiedades desconocidas y no supervisadas anteriormente. Los recursos detectados se indexan en el inventario de un cliente, lo que proporciona un sistema dinámico de registro de aplicaciones web, dependencias de terceros e infraestructura web bajo la administración de la organización a través de un único panel.

Grupos de detección

Las detecciones personalizadas se organizan en grupos de detección. Se trata de clústeres de inicialización independientes que componen una sola ejecución de detección y funcionan con sus propias programaciones de periodicidad. Los usuarios pueden optar por organizar sus grupos de detección para delinear los recursos de la manera que mejor se adapte a sus empresas y flujos de trabajo. Entre las opciones comunes se incluyen la organización por equipo responsable o unidad de negocio, por marcas o por subsidiarias.

Ejemplos

Después de autenticarse como se muestra en la sección "Crear con una credencial de Azure Active Directory", puede empezar a crear el inventario de la siguiente manera:

Creación de un grupo de detección

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

Visualización de recursos

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

Más ejemplos

Se pueden ver más ejemplos en el directorio de ejemplos de este repositorio.

Solución de problemas

Pasos siguientes

Contribuciones

Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para más detalles, visite https://cla.microsoft.com.

Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.

Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para obtener más información, vea las preguntas más frecuentes sobre el código de conducta o póngase en contacto con opencode@microsoft.com si tiene preguntas o comentarios.