推出 的新主控台體驗 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。
-
建立
DeliverySource,這是一個邏輯物件,代表傳送日誌的資源。執行以下命令:aws logs put-delivery-source \ --namedelivery-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。 -
建立
DeliveryDestination,這是代表實際交付目的地的邏輯物件。執行以下命令:aws logs put-delivery-destination \ --namedelivery-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 儲存貯體的名稱。 -
建立
Delivery,將交付來源連線至交付目的地。執行以下命令:aws logs create-delivery \ --delivery-source-namedelivery-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 |
代表輸入流量國家/地區的兩個字母國家/地區代碼。 |