收集 AWS Route 53 記錄
支援以下發布途徑:
Google secops
Siem
本文說明如何設定 AWS CloudTrail,將 AWS Route 53 DNS 記錄儲存在 S3 儲存桶中,並將 S3 中的記錄擷取至 Google 安全作業。Amazon Route 53 提供 DNS 查詢記錄,並可透過健康狀態檢查監控資源。Route 53 已與 AWS CloudTrail 整合,這項服務可記錄使用者、角色或 AWS 服務在 Route 53 中執行的動作。
事前準備
請確認您已完成下列必要條件:
- Google SecOps 執行個體
- AWS 特權存取權
如何設定 AWS CloudTrail 和 Route 53
- 登入 AWS 主控台。
- 搜尋「Cloudtrail」Cloudtrail。
- 如果您還沒有課程,請按一下「建立課程」。
- 提供Trail 名稱。
- 選取「Create new S3 bucket」 (您也可以選擇使用現有的 S3 值區)。
- 提供 AWS KMS 別名的名稱,或選擇現有的 AWS KMS 金鑰。
- 其他設定請保留預設狀態,然後點選「下一步」。
- 選取「事件類型」,確認已選取「管理事件」 (這些事件會包含 Route 53 API 呼叫)。
- 點選「下一步」。
- 在「查看並建立」中查看設定。
- 按一下「建立軌跡」。
- 在 AWS 主控台中搜尋「S3」S3。
- 按一下新建立的記錄檔值區,然後選取「AWSLogs」AWSLogs資料夾。
- 按一下「複製 S3 URI」並儲存。
設定 AWS 身分與存取權管理使用者
- 在 AWS 控制台中搜尋「IAM」。
- 按一下「Users」(使用者)。
- 按一下「新增使用者」。
- 請為使用者提供名稱 (例如 chronicle-feed-user)。
- 選取「存取金鑰 - 程式輔助存取」做為 AWS 憑證類型。
- 點選 [Next: Permissions] (下一步:權限)。
- 選取「直接附加現有政策」。
- 選取「AmazonS3ReadOnlyAccess」或「AmazonS3FullAccess」。
- 按一下「下一步:代碼」。
- 選用:視需要新增任何標記。
- 按一下 [下一步:檢閱]。
- 檢查設定,然後按一下「建立使用者」。
- 複製已建立使用者的存取金鑰 ID 和私密存取金鑰。
設定動態饋給
在 Google SecOps 平台中,有兩個不同的入口可用來設定動態消息:
- SIEM 設定 > 動態饋給
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態」設定動態
如要針對這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。
如要設定單一動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一頁中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱 (例如「AWS Route 53 Logs」)。
- 選取「Amazon S3」做為「來源類型」。
- 選取「AWS Route 53」做為「記錄類型」。
- 點選「下一步」。
指定下列輸入參數的值:
- 區域:Amazon S3 值區所在的區域。
- S3 URI:值區 URI。
s3:/BUCKET_NAME
- 請將
BUCKET_NAME
替換為實際的 S3 值區名稱。
- 請將
- URI 是:選取「Directory which includes subdirectories」。
- 來源刪除選項:根據擷取偏好設定選取刪除選項。
存取金鑰 ID:使用者具備從 S3 值區讀取權限的存取金鑰。
私密存取金鑰:使用者具備 S3 值區讀取權限的私密金鑰。
資產命名空間:資產命名空間。
攝入標籤:要套用至這個動態饋給事件的標籤。
點選「下一步」。
在「完成」畫面中查看新的動態饋給設定,然後按一下「提交」。
透過內容中心設定動態饋給
指定下列欄位的值:
- 區域:Amazon S3 值區所在的區域。
- S3 URI:值區 URI。
s3://your-log-bucket-name/
- 請將
your-log-bucket-name
替換為實際的 S3 值區名稱。
- 請將
- URI 是:選取「Directory which includes subdirectories」。
- 來源刪除選項:根據擷取偏好設定選取刪除選項。
存取金鑰 ID:使用者具備從 S3 值區讀取權限的存取金鑰。
私密存取金鑰:使用者具備 S3 值區讀取權限的私密金鑰。
進階選項
- 動態饋給名稱:預先填入的值,用於識別動態饋給。
- 來源類型:用於收集記錄並匯入 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 攝入標籤:套用至這個動態饋給中所有事件的標籤。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
account_id | read_only_udm.principal.resource.product_object_id | 與查詢相關聯的 AWS 帳戶 ID。 |
firewall_domain_list_id | read_only_udm.security_result.rule_labels.value | 要查詢的網域所屬網域清單 ID。 |
firewall_rule_action | read_only_udm.security_result.action | 與查詢相符的防火牆規則所執行的動作。可能的值為「ALLOW」、「BLOCK」或「UNKNOWN_ACTION」(如果系統無法辨識動作)。 |
firewall_rule_group_id | read_only_udm.security_result.rule_id | 與查詢相符的防火牆規則群組 ID。 |
logEvents{}.id | read_only_udm.principal.resource.product_object_id | 記錄事件的專屬 ID。如果沒有「account_id」,系統會使用這個值做為備用值。 |
logEvents{}.message | 這個欄位會根據格式解析為其他 UDM 欄位。 | |
logEvents{}.timestamp | read_only_udm.metadata.event_timestamp.seconds | DNS 查詢記錄的時間。 |
messageType | 這個欄位用於決定記錄訊息的結構。 | |
擁有者 | read_only_udm.principal.user.userid | 記錄擁有者的 AWS 帳戶 ID。 |
query_class | read_only_udm.network.dns.questions.class | DNS 查詢的類別。 |
query_name | read_only_udm.network.dns.questions.name | 已查詢的網域名稱。 |
query_timestamp | read_only_udm.metadata.event_timestamp.seconds | DNS 查詢的時間。 |
query_type | read_only_udm.metadata.product_event_type | DNS 查詢的類型。 |
rcode | read_only_udm.metadata.description | DNS 查詢的回應代碼。 |
區域 | read_only_udm.principal.location.name | 查詢的來源 AWS 區域。 |
srcaddr | read_only_udm.principal.ip | 提出 DNS 查詢的用戶端 IP 位址。 |
srcids.instance | read_only_udm.principal.hostname | 提出 DNS 查詢的用戶端執行個體 ID。 |
srcids.resolver_endpoint | read_only_udm.security_result.rule_labels.value | 處理查詢的解析器端點 ID。 |
srcids.resolver_network_interface | read_only_udm.security_result.rule_labels.value | 處理查詢的解析器的網路介面 ID。 |
srcport | read_only_udm.principal.port | 提出 DNS 查詢的用戶端通訊埠編號。 |
transport | read_only_udm.network.ip_protocol | 用於 DNS 查詢的傳輸通訊協定。 |
version | read_only_udm.metadata.product_version | Route 53 解析器查詢記錄格式的版本。 |
不適用 | read_only_udm.metadata.event_type | 已對應至「NETWORK_DNS」。 |
不適用 | read_only_udm.metadata.product_name | 已硬式編碼為「AWS Route 53」。 |
不適用 | read_only_udm.metadata.vendor_name | 硬式編碼為「AMAZON」。 |
不適用 | read_only_udm.principal.cloud.environment | 硬式編碼為「AMAZON_WEB_SERVICES」。 |
不適用 | read_only_udm.network.application_protocol | 已硬式編碼為「DNS」。 |
不適用 | read_only_udm.network.dns.response_code | 使用查詢表對應自「rcode」欄位。 |
不適用 | read_only_udm.network.dns.questions.type | 使用查詢表從「query_type」欄位對應而來。 |
不適用 | read_only_udm.metadata.product_deployment_id | 使用 grok 模式從「logevent.message_data」欄位擷取。 |
不適用 | read_only_udm.network.dns.authority.name | 使用 grok 模式從「logevent.message_data」欄位擷取。 |
不適用 | read_only_udm.security_result.rule_labels.key | 視可用欄位而定,將其設為「firewall_domain_list_id」、「resolver_endpoint」或「resolver_network_interface」。 |
不適用 | read_only_udm.security_result.action_details | 如果不是「ALLOW」或「BLOCK」,請將其設為「firewall_rule_action」的值。 |
異動
2024-10-22
- 改善項目:將「answers」欄位對應至「network.dns.answers」。
2024-10-17
- 改善項目:在對應至 UDM 之前,為所有欄位新增 on_error。
2023-12-20
- 修正錯誤:
- 新增 gsub,將「\"」替換為「#」,以便將 SYSLOG 轉換為 JSON。
- 新增 gsub 以便將「#」替換回「\"」。
2023-05-08
- 改善:
- 修改查詢 DNS 記錄的 Grok 模式,以支援新的記錄格式。
- 處理含有多個事件的 JSON 記錄。
2022-08-10
- 移除多餘的大寫變異區塊。
2022-07-22
- 新建的剖析器。
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。