コンテンツにスキップ

Graylog

このチュートリアルでは、Graylogを使用してCloudflare Logsを分析する方法を説明します。

概要

Cloudflare Logsを以前に使用したことがない場合は、詳細についてはLogs documentationをご覧ください。アカウントのログを有効にするには、Cloudflareのカスタマーアカウントチームにお問い合わせください。

前提条件

CloudflareのログデータをGraylogに送信する前に、次のことを確認してください:

  • 既存のGraylogインストールがあること。単一ノードおよびクラスター構成の両方がサポートされています。
  • Cloudflare Logsが有効なCloudflare Enterpriseアカウントを持っていること。
  • Logpushを設定すること。

タスク1 - 準備

CloudflareのログをGraylogに取り込む前に:

  1. CloudflareのLogpushを設定して、必要なすべてのフィールドを含むログを選択したAWS S3バケットにプッシュします。
  2. 最新のGraylog Integration for Cloudflareをダウンロードします。
  3. zipファイルを解凍します。

解凍後、統合パッケージには次のものが含まれています:

  • graylog-s3-lambda.jar
  • content-packs/cloudflare/cloudflare-logpush-content-pack.json
  • content-packs/cloudflare/threat-lookup.csv

タスク2 - AWS Lambda関数の作成と設定

  1. AWSウェブコンソールのLambdaサービスページに移動します。
  2. 新しいLambda関数を作成し、任意のfunction nameJava-8 runtimeを指定します。
  3. 次の権限を持つ実行ロールを作成または指定します。特定のセットアップに応じてリソース権限をさらに制限することもできます。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Policy",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"s3:GetObject",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:your-region:your-account-number:*",
"arn:aws:s3:your-region::cloudflare-bucket-name/*"
]
}
]
}

注意: GraylogクラスターがVPC内で実行されている場合、Lambda関数がVPCにトラフィックをルーティングできるようにするために、AWSLambdaVPCAccessExecutionRole管理ロールを追加する必要があります。

  1. Lambda関数を作成したら、タスク1でダウンロードした関数コードgraylog-s3-lambda.jarをアップロードします。ハンドラーには次のメソッドを指定します:org.graylog.integrations.s3.GraylogS3Function::handleRequest

  2. Graylogクラスター用にLambda関数を設定するために、少なくとも次の必須環境変数を指定します:

    • CONTENT_TYPE (必須) - application/x.cloudflare.logの値を指定して、Lambda関数がCloudflareのログを処理することを示します。

    • COMPRESSION_TYPE (必須 ) - Cloudflareのログがgzip圧縮されているため、gzipを指定します。

    • GRAYLOG_HOST (必須) - Graylogホストまたはクラスターのロードバランサーのホスト名またはIPアドレス。

    • GRAYLOG_PORT (オプション - デフォルトは12201) - Graylogサービスポート。

    • CONNECT_TIMEOUT (オプション - デフォルトは10000) - 接続が確立されるまで待機するミリ秒数。

    • LOG_LEVEL (オプション - デフォルトはINFO) - Lambda関数から生成されるCloudWatchログに含める詳細レベル。サポートされている値はOFF, ERROR, WARN, INFO, DEBUG, TRACE, ALLです。トラブルシューティングを助けるためにログレベルを上げてください。詳細については、Defining Custom Log Levels in Codeを参照してください。

    • CLOUDFLARE_LOGPUSH_MESSAGE_FIELDS (オプション - デフォルトはすべて) - メッセージから解析するフィールド。カンマ区切りのフィールド名のリストとして指定します。

    • CLOUDFLARE_LOGPUSH_MESSAGE_SUMMARY_FIELDS (オプション - デフォルトはClientRequestHost, ClientRequestPath, OriginIP, ClientSrcPort, EdgeServerIP, EdgeResponseBytes) - Graylogの各メッセージの上部に表示される解析されたフィールドの上に表示されるメッセージサマリーに含めるフィールド。カンマ区切りのフィールド名のリストとして指定します。 必要なGraylog環境変数のリスト

      注意: Graylog Lambda S3 READMEファイルには、関数設定を微調整するための追加の設定変数が利用可能です。

  3. Lambda関数のAWS S3トリガーを作成して、関数が書き込まれた各Cloudflareログフィールドを処理できるようにします。タスク1で指定したのと同じS3バケットを指定し、All object create eventsオプションを選択します。他の必要なファイルフィルターもここで適用できます。 トリガー追加ダイアログの例

  4. GraylogクラスターがVPC内にある場合は、VPC内のリソースにアクセスするためにLambda関数を設定する必要があります。また、AWS S3サービス用のVPCエンドポイントを作成する必要があるかもしれません。これにより、Lambda関数がVPC内で実行されているときにS3に直接アクセスできるようになります。

