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