收集 AWS Elastic Load Balancing 記錄
本文說明如何設定 Google Security Operations 資訊提供,以收集 AWS Elastic Load Balancing 記錄。剖析器會將記錄轉換為 UDM 格式。它會使用 grok 模式從 CEF 和非 CEF 格式的訊息中擷取欄位,將這些欄位對應至 UDM 欄位,並處理各種資料轉換,包括 HTTP、TLS 和安全性相關欄位的特定邏輯。此外,系統也會根據特定欄位的存在與否或格式,執行條件式處理作業,確保 UDM 呈現方式正確無誤。
事前準備 {: #before-you-begin }
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- AWS 的特殊存取權
設定 AWS Elastic Load Balancing
- 啟用存取記錄功能,將存取記錄傳送至 S3 儲存空間 bucket
- 建立 Amazon Simple Queue Service (SQS),並附加至 S3 儲存空間值區。
設定 Amazon S3 儲存貯體
- 登入 AWS 控制台。
- 按照這份使用者指南建立 Amazon S3 值區:建立值區
- 儲存 bucket 的「Name」(名稱) (例如
elb-logs
) 和「Region」(區域),以供日後使用。 - 按照這份使用者指南建立使用者:建立 IAM 使用者。
- 選取建立的「使用者」。
- 選取「安全憑證」分頁標籤。
- 在「Access Keys」部分中,按一下「Create Access Key」。
- 選取「第三方服務」做為「用途」。
- 點選「下一步」。
- 選用:新增說明標記。
- 按一下「建立存取金鑰」。
- 按一下「下載 CSV 檔案」,儲存「存取金鑰」和「私密存取金鑰」,以供日後使用。
- 按一下 [完成]。
- 選取 [權限] 分頁標籤。
- 在「權限政策」部分,按一下「新增權限」。
- 選取「新增權限」。
- 選取「直接附加政策」。
- 搜尋並選取 AmazonS3FullAccess 政策。
- 點選「下一步」。
- 按一下「新增權限」。
如何設定 AWS Elastic Load Balancer 來啟用存取記錄
- 登入 AWS 管理主控台。
- 搜尋並選取「EC2」EC2。
- 選取導覽選單中的「負載平衡器」。
- 選取要啟用記錄功能的負載平衡器。
- 在「說明」分頁中,捲動至「屬性」。
- 按一下「編輯屬性」。
- 選取「啟用」,啟用存取記錄。
- 選取先前建立的 S3 值區 (例如
elb-logs
)。 - 選用:設定記錄檔前置字串,方便識別記錄檔 (例如
elb/access-logs/
)。 - 按一下 [儲存]。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 「SIEM 設定」>「動態消息」
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態消息」,設定動態消息
如要為這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。
如要設定單一動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態消息名稱」欄位中,輸入動態消息的名稱 (例如「AWS Elastic Load Balancer Logs」)。
- 選取「Amazon S3」做為「來源類型」。
- 選取「AWS Elastic Load Balancer」(AWS 彈性負載平衡器) 做為「記錄類型」。
- 點選「下一步」。
指定下列輸入參數的值:
- 區域:Amazon S3 值區所在的區域。
- S3 URI:bucket URI。
s3:/BUCKET_NAME
- 請將
BUCKET_NAME
替換為 S3 值區的實際名稱。
- 請將
- URI 為:根據記錄串流設定選取 URI 類型 (「單一檔案」、「目錄」或「包含子目錄的目錄」)。
- 來源刪除選項:根據擷取偏好設定選取刪除選項。
存取金鑰 ID:具備 S3 值區讀取權限的使用者存取金鑰。
存取密鑰:使用者的存取密鑰,具備從 S3 bucket 讀取的權限。
資產命名空間:資產命名空間。
擷取標籤:要套用至這個動態饋給事件的標籤。
點選「下一步」。
在「Finalize」畫面上檢查新的動態饋給設定,然後按一下「Submit」。
從內容中心設定動態饋給
為下列欄位指定值:
- 區域:Amazon S3 值區所在的區域。
- S3 URI:bucket URI。
s3:/BUCKET_NAME
- 請將
BUCKET_NAME
替換為 S3 值區的實際名稱。
- 請將
- URI 為:根據記錄串流設定選取 URI 類型 (「單一檔案」、「目錄」或「包含子目錄的目錄」)。
- 來源刪除選項:根據擷取偏好設定選取刪除選項。
存取金鑰 ID:具備 S3 值區讀取權限的使用者存取金鑰。
存取密鑰:使用者的存取密鑰,具備從 S3 bucket 讀取的權限。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 來源類型:將記錄收集到 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 擷取標籤:套用至這個動態饋給所有事件的標籤。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
actions_executed |
security_result.action |
如果 actions_executed 是「waf,forward」或「waf,redirect」,請設為「ALLOW」。如果 actions_executed 為「waf」,請設為「BLOCK」。 |
chosen_cert_arn |
principal.user.attribute.labels |
如果 chosen_cert_arn 包含「session」,請將其值對應至 security_result.description 。否則,請建立鍵為「ARN」且值為 chosen_cert_arn 的標籤,並將其新增至 principal.user.attribute.labels 陣列。 |
chosen_cert_arn |
security_result.description |
如果 chosen_cert_arn 包含「session」,請將其值對應至這個欄位。 |
client_ip |
principal.asset.ip |
直接對應。 |
client_ip |
principal.ip |
直接對應。 |
client_port |
principal.port |
直接對應。 |
classification |
security_result.rule_name |
如果不是空白或「-」,則直接對應。 |
classification_reason |
security_result.summary |
如果不是空白或「-」,則直接對應。 |
Customer (CEF) |
principal.user.user_display_name |
直接從 CEF 欄位對應。 |
data |
多項政策 | 使用 grok 模式剖析,擷取多個欄位。如需特定對應,請參閱其他列。 |
data.act (CEF) |
security_result.action_details |
直接從 CEF 欄位對應。 |
data.app (CEF) |
principal.application |
直接從 CEF 欄位對應。 |
data.ccode (CEF) |
principal.location.country |
直接從 CEF 欄位對應。 |
data.cicode (CEF) |
principal.location.city |
直接從 CEF 欄位對應。 |
data.cn1 (CEF) |
network.http.response_code |
直接從 CEF 欄位對應。 |
data.cpt (CEF) |
principal.port |
直接從 CEF 欄位對應。 |
data.cs1Label (CEF) |
additional.fields |
建立鍵/值組合,其中鍵為「Cap Support」,值來自 cs1Label 。 |
data.cs2Label (CEF) |
additional.fields |
建立鍵/值組合,其中鍵為「Javascript Support」,值來自 cs2Label 。 |
data.cs3Label (CEF) |
additional.fields |
建立鍵/值組合,其中鍵為「CO Support」,值來自 cs3Label 。 |
data.cs4Label (CEF) |
additional.fields |
建立鍵/值組合,鍵為「VID」,值來自 cs4Label 。 |
data.cs5Label (CEF) |
additional.fields |
使用「clappsig」鍵和 cs5Label 中的值建立鍵/值組合。 |
data.cs6Label (CEF) |
additional.fields |
使用索引鍵「clapp」和 cs6Label 中的值建立鍵/值組合。 |
data.cs7Label (CEF) |
additional.fields |
建立鍵/值組合,鍵為「latitude」,值來自 cs7Label 。 |
data.deviceExternalId (CEF) |
about.asset.asset_id |
用來做為資產 ID 的一部分:Incapsula.SIEMintegration:deviceExternalId 。 |
data.deviceFacility (CEF) |
principal.location.region |
直接從 CEF 欄位對應。 |
data.dproc (CEF) |
target.process.command_line |
直接從 CEF 欄位對應。 |
data.dst_ip |
target.asset.ip |
直接對應。 |
data.dst_ip |
target.ip |
直接對應。 |
data.dst_port |
target.port |
直接對應。 |
data.elb |
target.resource.id |
直接對應。 |
data.fileId (CEF) |
security_result.detection_fields |
建立鍵/值組合,鍵為「fileId」,值來自 fileId 。 |
data.in (CEF) |
network.received_bytes |
直接從 CEF 欄位對應。 |
data.request (CEF) |
target.url |
直接從 CEF 欄位對應。 |
data.requestClientApplication (CEF) |
network.http.user_agent |
直接從 CEF 欄位對應。 |
data.requestMethod (CEF) |
network.http.method |
直接從 CEF 欄位對應。 |
data.severity (CEF) |
security_result.severity |
如果嚴重程度為 0,則對應至 LOW。 |
data.sip (CEF) |
principal.asset.ip |
直接從 CEF 欄位對應。 |
data.sip (CEF) |
principal.ip |
直接從 CEF 欄位對應。 |
data.siteid (CEF) |
security_result.detection_fields |
建立鍵/值組合,其中鍵為「siteid」,值則來自 siteid 。 |
data.sourceServiceName (CEF) |
principal.application |
直接從 CEF 欄位對應。 |
data.spt (CEF) |
principal.port |
直接從 CEF 欄位對應。 |
data.src (CEF) |
principal.ip |
直接從 CEF 欄位對應。 |
data.suid (CEF) |
principal.user.userid |
直接從 CEF 欄位對應。 |
data.ver (CEF) |
network.tls.version |
版本部分會使用 grok 擷取並對應。 |
data.ver (CEF) |
network.tls.cipher |
使用 grok 擷取密碼部分並對應。 |
data.xff (CEF) |
principal.ip |
直接從 CEF 欄位對應。 |
domain_name |
principal.administrative_domain |
直接對應。 |
http_method |
network.http.method |
直接對應。 |
log_type |
metadata.log_type |
直接對應。 |
message |
多項政策 | 使用 grok 模式剖析,擷取多個欄位。如需特定對應,請參閱其他列。 |
received_bytes |
network.received_bytes |
直接對應。 |
redirect_url |
network.application_protocol |
如果 redirect_url 開頭為「http」,系統會擷取並對應通訊協定。 |
redirect_url |
target.asset.hostname |
如果 redirect_url 開頭為「http」,系統會擷取並對應主機名稱。 |
redirect_url |
target.hostname |
如果 redirect_url 開頭為「http」,系統會擷取並對應主機名稱。 |
redirect_url |
target.port |
如果 redirect_url 開頭為「http」,系統會擷取並對應通訊埠。 |
request_creation_time |
metadata.collected_timestamp |
在剖析日期後直接對應。 |
request_processing_time |
security_result.detection_fields |
建立鍵/值組合,鍵為「request_processing_time」,值則來自這個欄位。 |
response_processing_time |
security_result.detection_fields |
建立鍵/值組合,鍵為「response_processing_time」,值則來自這個欄位。 |
sent_bytes |
network.sent_bytes |
直接對應。 |
ssl_cipher |
network.tls.cipher |
直接對應。 |
ssl_protocol |
network.tls.version |
直接對應。 |
target_group_arn |
target.group.group_display_name |
直接對應。 |
target_processing_time |
security_result.detection_fields |
建立鍵/值組合,並將鍵設為「target_processing_time」,值則設為這個欄位的值。 |
target_status_code |
target.labels |
建立鍵為「target_status_code」的標籤,並從這個欄位取得值,然後將標籤新增至 target.labels 陣列。 |
time |
metadata.event_timestamp |
在剖析日期後直接對應。 |
trace_id |
metadata.product_log_id |
移除「Root=」後直接對應。 |
url |
network.http.referral_url |
直接對應。 |
user_agent |
network.http.user_agent |
直接對應。 |
(剖析器) | metadata.event_type |
如果主體和目標機器 ID 都存在,請設為「NETWORK_HTTP」;如果只有主體機器 ID 存在,請設為「STATUS_UPDATE」;如果沒有目標 IP、主機名稱或目的地 IP,請設為「GENERIC_EVENT」;否則請設為「NETWORK_HTTP」。 |
(剖析器) | metadata.product_name |
設為「AWS Elastic Load Balancer」。 |
(剖析器) | metadata.vendor_name |
設為「AMAZON」。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。