Python的Microsoft EASM数据平面客户端库
项目描述
Azure EASM数据平面客户端库
Microsoft Defender外部攻击面管理(Defender EASM)持续发现并映射您的数字攻击面,以提供对在线基础设施的外部视图。这种可见性使安全和IT团队能够识别未知内容、优先考虑风险、消除威胁,并将漏洞和暴露控制扩展到防火墙之外。Defender EASM利用Microsoft的爬虫技术发现与您已知的在线基础设施相关的资产,并主动扫描这些资产以随着时间的推移发现新的连接。攻击面洞察通过利用漏洞和基础设施数据来展示组织关注的重点领域。
源代码 | 包(pypi) | API参考文档 | 产品文档
入门
安装包
pip
python -m pip install azure-defender-easm
从源
python setup.py intall
先决条件
- 使用此包需要 Python 3.7 或更高版本。
- 使用此包需要Azure 订阅。
- 现有的 EASM 数据平面客户端实例。
使用 Azure Active Directory 凭据创建
要使用Azure Active Directory (AAD) 令牌凭据,请提供一个从azure-identity库获取的所需凭据类型的实例。
要使用 AAD 进行身份验证,您必须首先使用pip安装azure-identity
设置完成后,您可以选择从 azure.identity 中使用哪种类型的凭据。例如,可以使用DefaultAzureCredential 来验证客户端
将 AAD 应用程序的客户端 ID、租户 ID 和客户端机密作为环境变量设置值:AZURE_CLIENT_ID
、AZURE_TENANT_ID
、AZURE_CLIENT_SECRET
使用返回的令牌凭据来验证客户端
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())
关键概念
对这些术语的基本了解将有助于您开始使用 EASM 客户端库。
资产
Defender EASM 包含以下类型的资产发现
- 域名
- 主机
- 页面
- IP 块
- IP 地址
- 自治系统编号 (ASNs)
- SSL 证书
- WHOIS 联系人
这些资产类型构成了 Defender EASM 中的攻击面清单。此解决方案发现面向外部的资产,这些资产暴露在传统防火墙保护之外的开放互联网上;它们需要被监控和维护,以最小化风险并提高组织的网络安全状况。Microsoft Defender External Attack Surface Management (Defender EASM) 活跃地发现和监控这些资产,然后呈现关键见解,帮助客户高效地解决其组织中的任何漏洞。
发现
Microsoft Defender External Attack Surface Management (Defender EASM) 依赖于我们专有的发现技术来持续定义组织的独特互联网暴露攻击面。发现扫描组织拥有的已知资产,以发现先前未知和未监控的属性。发现的资产在客户的清单中进行索引,通过一个统一的视图提供组织管理下的网络应用程序、第三方依赖项和 Web 基础设施的动态记录系统。
发现组
自定义发现被组织到发现组中。它们是独立的种子集群,构成单个发现运行,并按自己的重复计划运行。用户可以选择以对他们公司和工作流程最有益的方式组织他们的发现组来划分资产。常见选项包括按负责团队/业务单元、品牌或子公司进行组织。
示例
如“使用 Azure Active Directory 凭据创建”部分中所示进行身份验证后,您可以像这样开始构建您的清单
创建发现组
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")
查看资产
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}')
更多示例
更多示例可以在本存储库的示例目录中查看
故障排除
下一步
贡献
此项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议 (CLA),声明您有权并且实际上确实授予我们使用您贡献的权利。有关详细信息,请访问 https://cla.microsoft.com。
当您提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并适当地装饰PR(例如,标签、注释)。只需遵循机器人提供的说明。您只需要在所有使用我们CLA的仓库中做一次。
本项目采用了微软开源行为准则。更多信息,请参阅行为准则常见问题解答或通过opencode@microsoft.com联系以提出任何额外问题或评论。
项目详情
azure-defender-easm-1.0.0b1.zip 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 524b0fe0f561b69215fc18ebca1010dbba843daaeb27ca579b0a9924c287e4a7 |
|
MD5 | 70f70f5253acf867bf01437255fe533d |
|
BLAKE2b-256 | 4d55adc063793cd4962493b6fa3bb96b4bb6a92391e89c6c575b2fb1aa77049e |
azure_defender_easm-1.0.0b1-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f6017b4c42b5bb7109936e39772f412759b0faf36f3cfddddbe1b46cf3a90696 |
|
MD5 | 5c2b3f955b29326afb5f51352eb90025 |
|
BLAKE2b-256 | 6ff27d95e9d7006c8556ffbf456f69192505c1e27d297b5357901532281e176e |