收集 AWS Route 53 記錄

支援以下發布途徑:

本文說明如何設定 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

  1. 登入 AWS 主控台。
  2. 搜尋「Cloudtrail」Cloudtrail
  3. 如果您還沒有課程,請按一下「建立課程」
  1. 提供Trail 名稱
  2. 選取「Create new S3 bucket」 (您也可以選擇使用現有的 S3 值區)。
  3. 提供 AWS KMS 別名的名稱,或選擇現有的 AWS KMS 金鑰
  4. 其他設定請保留預設狀態,然後點選「下一步」
  5. 選取「事件類型」,確認已選取「管理事件」 (這些事件會包含 Route 53 API 呼叫)。
  6. 點選「下一步」
  7. 在「查看並建立」中查看設定。
  8. 按一下「建立軌跡」
  9. 在 AWS 主控台中搜尋「S3」S3
  10. 按一下新建立的記錄檔值區,然後選取「AWSLogs」AWSLogs資料夾。
  11. 按一下「複製 S3 URI」並儲存。

設定 AWS 身分與存取權管理使用者

  1. 在 AWS 控制台中搜尋「IAM」
  2. 按一下「Users」(使用者)
  3. 按一下「新增使用者」
  4. 請為使用者提供名稱 (例如 chronicle-feed-user)。
  5. 選取「存取金鑰 - 程式輔助存取」做為 AWS 憑證類型。
  6. 點選 [Next: Permissions] (下一步:權限)。
  7. 選取「直接附加現有政策」
  8. 選取「AmazonS3ReadOnlyAccess」或「AmazonS3FullAccess」
  1. 按一下「下一步:代碼」
  2. 選用:視需要新增任何標記。
  3. 按一下 [下一步:檢閱]
  4. 檢查設定,然後按一下「建立使用者」
  5. 複製已建立使用者的存取金鑰 ID 和私密存取金鑰。

設定動態饋給

在 Google SecOps 平台中,有兩個不同的入口可用來設定動態消息:

  • SIEM 設定 > 動態饋給
  • 內容中心 > 內容包

依序前往「SIEM 設定」>「動態」設定動態

如要針對這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。

如要設定單一動態饋給,請按照下列步驟操作:

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一頁中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中,輸入動態饋給的名稱 (例如「AWS Route 53 Logs」)。
  5. 選取「Amazon S3」做為「來源類型」
  6. 選取「AWS Route 53」做為「記錄類型」
  7. 點選「下一步」
  8. 指定下列輸入參數的值:

    • 區域:Amazon S3 值區所在的區域。
    • S3 URI:值區 URI。
      • s3:/BUCKET_NAME
        • 請將 BUCKET_NAME 替換為實際的 S3 值區名稱。
    • URI 是:選取「Directory which includes subdirectories」
    • 來源刪除選項:根據擷取偏好設定選取刪除選項。
    • 存取金鑰 ID:使用者具備從 S3 值區讀取權限的存取金鑰。

    • 私密存取金鑰:使用者具備 S3 值區讀取權限的私密金鑰。

    • 資產命名空間資產命名空間

    • 攝入標籤:要套用至這個動態饋給事件的標籤。

  9. 點選「下一步」

  10. 在「完成」畫面中查看新的動態饋給設定,然後按一下「提交」

透過內容中心設定動態饋給

指定下列欄位的值:

  • 區域: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 專家尋求解答。