使用 AMA 連接器串流和篩選來自 Windows DNS 伺服器的資料
本文說明如何使用 Azure 監視器代理程式 (AMA) 連接器,從 Windows 網域名稱系統 (DNS) 伺服器記錄串流和篩選事件。 然後,您可以深入分析您的資料,來保護 DNS 伺服器避免遭受威脅和攻擊。 AMA 及其 DNS 擴充功能會安裝在您的 Windows Server 上,來將資料從 DNS 分析記錄上傳至 Microsoft Sentinel 工作區。
DNS 是廣泛使用的通訊協定,可在主機名稱與電腦可讀取的 IP 位址之間進行對應。 因為 DNS 的設計並未考量安全性,因此服務很容易受到惡意活動鎖定,因此其記錄是安全性監視不可或缺的一部分。 以 DNS 伺服器為目標的一些已知威脅包括以 DNS 伺服器為目標的 DDoS 攻擊、DNS DDoS 放大、DNS 劫持等等。
雖然已引進一些機制來改善此通訊協定的整體安全性,但 DNS 伺服器仍是很容易被鎖定的服務。 組織可以監視 DNS 記錄來進一步了解網路活動,並識別鎖定網路內資源的可疑行為或攻擊。 透過 AMA 連接器的 Windows DNS 事件提供這種類型的可見度。 例如,使用連接器來識別嘗試解析惡意功能變數名稱的用戶端、檢視和監視 DNS 伺服器上的要求負載,或檢視動態 DNS 註冊失敗。
注意
透過 AMA 連接器的 Windows DNS 事件目前只有支援分析事件活動。
必要條件
開始之前,請確認您已經︰
- 已啟用 Microsoft Sentinel 的 Log Analytics 工作區。
- 安裝在工作區上的 Windows Server DNS 解決方案。
- 擁有使用稽核修正程式和更新版本的 Windows Server 2012 R2。
- Windows DNS 伺服器。
若要從任何不是 Azure 虛擬機器的系統收集事件,請確定已安裝 Azure Arc。 在啟用 Azure 監視器代理程式型連接器前,請先安裝並啟用 Azure Arc。 此需求包括:
- 安裝在實體機器上的 Windows 伺服器
- 安裝在內部部署虛擬機器上的 Windows 伺服器
- 安裝在非 Azure 雲端虛擬機器上的 Windows 伺服器
透過入口網站透過 AMA 連接器設定 Windows DNS
使用入口網站設定選項,即可使用每個工作區的單一數據收集規則 (DCR) 來設定連接器。 之後,使用進階篩選來篩選出特定事件或資訊,只上傳您想要監視的寶貴數據,降低成本和頻寬使用量。
如果您需要建立多個 DCR, 請改用 API 。 使用 API 建立多個 DCR 仍會在入口網站中只顯示一個 DCR。
若要設定連接器:
在 Microsoft Sentinel 中,開啟 [資料連接器] 頁面,然後透過 AMA 連接器找出 Windows DNS 事件。
在側邊窗格底部,選取 [ 開啟連接器] 頁面。
在 [設定] 區域中,選取 [建立資料收集規則]。 您可以為個別工作區建立單一 DCR。
DCR 名稱、訂用帳戶和資源群組會自動根據工作區名稱、目前訂用帳戶,以及連接器選取的來源資源群組設定。 例如:
選取 [資源] 索引標籤 >[新增資源]。
選取您要安裝連接器以收集記錄的 VM。 例如:
檢閱您的變更,然後選取 [儲存] > [套用]。
透過 API 透過 AMA 連接器設定 Windows DNS
使用 [API 設定] 選項,以每個工作區使用多個 DCR 來設定連接器。 如果您想要使用單一 DCR,請改用入口 網站選項 。
使用 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",
}
在 DCR 中使用進階篩選
DNS 伺服器事件記錄檔可以包含大量事件。 建議您先使用進階篩選來篩選出不必要的事件,再上傳數據,節省寶貴的分級時間和成本。 篩選條件會從上傳至工作區的事件串流中移除不必要的數據,並且以多個字段的組合為基礎。
如需詳細資訊,請參閱 篩選可用的欄位。
透過入口網站建立進階篩選
使用下列程式透過入口網站建立篩選。 如需使用 API 建立篩選的詳細資訊,請參閱 進階篩選範例。
若要透過入口網站建立篩選:
在連接器頁面上的 [設定] 區域中,選取 [新增資料收集篩選]。
輸入篩選的名稱,然後選取篩選類型,這是可減少所收集事件數目的參數。 參數會根據 DNS 正規化架構進行正規化。 如需詳細資訊,請參閱 篩選可用的欄位。
選取您要從下拉式清單中所列值篩選欄位的值。
若要新增複雜的篩選,請選取 [新增排除欄位至篩選] 並新增相關欄位。
- 使用逗號分隔清單來定義每個欄位的多個值。
- 若要建立複合篩選條件,請使用具有 AND 關聯性的不同欄位。
- 若要結合不同的篩選條件,請使用它們之間的 OR 關聯性。
- 在每個星號 (
*.
) 後面新增一個點。 - 請勿在網域清單之間使用空格。
- 萬用字元僅適用於網域的子網域,包括
www.domain.com
,不論通訊協定為何。 例如,如果您在進階篩選器中使用*.domain.com
:- 不論通訊協定是否為 HTTPS、FTP 等等,篩選都會套用至
www.domain.com
和subdomain.domain.com
。 - 篩選條件不適用於
domain.com
。 若要將篩選套用至domain.com
,請直接指定網域,而不要使用萬用字元。
- 不論通訊協定是否為 HTTPS、FTP 等等,篩選都會套用至
若要新增更多新篩選,請選取 [新增排除篩選]。
當您完成新增篩選時,請選取 [ 新增]。
返回連接器主頁面,選取 [套用變更] 以儲存篩選並將其部署至連接器。 若要編輯或刪除現有的篩選或欄位,請選取 [設定] 區域下表格中的編輯或刪除圖示。
若要在初始部署後新增欄位或篩選,請再次選取 [新增資料收集篩選]。
進階篩選範例
使用下列範例,透過入口網站或 API 建立常用的進階篩選。
不要收集特定事件識別碼
此篩選條件會指示連接器不要使用 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"
]
},
}
}
]
使用 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 事件,以上傳資料並篩選您的 Windows DNS 記錄。 若要深入了解 Microsoft Sentinel,請參閱下列文章:
- 深入了解如何取得資料的可見度以及潛在威脅。
- 開始 使用 Microsoft Sentinel 來偵測威脅。
- 使用活頁簿監視資料。