您只能對已經開啟了流量分析的Region、VPC做日誌轉存。如果關閉流量分析服務,會導致日誌轉存服務沒有日誌資料。具體請參考開啟/關閉/設定流量分析。
應用情境
出於合規和安全性的考慮,公司通常要求對部落格進行儲存和分析。通過內網DNS日誌,可以清晰瞭解企業內網網域名稱的使用方式,協助企業對內網使用者行為進行審計,及時發現潛在的安全問題。
什麼是內網網域名稱解析日誌
內網網域名稱解析日誌(Privatezone Resolution Log)記錄了指定阿里雲UID下所有VPC網路內終端產生的DNS網域名稱解析請求和應答(包括請求的地區、請求的VPC ID、源IP地址、目的IP地址(DNS服務地址)、查詢的網域名稱、記錄類型、應答的結果等),終端請求的這些網域名稱既包含了配置在PrivateZone上的內網權威網域名稱,也包含了外部公網網域名稱。為了滿足使用者可以快速、簡單實現多帳號、多地區情境下內網DNS日誌的採集、管理、中心化查詢分析等需求,DNS與SLS聯合開發,在SLS日誌審計應用中發布一鍵開啟內網DNS日誌的功能。
內網DNS日誌記錄的是內網終端的網域名稱解析請求和應答記錄,請求的網域名稱主要來自於以下四類:
1、內建權威網域名稱
內網DNS解析是基於阿里雲Virtual Private Cloud(Virtual Private Cloud)環境的私人DNS服務。該服務允許您在一個或多個VPC中將自訂私人網域名稱映射到IP地址。通過內網DNS解析,您可以方便地使用自訂私人網域名稱來管理VPC中的ECS主機名稱、SLB、OSS等阿里雲資源,而這些私人網域名稱在VPC之外將無法訪問。此外,您還可以通過專線或VPN等串連方式,將您的VPC與傳統資料中心相連,實現傳統資料中心與阿里雲VPC之間通過私人網域名稱進行資源互相訪問。
2、配置在飛天雲平台DNS(雲底座DNS)上的雲產品執行個體網域名稱
雲底座DNS,是內建於阿里雲飛天平台的底層DNS,阿里雲的所有雲產品提供的執行個體網域名稱,都是通過雲底座DNS進行解析的。
3、轉寄到外部DNS上的外部網域名稱
外部DNS,通常指的是您資料中心的內網DNS系統,通過轉寄管理的功能,將來自VPC的網域名稱解析請求,轉寄到您資料中心的DNS系統進行解析,從而實現阿里雲VPC的ECS主機可以訪問您資料中心的應用網域名稱。
4、遞迴到外部公網權威DNS上的公網網域名稱
公網權威DNS,是特定公網網域名稱(例如“example.com”)在網域名稱註冊局或者網域名稱註冊商處所設定的DNS伺服器。公網權威DNS可以為根網域名稱、頂級網域名稱和其他各級網域名稱提供網域名稱權威資料的管理和解析服務。公網權威DNS伺服器只對自己所擁有的網域名稱進行網域名稱解析,對於不是自己的網域名稱則拒絕訪問。
開通內網網域名稱解析日誌轉存SLS
內網網域名稱解析日誌轉存 SLS 僅對白名單帳號開放。如需配置轉存,請聯絡您的阿里雲商務經理或通過提交工單申請加入白名單。
開啟右上方的 Private Zone 流量分析開關。若已開啟,則點擊開關右側的设置按鈕。
完成表單填寫並提交。
表單項
說明
地區Region列表
選擇需要開啟流量分析的地區。
Virtual Private Cloud列表
根據選擇的地區,展示地區下可選擇的VPC。若該選項為空白,則代表預設分析選定地區的所有VPC的流量。
部署地區
日誌分析伺服器部署地區,無需使用者選擇。流量分析開啟後,會在部署地分析解析日誌資料。
日誌儲存與分析
開通內網網域名稱解析日誌轉存 SLS 可選擇:
仅转存阿里云日志服务 SLS:Alibaba Cloud DNS不提供儲存和分析服務,直接轉存到SLS。
Private Zone 存储并统计分析,同时转存阿里云日志服务 SLS:Alibaba Cloud DNS的內網網域名稱解析服務儲存並提供報表分析服務同時轉存一份日誌到SLS。
转存配置
為每個需要轉存的地區填寫 SLS 相關資訊:
地域:選擇日誌儲存地區。
日志服务Project:建立Project或選擇已有的Project。
日志服务Logstore:建立Logstore或選擇已有的Logstore。
單擊確定儲存配置。儲存後流量分析保持開啟狀態。
查看內網網域名稱解析日誌轉存明細
在 Project 列表中選擇 DNS 控制台轉存配置中指定的 Project。
在左側日誌庫列表,選擇轉存配置中指定的 Logstore,查看解析日誌明細。
內網網域名稱解析日誌欄位資訊
1、請求日誌樣本
日誌欄位 | 說明 | 樣本資料(僅做格式參考) |
dns_msg_flags | DNS資訊Flags:
| RD |
dns_msg_id | DNS資訊ID,表示本次DNS查詢的唯一識別碼 | 30914 |
dst_addr | 目的IP地址 | 100.100.2.136 |
dst_port | 目的連接埠 | 53 |
ecs_hostname | ECS 主機名稱 | iZbp1b1mx9fhe34k***** |
ecs_id | ECS 執行個體ID | i-bp1b1mx9fhe34kh**** |
module_type | 模組日誌類型,請求日誌只有全域日誌:
| GLOBAL |
query_name | 查詢網域名稱名稱 | www.example.com. |
query_type | 查詢記錄類型,例如A,AAAA,CNAME,TXT,MX等 | A |
region_id | 地區 | cn-shanghai |
src_addr | 源IP地址 | 192.168.0.1 |
src_port | 源連接埠 | 42071 |
transport | 傳輸協議 | UDP |
user_id | 阿里雲帳號ID | 139749398683**** |
vpc_id | VPC執行個體ID | vpc-bp1eyy43516itw78**** |
edns | DNS擴充協議,查詢/應答日誌可能包含 | "flags: DO udp: 1408 CLIENT-SUBNET: 1.1.XX.XX/32/24" |
2、全域應答日誌樣本
日誌欄位 | 說明 | 樣本資料(僅做格式參考) |
answer_rrset | 回答資源記錄集 | Json array: ["www.example.com. 600 A 192.168.1.1", "www.example.com 600 A 192.168.1.2", ] |
authority_rrset | 權威資源記錄集 | Json array: ["example.com. 600 SOA ns1.example.com. hostmaster.example.com. 2023010101 3600 1200 3600 360" ] |
additional_rrset | 其他資源記錄集 | Json array: ["ns1.example.com. 600 A 100.100.2.136"] |
dns_msg_flags |
| QR |
dns_msg_id | DNS資訊ID,表示本次DNS查詢的唯一識別碼 | 30914 |
dst_addr | 目的IP地址 | 192.168.0.1 |
dst_port | 目的連接埠 | 42071 |
ecs_hostname | ECS 主機名稱 | iZbp1b1mx9fhe34k***** |
ecs_id | ECS 執行個體ID | i-bp1b1mx9fhe34kh**** |
module_type | 模組日誌類型:
| GLOBAL |
query_name | 查詢網域名稱名稱 | www.example.com. |
query_type | 查詢記錄類型,例如A,AAAA,CNAME,TXT,MX等 | A |
rcode | 響應狀態代碼:
| 0 |
region_id | 地區 | cn-shanghai |
resolve_path | 解析路徑,僅全域應答日誌包含。使用半形逗號“,”分割,分別表示權威加速區、權威普通區、緩衝模組、轉寄模組、遞迴模組 1:表示經過該模組 0:表示跳過該模組 當涉及多級CNAME解析時,可能會出現多位為“1”的情況。 | 1,0,0,0,0 |
rt | 響應時延:
| 10ms |
src_addr | 源IP地址 | 100.100.2.136 |
src_port | 源連接埠 | 53 |
transport | 傳輸協議 | UDP |
user_id | 阿里雲帳號ID | 139749398683**** |
vpc_id | VPC執行個體ID | vpc-bp1eyy43516itw78**** |
edns | DNS擴充協議,查詢/應答日誌可能包含 | "flags: DO udp: 1408 CLIENT-SUBNET: 1.1.XX.XX/32/24" |
3、模組應答日誌樣本
日誌欄位 | 說明 | 樣本資料(僅做格式參考) |
answer_rrset | 回答資源記錄集 | Json array: ["www.example.com. 600 A 192.168.1.1", "www.example.com 600 A 192.168.1.2", ] |
authority_rrset | 權威資源記錄集 | Json array: ["example.com. 600 SOA ns1.example.com. hostmaster.example.com. 2023010101 3600 1200 3600 360" ] |
additional_rrset | 其他資源記錄集 | Json array: ["ns1.example.com. 600 A 100.100.2.136"] |
dns_msg_id | DNS資訊ID,表示本次DNS查詢的唯一識別碼 | 30914 |
dst_addr | 目的IP地址 | 100.100.2.136 |
dst_port | 目的連接埠 | 53 |
ecs_hostname | ECS 主機名稱 | iZbp1b1mx9fhe34k***** |
ecs_id | ECS 執行個體ID | i-bp1b1mx9fhe34kh**** |
module_type | 模組日誌類型:
| AUTH_FAST |
query_name | 查詢網域名稱名稱 | www.example.com. |
query_type | 查詢記錄類型,例如A,AAAA,CNAME,TXT,MX等 | A |
rcode | 響應狀態代碼:
| 0 |
region_id | 地區 | cn-shanghai |
rt | 響應時延:
| 1ms |
src_addr | 源IP地址 | 192.168.0.1 |
src_port | 源連接埠 | 42071 |
transport | 傳輸協議 | UDP |
user_id | 阿里雲帳號ID | 139749398683**** |
vpc_id | VPC執行個體ID | vpc-bp1eyy43516itw78**** |
edns | DNS擴充協議,查詢/應答日誌可能包含 | "flags: DO udp: 1408 CLIENT-SUBNET: 1.1.XX.XX/32/24" |
日誌分析最佳實務
下面列舉幾類常見的內網DNS日誌的查詢分析情境,使用者也可以根據實際需求自訂查詢分析語句。此外,使用者還可以將SQL語句查詢結果添加到儀錶盤、或者另存新檔快速查詢、另存新檔警示等進行後續分析處理。
1、DNS解析結果類
某時間段內,指定VPC下,不同查詢網域名稱的DNS請求量分布。
* and vpc_id: vpc-2ze9dducyc3t6p8aeksb3 |select count(*) as total_req, query_name group by query_name執行上述查詢語句後,在統計圖表頁簽下以餅圖形式展示各查詢網域名稱的請求量佔比分布。
2、DNS解析RT類
某時間段內,指定VPC,指定網域名稱,指定queryType的DNS解析RT統計分析。
* and vpc_id: vpc-2ze9dducyc3t6p8aeksb3 and query_name: "metrichub-cn-beijing.aliyun.com." and query_type: A | select stddev(__time__) as RT, dns_msg_id GROUP by dns_msg_id查詢結果為兩列資料表格,列名分別為 RT 和 dns_msg_id,其中所有記錄的 RT 值均為 0.0,表示按 dns_msg_id 分組後各組時間標準差為 0,共返回 100 條記錄。
3、解析異常分析
客戶的阿里雲ECS伺服器查詢網域名稱時存在解析異常情況,客戶開啟了內網網域名稱解析日誌並將相關日誌轉存至SLS,進一步分析解析異常原因。在SLS日誌記錄內可能會同時存在如下三種日誌內容:請求日誌、全域應答日誌、模組應答日誌。
分析過程如下:
可以通過
src_port和dns_msg_id參數,識別過濾一次解析請求的全部日誌內容。可以通過如下欄位區分3種日誌的區別:
rt欄位為空白的是請求日誌resolve_path為空白的是模組應答日誌不為空白的是全域應答日誌
異常結果樣本
根據前面的區分規則,第一條為請求日誌,第二條為模組應答日誌,第三條為全域應答日誌。
三條日誌的
dns_msg_id均為59241,其中第一條module_type為GLOBAL、dns_msg_flags為RD;第二條module_type為RECURSION、dns_msg_flags為空白;第三條module_type為GLOBAL、dns_msg_flags為QR RD,dst_addr為100.100.2.136。用戶端發起DNS解析請求,表示期望進行遞迴查詢;
向遞迴模組發起請求,遞迴模組解析失敗;
100.100.2.136 返回用戶端結果,解析失敗。
正常結果樣本
DNS 內網日誌查詢結果表格中,關鍵字段及其正常值包括:
_source_為log_dispatch,_topic_為dns_intranet_log,module_type為 GLOBAL 或 CACHE,query_type為 A,dst_addr為100.100.2.136,dst_port為53,transport為 UDP,answer_rset包含 CNAME 解析記錄,node_id為cn-shanghai。用戶端發起DNS解析請求,表示期望進行遞迴查詢;
向遞迴模組發起請求,遞迴模組解析成功;
100.100.2.136返回用戶端解析結果。