適用于 Python 的 Azure EASM 資料平面用戶端程式庫 - 1.0.0b1 版
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 身 分識別程式庫取得所需認證類型的實例。
若要使用 AAD 進行驗證,您必須先安裝pipazure-identity
安裝之後,您可以選擇要使用的 azure.identity 認證類型 。 例如, DefaultAzureCredential 可用來驗證用戶端:
將 AAD 應用程式的用戶端識別碼、租使用者識別碼和用戶端密碼的值設定為環境變數: 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 位址
- 自治號碼 (ASN)
- SSL 憑證
- WHOIS 連絡人
這些資產類型是由 Defender EASM 中的受攻擊面詳細目錄所組成。 此解決方案會探索在傳統防火牆保護外部,且暴露在開放網際網路下的外部面向資產,這些資產必須受到監視和維護,才能將風險降至最低,並改善組織的安全性狀態。 Microsoft Defender 外部受攻擊面管理 (Defender EASM) 主動探索及監視這些資產,然後呈現重要見解,協助客戶有效率地解決其組織中的任何弱點。
探索
Microsoft Defender 外部受攻擊面管理 (Defender EASM) 仰賴我們的專屬探索技術,可持續定義貴組織獨特的網際網路公開攻擊面。 探索會掃描貴組織所擁有的已知資產,以發掘先前未知且未受監視的財產。 探索到的資產會在客戶的詳細目錄中編製索引,以透過單一玻璃窗格提供一個在組織管理下的 Web 應用程式、協力廠商相依性和 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 Bot 會自動判斷您是否需要提供 CLA,並適當地裝飾 PR (例如標籤、註解)。 請遵循 bot 提供的指示。 您只需要使用我們的 CLA 在所有存放庫上執行此動作一次。
此專案採用 Microsoft Open Source Code of Conduct (Microsoft 開放原始碼管理辦法)。 如需詳細資訊,請參閱管理辦法常見問題,或連絡 opencode@microsoft.com 任何其他問題或意見。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應