使用 AMA 連接器串流和篩選來自 Windows DNS 伺服器的資料
本文說明如何使用 Azure 監視器代理程式 (AMA) 連接器,從 Windows 網域名稱系統 (DNS) 伺服器記錄串流和篩選事件。 然後,您可以深入分析您的資料,來保護 DNS 伺服器避免遭受威脅和攻擊。
AMA 及其 DNS 擴充功能會安裝在您的 Windows Server 上,來將資料從 DNS 分析記錄上傳至 Microsoft Sentinel 工作區。 了解連接器。
概觀
為什麼監視 DNS 活動很重要
DNS 是廣泛使用的通訊協定,可在主機名稱與電腦可讀取的 IP 位址之間進行對應。 因為 DNS 的設計並未考量安全性,因此服務很容易受到惡意活動鎖定,因此其記錄是安全性監視不可或缺的一部分。
一些以 DNS 伺服器為目標的已知威脅包括:
- 以 DNS 伺服器為目標的 DDoS 攻擊
- DNS DDoS 放大
- DNS 攔截
- DNS 通道處理
- DNS 破壞
- DNS 詐騙
- NXDOMAIN 攻擊
- 虛設網域攻擊
透過 AMA 連接器的 Windows DNS 事件
雖然已引進一些機制來改善此通訊協定的整體安全性,但 DNS 伺服器仍是很容易被鎖定的服務。 組織可以監視 DNS 記錄來進一步了解網路活動,並識別鎖定網路內資源的可疑行為或攻擊。 透過 AMA 連接器的 Windows DNS 事件提供這種類型的可見度。
您可以使用連接器來:
- 指出嘗試解析惡意網域名稱的用戶端。
- 在 DNS 伺服器上檢視和監視要求負載。
- 檢視動態 DNS 註冊失敗。
- 指出經常查詢的網域名稱和 Talkative 用戶端。
- 識別過時的資源記錄。
- 在一個位置檢視所有 DNS 相關記錄。
集合如何與透過 AMA 連接器與 Windows DNS 事件搭配運作
AMA 連接器會使用已安裝的 DNS 擴充功能收集和剖析記錄。
注意
透過 AMA 連接器的 Windows DNS 事件目前只有支援分析事件活動。
連接器會將事件串流至 Microsoft Sentinel 工作區進一步分析。
您現在可以使用進階篩選來篩選出特定事件或資訊。 使用進階篩選,您只有上傳您想要監視的寶貴資料,以降低成本和頻寬使用量。
使用 ASIM 正規化
此連接器使用進階安全性資訊模型完全正規化 (ASIM) 剖析器。 連接器會將事件從分析記錄串流至名為 ASimDnsActivityLogs
的標準化資料表。 下表可作為翻譯工具,使用單一整合語言,並在所有 DNS 連接器之間共用。
針對與來源無關的剖析器,這會整合所有 DNS 資料,並確保您的分析在所有設定的來源上執行,請使用 ASIM DNS 整合剖析器 (部分機器翻譯) _Im_Dns
。
ASIM 整合剖析器會補充原生 ASimDnsActivityLogs
資料表。 雖然原生資料表符合 ASIM 規範,但需要剖析器新增功能,例如別名、只能在查詢時間使用,以及與其他 DNS 資料來源結合 ASimDnsActivityLogs
。
ASIM DNS 結構描述代表 DNS 通訊協定活動,例如分析記錄中的 Windows DNS 伺服器所記錄。 結構描述由定義欄位和值的正式參數清單和 RFC 控管。
請參閱轉譯為標準化欄位名稱的 Windows DNS 伺服器欄位清單。
透過 AMA 連接器設定 Windows DNS
您可以透過兩種方式來設定連接器:
- Microsoft Sentinel 入口網站。 您可以使用此設定為每個工作區建立、管理及刪除單一資料收集規則 (DCR)。 即使您透過 API 定義多個 DCR,入口網站仍只會顯示單一 DCR。
- API。 您可以使用此設定建立、管理及刪除多個 DCR。
必要條件
開始之前,請確認您已經︰
- 啟用 Microsoft Sentinel 解決方案。
- 擁有已定義的 Microsoft Sentinel 工作區。
- 擁有使用稽核修正程式和更新版本的 Windows Server 2012 R2。
- Windows DNS 伺服器。
- 若要從任何不是 Azure 虛擬機器的系統收集事件,請確定已安裝 Azure Arc。 在啟用 Azure 監視器代理程式型連接器前,請先安裝並啟用 Azure Arc。 此需求包括:
- 安裝在實體機器上的 Windows 伺服器
- 安裝在內部部署虛擬機器上的 Windows 伺服器
- 安裝在非 Azure 雲端虛擬機器上的 Windows 伺服器
在 Microsoft Sentinel 入口網站中設定連接器 (UI)
開啟連接器頁面並建立 DCR
- 開啟 Azure 入口網站,然後瀏覽至 Microsoft Sentinel 服務。
- 在 [資料連線器] 刀鋒視窗中,於搜尋列中輸入 DNS。
- 選取 [透過 AMA 的 Windows DNS 事件] 連接器。
- 在連接器描述下方,選取 [開啟連接器] 頁面。
- 在 [設定] 區域中,選取 [建立資料收集規則]。 您可以為個別工作區建立單一 DCR。 如果您需要建立多個 DCR,請使用 API。
DCR 名稱、訂用帳戶和資源群組會自動根據工作區名稱、目前訂用帳戶,以及連接器選取的來源資源群組設定。
定義資源 (VM)
選取 [資源] 索引標籤,然後選取 [新增資源]。
選取您要安裝連接器以收集記錄的 VM。
檢閱您的變更,然後選取 [儲存] > [套用]。
篩選排除不想要的事件
使用篩選時,您會排除篩選所指定的事件。 換句話說,Microsoft Sentinel 不會收集指定事件的資料。 雖然不需要此步驟,但這有助於降低成本並簡化事件分級。
若要建立篩選:
在連接器頁面上的 [設定] 區域中,選取 [新增資料收集篩選]。
輸入篩選的名稱,然後選取篩選類型。 篩選類型可減少所收集事件數目的參數。 參數會根據 DNS 正規化架構進行正規化。 請參閱篩選可用欄位的清單。
從下拉式清單所列值中選擇要篩選欄位的值。
若要新增複雜的篩選,請選取 [新增排除欄位至篩選] 並新增相關欄位。 請參閱下方使用進階篩選一節中的範例。
若要新增更多新篩選,請選取 [新增排除篩選]。
完成新增篩選後,請選取 [新增]。
返回連接器主頁面,選取 [套用變更] 以儲存篩選並將其部署至連接器。 若要編輯或刪除現有的篩選或欄位,請選取 [設定] 區域下表格中的編輯或刪除圖示。
若要在初始部署後新增欄位或篩選,請再次選取 [新增資料收集篩選]。
使用 API 設定連接器
您可以使用 API 建立 DCR。 如果您需要建立多個 DCR,請使用此選項。
使用此範例作為範本來建立或更新 DCR:
要求 URL 和標頭
PUT
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}?api-version=2019-11-01-preview
要求本文
{
"properties": {
"dataSources": {
"windowsEventLogs": [],
"extensions": [
{
"streams": [
"Microsoft-ASimDnsActivityLogs"
],
"extensionName": "MicrosoftDnsAgent",
"extensionSettings": {
"Filters": [
{
"FilterName": "SampleFilter",
"Rules": [
{
"Field": "EventOriginalType",
"FieldValues": [
"260"
]
}
]
}
]
},
"name": "SampleDns"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{sentinelWorkspaceName}",
"workspaceId": {WorkspaceGuid}",
"name": "WorkspaceDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-ASimDnsActivityLogs"
],
"destinations": [
" WorkspaceDestination "
]
}
],
},
"location": "eastus2",
"tags": {},
"kind": "Windows",
"id":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Insights/dataCollectionRules/{workspaceName}-microsoft-sentinel-asimdnsactivitylogs ",
"name": " {workspaceName}-microsoft-sentinel-asimdnsactivitylogs ",
"type": "Microsoft.Insights/dataCollectionRules",
}
使用進階篩選器
DNS 伺服器事件記錄檔可以包含大量事件。 您可以使用進階篩選器,在上傳資料之前篩選掉不必要的事件,節省寶貴的分級時間和成本。 篩選器會從上傳至工作區的事件串流中移除不必要的資料。
篩選器以多個欄位組合為基礎。
- 您可以使用逗號分隔清單,針對每個欄位使用多個值。
- 若要建立複合篩選條件,請使用具有 AND 關聯性的不同欄位。
- 若要結合不同的篩選條件,請使用它們之間的 OR 關聯性。
檢閱篩選可用欄位。
使用萬用字元
您可以在進階篩選器中使用萬用字元。 使用萬用字元時,請檢閱下列考量:
- 在每個星號 (
*.
) 後面新增一個點。 - 請勿在網域清單之間使用空格。
- 萬用字元僅適用於網域的子網域,包括
www.domain.com
,不論通訊協定為何。 例如,如果您在進階篩選器中使用*.domain.com
:- 不論通訊協定是否為 HTTPS、FTP 等等,篩選都會套用至
www.domain.com
和subdomain.domain.com
。 - 篩選條件不適用於
domain.com
。 若要將篩選套用至domain.com
,請直接指定網域,而不要使用萬用字元。
- 不論通訊協定是否為 HTTPS、FTP 等等,篩選都會套用至
進階篩選器範例
不要收集特定事件識別碼
此篩選條件會指示連接器不要使用 IPv6 位址收集 EventID 256 或 EventID 257 或 EventID 260。
使用 Microsoft Sentinel 入口網站:
利用 Equals 運算子,使用 EventOriginalType 欄位建立篩選條件,其值為 256、257 和 260。
使用上面定義的 EventOriginalType 欄位建立篩選,並使用 And 運算子,同時包含設定為 AAAA 的 DnsQueryTypeName 欄位。
使用 API:
"Filters": [
{
"FilterName": "SampleFilter",
"Rules": [
{
"Field": "EventOriginalType",
"FieldValues": [
"256", "257", "260"
]
},
{
"Field": "DnsQueryTypeName",
"FieldValues": [
"AAAA"
]
}
]
},
{
"FilterName": "EventResultDetails",
"Rules": [
{
"Field": "EventOriginalType",
"FieldValues": [
"230"
]
},
{
"Field": "EventResultDetails",
"FieldValues": [
"BADKEY","NOTZONE"
]
}
]
}
]
不要收集具有特定網域的事件
此篩選條件會指示連接器不要從 microsoft.com、google.com、amazon.com 或 facebook.com 或 center.local 的任何子域收集事件。
使用 Microsoft Sentinel 入口網站:
使用 Equals運 算子設定 DnsQuery 欄位,其中包含清單*.microsoft.com,*.google.com,facebook.com,*.amazon.com,center.local。
使用萬用字元請檢閱下列考量。
若要在單一欄位中定義不同的值,請使用 OR 運算子。
使用 API:
使用萬用字元請檢閱下列考量。
"Filters": [
{
"FilterName": "SampleFilter",
"Rules": [
{
"Field": "DnsQuery",
"FieldValues": [
"*.microsoft.com", "*.google.com", "facebook.com", "*.amazon.com","center.local"
]
},
}
}
]
下一步
在本文中,您已了解如何透過 AMA 連接器設定 Windows DNS 事件,以上傳資料並篩選您的 Windows DNS 記錄。 若要深入了解 Microsoft Sentinel,請參閱下列文章:
- 深入了解如何取得資料的可見度以及潛在威脅。
- 開始 使用 Microsoft Sentinel 來偵測威脅。
- 使用活頁簿監視資料。