ログストリーミング:Shape Log Analysis
最終更新日 2021-09-01
Fastly のリアルタイムログストリーミング機能によって、ログファイルを Shape Security に送信することができます。Shape Log Analysis は、匿名化された攻撃データを使用して HTTP やアプリケーションのログを分析し、不正行為やオリジンサーバーを保護するセキュリティ対策を回避しようとする様々なタイプの攻撃を特定するのに役立ちます。
Fastly ではサードパーティのサービスに関する直接のサポートは行っておりません。詳細については、Fastly サービスの利用規約をご参照ください。
前提条件
Shape Log Analysis をログエンドポイントとして追加する前に、件名を「Fastly Log Streaming Setup」としたメールを fastly@f5.com に送信し、Shape からセキュアな S3 バケットをリクエストします。そうすると、ログエンドポイントの設定を完了するのに役立つ以下の詳細が記載された返信メールが届きます。
- ログ形式の値に関する注意点
- バケット名
- アクセスキー
- シークレットキー
- パス
- ドメイン
メールでは各項目に具体的な番号が割り当てられており、下記の設定詳細の説明にはその番号が使用されています。
ログエンドポイントとして Shape Log Analysis を追加する
Shape Log Analysis のセットアップと設定には Fastly の Amazon S3 ログストリーミングエンドポイントを使用し、ログの保存と分析を行います。これにより、Shape が管理し Fastly の IP アドレスからのトラフィックのみを受け付けるセキュアな S3 バケットにログが送信されます。
fastly@f5.com に連絡して事前に必要な情報をメールで受け取った後、以下の手順を実行します。
- リモートログストリーミングの設定に関するガイドの情報をご参照ください。
- Amazon Web Services S3 の Create endpoint ボタンをクリックします。Create an Amazon S3 endpoint ページが表示されます。
- 以下の要領で Create an Amazon S3 endpoint ページの各フィールドに入力します。
- Name フィールドに分かりやすいエンドポイントの名前を入力します。
- Placement セクションでは、生成される VCL にログコールが配置される場所を選択します。有効な値は Format Version Default、waf_debug (waf_debug_log)、None です。詳細については、ログ配置の変更に関するガイドをご参照ください。
- Log format フィールドに以下のログ形式の値をコピーアンドペーストし、ログデータが Shape のセキュアな S3 バケットに送信されるように設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
{ "timestamp": "%{begin:%Y-%m-%dT%H:%M:%S%z}t", "ts": "%{time.start.sec}V", "id.orig_h": "%h", "status_code": "%>s", "method": "%m", "host": "%{Host}i", "uri": "%U%q", "accept_encoding": "%{Accept-Encoding}i", "request_body_len": "%{req.body_bytes_read}V", "response_body_len": "%{resp.body_bytes_written}V", "location": "%{Location}i", "x_forwarded_for": "%{X-Forwarded-For}i", "user_agent": "%{User-Agent}i", "referer": "%{Referer}i", "accept": "%{Accept}i", "accept_language": "%{Accept-Language}i", "content_type": "%{Content-Type}o", "geo_city": "%{client.geo.city}V", "geo_country_code": "%{client.geo.country_code}V", "is_tls": %{if(req.is_ssl, "true", "false")}V, "tls_version": "%{tls.client.protocol}V", "tls_cipher_request": "%{tls.client.cipher}V", "tls_cipher_req_hash": "%{tls.client.ciphers_sha}V", "tls_extension_identifiers_hash": "%{tls.client.tlsexts_sha}V" }
- Access method のセクションで User Credentials を選択します。
- Bucket name フィールドに Shape からの返信メールに記載されている、2番のバケット名を入力します。
- Access key フィールドに Shape からの返信メールに記載されている、3番のアクセスキーの値を入力します。
- Secret key フィールドに Shape からの返信メールに記載されている、4番のシークレットキーの値を入力します。
注意パスワード管理ソフトウェアによっては、Web ブラウザの動作方法により、誤って Secret Key フィールドがパスワードフィールドとして扱われる場合があります。そのため、ソフトウェアによってこのフィールドに Fastly アカウントのパスワードが自動的に入力されてしまう場合があります。その場合、Fastly サービスとの統合が機能しないため、代わりに Secret Key を手動で入力する必要があります。
- Create a new S3 endpoint ページの Advanced options をクリックし、以下の項目を入力します。
- 以下のように Create an Amazon S3 endpoint ページの Advanced options に入力します。
- Path フィールドに、返信メールで受け取った、5番のパスの値を入力します。
- Domain フィールドに、返信メールに記載されている、6番のドメインの値を入力します。
- Select a log line format のセクションで
Blank
を選択し、ログラインメッセージにプリフィックスが追加されないようにし、JSON ログ形式でのみ詳細が報告されるようにします。詳細については、ログライン形式の変更に関するガイドをご覧ください。
- Create ボタンをクリックすると、新しいログエンドポイントが作成されます。
- Activate ボタンをクリックして設定変更をデプロイします。
Shape によるデータ分析
Fastly のログ設定が完了すると、ログは Shape のセキュアな S3 バケットに送信され、分析されます。通常、Shape は約2週間分のログデータを収集し、攻撃トラフィックの分析を行います。分析が完了すると、悪意のある自動化、攻撃対象領域 (URL)、アカウント乗っ取り、ボット、疑わしい手動の不正なアクティビティ、トップボットキャンペーンなどのデータをまとめたレポートが Shape から送られます。