タスク3 - Graylogにコンテンツパックをインポートする

Cloudflare LogpushコンテンツパックをGraylogにインポートすると、Cloudflareのログを受信するために必要な設定が読み込まれ、Cloudflareのダッシュボードがインストールされます。

コンテンツパックには次のコンポーネントがインストールされます:

  • Cloudflareダッシュボード(タスク4)。
  • Cloudflareのログを受信するためのCloudflare GELF (TCP)入力。
  • Cloudflareメッセージのストリーム
  • Cloudflareログフィールドを処理および解析するためのパイプラインルール。

コンテンツパックをインポートするには:

  1. タスク1でダウンロードして解凍したcloudflare-logpush-content-pack.jsonファイルを見つけます。

  2. Graylogで、System > Content Packsに移動し、右上のUploadをクリックします。アップロードが完了すると、Cloudflare Logpushコンテンツパックがアップロードされたコンテンツパックのリストに表示されます。 Graylogコンテンツパックのアップロード

  3. Installをクリックします。 Graylogコンテンツパックのインストール

  4. Installダイアログで、オプションのインストールコメントを入力し、すべての設定パラメータに正しい値が入力されていることを確認します。

    インストールダイアログ画面でのインストールコメントの追加とパラメータの設定

  5. インストールが完了すると、GraylogクラスターはLambda関数からCloudflareのログを受信する準備が整います。

追加情報やトラブルシューティングのヒントについては、Graylog Lambda S3 READMEを参照してください。

タスク4 - Cloudflareダッシュボードの表示

Graylog Cloudflare integration pageでダッシュボードを表示できます。ダッシュボードには次のものが含まれています:

Cloudflare - スナップショット

これは、Cloudflareネットワーク上のウェブサイトやアプリケーションからの最も重要なメトリックの概要です。ダッシュボードフィルターを使用して、イベントやトレンドの詳細な分析のために情報をさらに切り分けることができます。

このダッシュボードを使用して:

  • Cloudflareネットワーク上のウェブサイトやアプリケーションの最も重要なウェブトラフィックメトリックを監視します。
  • トラフィックがどの国やIPから来ているかを確認し、モバイルとデスクトップトラフィック、プロトコル、メソッド、コンテンツタイプの内訳を分析します。

GraylogダッシュボードでのCloudflareログメトリックの視覚化

Cloudflare - セキュリティ

この概要は、ウェブサイトやアプリケーションへの脅威に関する洞察を提供します。脅威の数、時間経過に伴う脅威、主要な脅威国などが含まれます。

このダッシュボードを使用して:

  • ウェブサイトやアプリケーションの最も重要なセキュリティおよび脅威メトリックを監視します。
  • IPファイアウォールを微調整および設定します。

GraylogダッシュボードでのCloudflare脅威トラフィックの分析の視覚化

Cloudflare - パフォーマンス

このダッシュボードは、パフォーマンスの問題やキャッシュの誤設定を特定して対処するのに役立ちます。メトリックには、合計対キャッシュされた帯域幅、節約された帯域幅、合計リクエスト、キャッシュ比率、最もキャッシュされていないリクエストなどが含まれます。

このダッシュボードを使用して:

  • キャッシュの動作を監視し、誤設定を特定します。
  • 設定とキャッシュ比率を改善します。

GraylogダッシュボードでのCloudflareパフォーマンスメトリックの視覚化

Cloudflare - 信頼性

このダッシュボードは、ウェブサイトやアプリケーションの可用性に関する洞察を提供します。メトリックには、オリジン応答エラー比率、時間経過に伴うオリジン応答ステータス、時間経過に伴う3xx/4xx/5xxエラーの割合などが含まれます。

このダッシュボードを使用して:

  • エッジおよびオリジン応答ステータスコードを表示して、ウェブサイトやアプリケーションのエラーを調査します。
  • 国、クライアントIP、ホスト名、その他のメトリックに基づいてステータスコードに基づくエラーをさらに分析します。

GraylogダッシュボードCloudflare信頼性

Cloudflare - ボット

このダッシュボードを使用して、悪質なボットを検出および軽減し、資格情報の詰め込み、スパム登録、コンテンツのスクレイピング、クリック詐欺、在庫の蓄積、その他の悪意のある活動を防止します。

このダッシュボードを使用して:

  • ウェブサイト上のボット活動を調査し、コンテンツのスクレイピング、チェックアウト詐欺、スパム登録、その他の悪意のある活動を防止します。
  • Cloudflareを調整して、ウェブサイト、アプリケーション、APIエンドポイント全体でボットの過剰使用と悪用を防止します。

GraylogダッシュボードCloudflareボット管理