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

注記

CloudWatch Logs の料金は、ログが Amazon S3 に直接公開されている場合でも、フローログを使用する場合に適用されます。詳細については、Amazon CloudWatch 料金表」の「ログ」タブの「Vended Logs」を参照してください。

フローログを Amazon S3 に発行できるようにする

Amazon S3 にフローログを発行するには、ログ配信アクションと Shield サービスの IAM アクセス許可を設定する必要があります。

フローログを発行するための IAM アクセス許可

フローログを Amazon S3 バケットに発行するには、IAM プリンシパル (例: IAM ロールまたはユーザー) に十分なアクセス許可が付与されている必要があります。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 に置き換えます。

フローログ配信を有効にするには

作業ログ配信は 3 つの要素で構成されます。を使用して各要素を設定するには、次の手順に従います 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 分ごとに書き込まれ、各ログファイルには、過去 5 分間に記録された IP アドレストラフィックのフローログレコードが含まれます。

ログファイルの最大ファイルサイズは 75 MB です。ログファイルが 5 分以内にファイルサイズの上限に達した場合、フローログはフローログレコードの追加を停止し、Amazon S3 バケットに発行してから、新しいログファイルを作成します。

ログファイルは圧縮されます。Amazon S3 コンソールを使用してファイルを開くと、Amazon S3 はログレコードを解凍して表示します。ログファイルをダウンロードする場合、レコードを表示するには解凍する必要があります。

1 つのログファイルには、複数のレコードを含むインターリーブされたエントリが含まれます。保護のすべてのログファイルを表示するには、保護名、リージョン、およびアカウント ID で集計されたエントリを探します。

フローログレコードの構文

フローログレコードは、以下のフィールドを含むスペース区切りの文字列です。

フィールド 説明
version フローログのバージョン番号。
protection_arn AWS Shield Advanced で保護されたリソースを識別する保護 ARN。
srcaddr パケットの送信元 IP アドレス。
dstaddr パケットの送信先 IP アドレス。
srcport パケットのソースポート。
dstport パケットの送信先ポート。
protocol パケットのプロトコル。
packets 集約ウィンドウ内のパケットの数。
bytes 集計ウィンドウ内のバイト数。
starttime 集計ウィンドウの開始時刻。
endtime 集計ウィンドウの終了時刻。
action Shield Advanced によって実行されたアクション。
tcp_flags パケットの TCP フラグフィールド。
sampling_rate パケット処理中に使用されるサンプリングレート。
location AWS Ingress の場所。
srccountry 進入トラフィックの国を表す 2 文字の国コード。