收集 AWS Aurora 記錄
本文說明如何將 AWS Aurora 記錄擷取至 Google Security Operations。AWS Aurora 是代管的關聯資料庫服務,提供卓越效能、擴充性和可用性。在這項整合中,您會設定 AWS Aurora 將記錄轉送至 Google SecOps,以進行分析、監控和威脅偵測。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- AWS 的特殊存取權
- AWS Aurora 資料庫叢集已設定並執行
設定 Amazon S3 儲存貯體
- 按照這份使用者指南建立 Amazon S3 值區:建立值區
- 請儲存 bucket 的「名稱」和「區域」,以供後續使用。
- 按照這份使用者指南建立使用者:建立 IAM 使用者。
- 選取建立的「使用者」。
- 選取「安全憑證」分頁標籤。
- 在「Access Keys」部分中,按一下「Create Access Key」。
- 選取「第三方服務」做為「用途」。
- 點選「下一步」。
- 選用:新增說明標記。
- 按一下「建立存取金鑰」。
- 按一下「下載 CSV 檔案」,儲存「存取金鑰」和「私密存取金鑰」,以供日後使用。
- 按一下 [完成]。
- 選取 [權限] 分頁標籤。
- 在「權限政策」部分,按一下「新增權限」。
- 選取「新增權限」。
- 選取「直接附加政策」。
- 搜尋並選取 AmazonS3FullAccess 和 CloudWatchLogsFullAccess 政策。
- 點選「下一步」。
- 按一下「新增權限」。
設定加強型監控
- 登入 AWS 管理主控台。
- 在搜尋列中輸入 RDS,然後從服務清單中選取 RDS。
- 在「RDS Dashboard」(RDS 資訊主頁) 中,從導覽窗格選取「Databases」(資料庫)。
- 選取要監控的 Aurora 叢集。
- 在「記錄和監控」部分下方,按一下「修改」。
- 前往「監控」部分,然後啟用「強化監控」。
- 將「Monitoring role」(監控角色) 設為適當的 IAM 角色,該角色必須具備發布至 CloudWatch Logs 或 S3 的權限。
- 儲存變更並套用至 Aurora 叢集。
如何設定 AWS Aurora 稽核記錄
- 在 RDS 資訊主頁中,選取「資料庫」並按一下 Aurora 叢集。
- 在「記錄和監控」部分下方,按一下「修改」。
- 在「資料庫選項」部分,確認已選取「啟用稽核記錄」。
- 在「目的地」下方,選擇「S3」,並指定要儲存記錄的「S3 bucket」。
- 按一下「儲存變更」套用設定。
選用:使用 CloudWatch 設定 AWS Aurora 記錄
如需其他監控功能,您可以設定 CloudWatch Logs 來擷取 Aurora 記錄。
- 在 RDS 資訊主頁中,選取 Aurora 叢集。
- 在「記錄和監控」部分,確認已啟用 CloudWatch Logs 整合功能。
- 前往 CloudWatch Logs,然後建立新的「Log Group」(記錄群組),用來儲存 Aurora 記錄。
- 在「記錄檔群組」畫面中,選擇新「記錄檔群組」的名稱。
- 選取「動作」> 將資料匯出至 Amazon S3。
在「Export data to Amazon S3」(將資料匯出至 Amazon S3) 畫面中,於「Define data export」(定義資料匯出) 下方,使用「From」(從) 和「To」(到) 設定要匯出資料的時間範圍。
選擇 S3 值區,然後選取與 Amazon S3 值區相關聯的帳戶。
S3 bucket name,選取 Amazon S3 bucket。
在「S3 Bucket prefix」(S3 儲存空間前置字串) 中,輸入您在儲存空間政策中指定的隨機產生字串。
選擇「Export」,將記錄資料匯出至 Amazon S3。
如要查看匯出至 Amazon S3 的記錄資料狀態,請依序選取「動作」> 查看所有匯出至 Amazon S3 的資料。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 「SIEM 設定」>「動態消息」
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態消息」,設定動態消息
如要為這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。
如要設定單一動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「Feed name」(動態消息名稱) 欄位中,輸入動態消息的名稱 (例如「AWS Aurora Logs」)。
- 選取「Amazon S3」做為「來源類型」。
- 選取「AWS Aurora」做為「記錄類型」。
- 點選「下一步」。
指定下列輸入參數的值:
- 區域:Amazon S3 值區所在的區域。
- S3 URI:bucket URI。
s3://your-log-bucket-name/
- 請將
your-log-bucket-name
替換為 S3 值區的實際名稱。
- 請將
- URI 是:根據 bucket 結構,選取「Directory」(目錄) 或「Directory which includes subdirectories」(包含子目錄的目錄)。
來源刪除選項:根據擷取偏好設定選取刪除選項。
- 請將
your-log-bucket-name
替換為 S3 值區的實際名稱。
- 請將
存取金鑰 ID:具備 S3 值區讀取權限的使用者存取金鑰。
存取密鑰:使用者的存取密鑰,具備從 S3 bucket 讀取的權限。
點選「下一步」。
在「Finalize」畫面上檢查新的動態饋給設定,然後按一下「Submit」。
從內容中心設定動態饋給
為下列欄位指定值:
- 區域:Amazon S3 值區所在的區域。
- S3 URI:bucket URI。
s3://your-log-bucket-name/
- 請將
your-log-bucket-name
替換為 S3 值區的實際名稱。
- 請將
- URI 是:根據 bucket 結構,選取「Directory」(目錄) 或「Directory which includes subdirectories」(包含子目錄的目錄)。
- 來源刪除選項:根據擷取偏好設定選取刪除選項。
- 存取金鑰 ID:具備 S3 值區讀取權限的使用者存取金鑰。
- 存取密鑰:使用者的存取密鑰,具備從 S3 bucket 讀取的權限。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 來源類型:將記錄收集到 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 擷取標籤:套用至這個動態饋給所有事件的標籤。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
account |
principal.group.product_object_id |
直接從原始記錄中的 account 欄位對應。 |
column1 |
timestamp_epoch |
直接從原始記錄中的 column1 欄位對應。用於衍生 metadata.event_timestamp 。 |
column10 |
因解決方案而異 | 視記錄格式而定,可以是 principal.process.command_line 、object 或 number 。 |
column11 |
ddl 、response 或 command_line2 |
視記錄格式而定,可以是 principal.resource.resource_subtype (ddl)、security_result.outcomes.value (回應) 或 principal.process.command_line (command_line2) 的一部分。 |
column12 |
operation 、response 或 command_line3 |
視記錄格式而定,可以是 sr.summary (作業)、security_result.outcomes.value (回應) 或 principal.process.command_line (command_line3) 的一部分。 |
column13 |
database 或response |
視記錄格式而定,可以是 target.resource.name (資料庫) 或 security_result.outcomes.value (回應)。 |
column14 |
object |
直接對應至 principal.resource.product_object_id 或 target_data.resource.name ,視記錄格式而定。 |
column15 |
command_line |
直接對應至 principal.process.command_line 。 |
column16 |
response |
直接對應至 security_result.outcomes.value 。 |
column2 |
timestamp 或timestamp_ms |
直接從原始記錄中的 column2 欄位對應。 |
column3 |
ip 或hostname |
視記錄格式而定,可以是 principal.ip 或 principal.resource.name 。 |
column4 |
port 或userid |
視記錄格式而定,可以是 principal.port 或 principal.user.userid 。 |
column5 |
userid 或ip |
視記錄格式而定,可以是 principal.user.userid 或 principal.ip 。 |
column6 |
hostname 或connection_id |
視記錄格式而定,可以是 principal.resource.name 或 network.session_id 。 |
column7 |
connection_id 或query_id |
視記錄格式而定,可以是 network.session_id 或 principal.process.pid 。 |
column8 |
operation |
直接對應至 sr.summary 或 metadata.product_event_type 。 |
column9 |
query_id 或database |
視記錄格式而定,可以是 principal.process.pid 或 target_data.resource.name 。 |
command_line |
principal.process.command_line |
直接從擷取的「command_line 」欄位對應。 |
connection_id |
network.session_id |
直接從擷取的「connection_id 」欄位對應。 |
database |
target.resource.name |
直接從擷取的「database 」欄位對應。剖析器會透過條件邏輯,從 operation 、command_line 、has_principal_user 和 has_principal_machine 等多個欄位衍生出這項資訊。可以是 RESOURCE_DELETION 、RESOURCE_CREATION 、RESOURCE_READ 、RESOURCE_WRITTEN 、USER_RESOURCE_ACCESS 、USER_UNCATEGORIZED 或 GENERIC_EVENT 。已硬式編碼為「AWS_AURORA」。從 column8 對應或從剖析器邏輯衍生。已硬式編碼為「AURORA」。硬式編碼為「AMAZON」。 |
has_principal_machine |
has_principal_machine |
如果存在 principal.ip ,則設為「true」,否則初始化為「false」。 |
has_principal_user |
has_principal_user |
如果存在 principal.user.userid ,則設為「true」,否則初始化為「false」。 |
hostname |
principal.resource.name |
直接從擷取的「hostname 」欄位對應。 |
ip |
principal.ip |
直接從擷取的「ip 」欄位對應。 |
logevent.id |
security_result.detection_fields.value |
巢狀結構位於 target.logEvents.logEvents 內,並對應至「id」鍵。 |
logevent.message |
security_result.detection_fields.value |
巢狀結構位於 target.logEvents.logEvents 內,並對應至「message」鍵。用於擷取 principal.ip 、time_unix 、operation 和 user 。 |
logevent.timestamp |
security_result.detection_fields.value |
巢狀結構位於 target.logEvents.logEvents 內,並對應至「timestamp」鍵。 |
object |
target_data.resource.name 或principal.resource.product_object_id |
直接從擷取的「object 」欄位對應。 |
operation |
sr.summary |
直接從擷取的「operation 」欄位對應。 |
port |
principal.port |
直接從擷取的「port 」欄位對應。 |
query_id |
principal.process.pid |
直接從擷取的「query_id 」欄位對應。 |
response |
security_result.outcomes.value |
直接從擷取的「response 」欄位對應。 |
service |
principal.application |
直接從原始記錄中的 service 欄位對應。 |
src_ip |
principal.ip |
從巢狀 target.logEvents.logEvents 結構中的 logevent.message 擷取。 |
target.logEvents.logGroup |
target.resource.attribute.labels.value |
對應的金鑰為「logGroup」。 |
target.logEvents.logStream |
target.resource.attribute.labels.value |
對應的金鑰為「logStream」。 |
target.logEvents.messageType |
target.resource.attribute.labels.value |
對應的鍵為「messageType」。 |
target.logEvents.owner |
target.resource.attribute.labels.value |
對應的鍵為「owner」。 |
timestamp_epoch |
metadata.event_timestamp |
使用 date 篩選器轉換為 metadata.event_timestamp 。 |
user |
principal.user.userid |
從巢狀 target.logEvents.logEvents 結構中的 logevent.message 擷取。 |
userid |
principal.user.userid |
直接從擷取的「userid 」欄位對應。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。