メインコンテンツまでスキップ
Sumo Logic Japanese

Google Cloud ファイアウォールのログの収集

Google Cloud ファイアウォール用 Sumo Logic アプリケーションのログ収集を設定する手順。

このページでは、Google Cloud Platform (GCP) サービスからログを取り込むための Sumo パイプラインについて説明し、Google Cloud ファイアウォールからログを収集する手順を紹介します。

ファイアウォール ルールのログの有効化

ルール定義に --enable-logging を含めて、接続を記録する各ファイアウォール ルールで個別にファイアウォール ルールのログを有効にします。例:

gcloud beta compute firewall-rules create rule-b \
    --network example-net \
    --action allow \
    --direction ingress \
    --rules tcp:80 \
    --source-ranges 10.10.0.99/32 \
    --priority 10 \
    --enable-logging

詳細については、「ファイアウォール ルール ロギングの概要」を参照してください。

Collection process for GCP services

The key components in the collection process for GCP services are:  Google Stackdriver, Google Cloud Pub/Sub, and Sumo’s Google Cloud Platform (GCP) source running on a hosted collector. 

The integration works like this: Google Stackdriver collects logs from GCP services. Once you’ve configured the pipeline shown below, the logs collected by Stackdriver will be published to a Google Pub/Sub topic. A Sumo GCP source on a hosted collector subscribed to that topic ingests the logs into Sumo.

monitor-gcp-services.png 

The configuration process is as follows. 

  1. Configure a GCP source on a hosted collector. You'll obtain the HTTP URL for the source, and then use Google Cloud Console to register the URL as a validated domain.  
  2. Create a topic in Google Pub/Sub and subscribe the GCP source URL to that topic.
  3. Create an export of GCP logs from Stackdriver. Exporting involves writing a filter that selects the log entries you want to export, and choosing a Pub/Sub as the destination. The filter and destination are held in an object called a sink. 

See the sections below for instructions.

Stackdriver からの Google Cloud VPC ログのエクスポートの作成

Google Cloud ファイアウォールは Google Cloud VPC で実行されるため、このステップでは VPC ログを収集します。

  1. GCP で [Logging (ログ)] に移動します。
    cloud-iam-7.png
  2. [Exports (エクスポート)] に移動します。[Create Export (エクスポートの作成)] をクリックします。
    cloud-iam-8.png
  3. GCP サービスとして [GCE Subnetwork (GCE サブネットワーク)] を選択してログを絞り込みます。
    cloud-iam-9.png

  4. 右側の [Edit Export (エクスポートの編集)] ウィンドウで次の操作を実行します。

    1. [Sink Name (Sink 名)] を設定します。たとえば、"gcp-subnetwork" です。
    2. [Sink Service (Sink サービス)] を "Cloud Pub/Sub" に設定します。
    3. [Sink Destination (Sink ターゲット)] を作成したばかりの Pub/Sub トピックに設定します。たとえば、pub-sub-logs です。
    4. [Create Sink (Sink の作成)] をクリックします。

クエリのサンプル

一定期間にわたるネットワーク別の拒否された受信トラフィック

_sourceCategory=*gcp* logName reference resource "\"type\":\"gce_subnetwork\"" "\"direction\":\"INGRESS\"" "\"disposition\":\"DENIED\"" | parse regex "\"logName\":\"(?<log_name>[^\"]+)\"" | parse regex "\"reference\":\"network:[^\"/]+/firewall:(?<rule_name>[^\"]+)\"" | where log_name matches "projects/*/logs/compute.googleapis.com%2Ffirewall" | json "message.data.resource.labels", "message.data.jsonPayload" as labels, payload | json field=labels "location","project_id","subnetwork_id","subnetwork_name" as zone,project,subnetwork_id,subnetwork_name nodrop | json field=payload "disposition", "instance.vm_name", "vpc.vpc_name", "rule_details" as disposition, vm_instance, network, rule_details | json field=rule_details "action", "priority", "direction" | timeslice 1h | count as denied by _timeslice, network, project | transpose row _timeslice column network, project