View a markdown version of this page

Shield Advanced 攻擊流程日誌 - AWS WAF AWS Firewall Manager、 AWS Shield Advanced和 AWS Shield 網路安全主管

推出 的新主控台體驗 AWS WAF

您現在可以使用更新後的體驗,在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊,請參閱使用 主控台

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Shield Advanced 攻擊流程日誌

流程日誌可讓您擷取流向 Shield Advanced 受保護資源中網路介面之流量的相關資訊。流程日誌資料會發佈至 Amazon S3、Amazon CloudWatch Logs 或 Amazon Data Firehose,您可以在啟用流程日誌之後擷取和檢視資料。

注意

您必須在美國東部 (維吉尼亞北部) 區域、主控台和使用 時,檢視 Shield Advanced 中受保護資源的 CloudWatch 指標和日誌。 AWS CLI當您使用 時 AWS CLI,請包含下列參數,為您的命令指定美國東部 (維吉尼亞北部) 區域: --region us-east-1

注意

即使您使用流程日誌直接發佈至 Amazon S3,CloudWatch Logs 也會產生費用。如需詳細資訊,請參閱 Amazon CloudWatch 定價的日誌索引標籤下的已修訂日誌。

啟用將流程日誌發佈至 Amazon S3

若要將流程日誌發佈至 Amazon S3,您必須為日誌交付動作和 Shield 服務設定 IAM 許可。

發佈流程日誌的 IAM 許可

IAM 主體,例如 IAM 角色或使用者,必須具有足夠的許可,才能將流程日誌發佈至 Amazon S3 儲存貯體。IAM 政策必須包含下列許可:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery", "logs:UpdateDeliveryConfiguration" ], "Resource": [ "arn:aws:logs:us-east-1:accountID:delivery:*", "arn:aws:logs:us-east-1:accountID:delivery-source:*", "arn:aws:logs:us-east-1:accountID:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeConfigurationTemplates" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyS3", "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucket-name" } ] }

在上述政策中,將 accountID 取代為 AWS 您的帳戶 ID,並將 bucket-name 取代為 Amazon S3 儲存貯體的名稱。

Shield 服務特定許可

除了目的地特定的許可之外, AWS Shield 需要明確授權,才能從 資源傳送日誌。這提供額外的安全層。Shield 會針對提供日誌的保護資源授權 AllowVendedLogDeliveryForResource動作:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ServiceLevelAccessForLogDelivery", "Effect": "Allow", "Action": [ "shield:AllowVendedLogDeliveryForResource" ], "Resource": "arn:aws:shield::accountID:protection/*" } ] }

accountID 取代為 AWS 您的帳戶 ID。

啟用流程日誌交付

工作日誌交付包含三個元素。使用下列程序,使用 設定每個元素 AWS CLI。

  1. 建立 DeliverySource,這是一個邏輯物件,代表傳送日誌的資源。執行以下命令:

    aws logs put-delivery-source \ --name delivery-source-name \ --resource-arn "arn:aws:shield::accountID:protection/protectionID" \ --log-type FLOW_LOGS \ --region us-east-1

    delivery-source-name 取代為交付來源的名稱、將 accountID 取代為 AWS 帳戶 ID,並將 protectionID 取代為 Shield Advanced 保護 ID。

    確定發出此命令的使用者具有服務層級許可 shield:AllowVendedLogDeliveryForResource

  2. 建立 DeliveryDestination,這是代表實際交付目的地的邏輯物件。執行以下命令:

    aws logs put-delivery-destination \ --name delivery-destination-name \ --output-format json \ --delivery-destination-configuration "destinationResourceArn=arn:aws:s3:::bucket-name" \ --region us-east-1

    delivery-destination-name 取代為交付目的地的名稱,並將 bucket-name 取代為 Amazon S3 儲存貯體的名稱。

  3. 建立 Delivery,將交付來源連線至交付目的地。執行以下命令:

    aws logs create-delivery \ --delivery-source-name delivery-source-name-from-step1 \ --delivery-destination-arn "arn-returned-in-step2" \ --region us-east-1

    delivery-source-name-from-step1 取代為步驟 1 的交付來源名稱,並將 arn-returned-in-step2 取代為步驟 2 中傳回的 ARN。

流量日誌檔

來自 Shield 保護的流量日誌會在攻擊期間每隔 5 分鐘發佈至 Amazon S3 儲存貯體。日誌檔案每 5 分鐘寫入一次,每個日誌檔案都包含前五分鐘所記錄 IP 地址流量的流程日誌記錄。

日誌檔的大小上限為 75 MB。如果日誌檔案在 5 分鐘內達到檔案大小限制,流程日誌會停止新增流程日誌記錄,將其發佈到 Amazon S3 儲存貯體,然後建立新的日誌檔案。

日誌檔案會壓縮。如果您使用 Amazon S3 主控台開啟檔案,Amazon S3 會解壓縮日誌記錄並顯示它們。如果您下載日誌檔案,則必須解壓縮它們才能檢視記錄。

單一日誌檔案包含具有多個記錄的交錯項目。若要查看保護的所有日誌檔案,請尋找依保護名稱、區域和您的帳戶 ID 彙總的項目。

流程日誌記錄語法

流程日誌記錄是以空格分隔的字串,其中包含下列欄位。

欄位 說明
version 流程日誌版本編號。
protection_arn AWS 保護 ARN,用於識別 Shield Advanced 中受保護的資源。
srcaddr 封包的來源 IP 地址。
dstaddr 封包的目的地 IP 地址。
srcport 封包的來源連接埠。
dstport 封包的目的地連接埠。
protocol 封包的通訊協定。
packets 彙總視窗中的封包數量。
bytes 彙總視窗中的位元組數。
starttime 彙總時段開始時間。
endtime 彙總時段結束時間。
action Shield Advanced 採取的動作。
tcp_flags 來自封包的 TCP 旗標欄位。
sampling_rate 封包處理期間使用的取樣率。
location AWS 輸入位置。
srccountry 代表輸入流量國家/地區的兩個字母國家/地區代碼。