2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

APIを用いたCheckPoint製品のログ取得について

2
Last updated at Posted at 2025-12-07

こんにちは、CheckPointの藤田です。
こちらの記事ではCheckPoint製品のログをAPIを使って取得する手順についてご紹介します。

はじめに

CheckPointはInfinity Portalという各製品やサービスを一元管理するプラットフォームをもっています。このプラットフォームでは、各製品やサービス(UTMやEDR、SASEなど)で発生したログをInfinity Eventsというサービスで集中管理しています。

Infinity Eventsの画面
image.png

今回はこのInfinity Eventsに集められたログから、APIを用いて指定した条件でログを抽出する手順を記載します。

まずはCheckPoint製品のAPIについてのドキュメント確認してみましょう。
以下のサイトにAPIに関するドキュメントがあります。
https://sc1.checkpoint.com/documents/latest/api_reference/index.html

image.png

この中にInfinity Events APIのページがあります。
https://app.swaggerhub.com/apis-docs/Check-Point/infinity-events-api/1.0.0
image.png

こちらのAPIを使ってログを取得します。
おおまかな流れは以下です。

1.API Keyの作成
2.API Keyを用いた認証トークン取得
3.認証トークンを用いたログ抽出条件のクエリー(taskIdを取得)
4.taskIdを用いたログ取得用トークンの取得(pageTokenの取得)
5.taskId,pageTokenを用いたログの取得

1.API Keyの作成

Infinity Portalにログイン後、歯車マークにあるAPI Keysを押下します。
image.png

New account API keyを作成
(ServiceはLog as a Serviceを指定)
Log-as-a-Service.png

Client ID、Secret Key、Authentication URLが払い出されるのでコピーしておきます。
image.png

2.API Keyを用いた認証トークン取得

コマンドプロンプトを起動し、Authentication URLに対し取得したAPI Key(clientId, accessKey)を用いて認証トークンを要求します。
/auth/external

curl -X "POST" ^
 "https://cloudinfra-gw-us.portal.checkpoint.com/auth/external" ^
 -H "accept: application/json" ^
 -H "Content-Type: application/json" ^
 -d ^
"{^
 ""clientId"": ""1234567890"",^
 ""accessKey"": ""abcdefghij""^
}"

API Keyの認証が成功すると、認証トークンを得ることができます。

{
	"success" : true,
	"data" : {
		"token" : "認証token",
		"csrf" : "a0cd3bd8-4843-4820-b156-0da57f405b8a",
		"expires" : "Wed,
		 13 Aug 2025 00 : 36 : 47 GMT",
		"expiresIn" : 1800
	}
}

このあとに続くAPIの要求はこの認証tokenを提示することで可能となります。

3.認証トークンを用いたログ抽出条件のクエリー(taskIdの取得)

次に、認証トークンを用いてログ抽出条件をクエリーします。(ここが一番重要なポイントです)
ここでは「cloudService」項目でログを取得したいサービスを指定し、「filter」項目でログの種類や重要度、「timeframe」で時間を指定することができます。
下の例では、CheckPointのUTMであるQuantum Sparkから集められたログのうち、Anti-Botに関するログ(重要度がCritical、ログの信頼性がHighのもの)で2025年8月9日から10日に発生したログを要求しています。
/logs_query

curl -X "POST" ^
  "https://cloudinfra-gw-us.portal.checkpoint.com/app/laas-logs-api/api/logs_query" ^
  -H "accept: application/json" ^
  -H "Authorization: Bearer 認証トークン" ^
  -H "Content-Type: application/json" ^
  -d ^
"{^
  ""filter"": ""product:\\""Anti-Bot\\"" and severity:\\""Critical\\"" and confidence_level:\\""High\\"""",^
  ""limit"": 100,^
  ""pageLimit"": 100,^
  ""cloudService"": ""Quantum Spark Management"",^
  ""timeframe"": {^
    ""startTime"": ""2025-08-09T05:00:00Z"",^
    ""endTime"": ""2025-08-10T21:59:59Z""^
  },^
  ""accounts"": [^
    ""Infinity Portalの該当テナントのAccount ID""^
  ]^
}"

成功するとtaskIdを取得することができます。

{
  "success": true,
  "data": {
    "taskId": "取得したtaskId"
  }
}

4.taskIdを用いたログ取得用トークンの取得(pageTokenの取得)

取得したtaskIdを用いてログ取得用トークンを要求します。
/logs_query/{taskId}

curl -X "GET" ^
  "https://cloudinfra-gw-us.portal.checkpoint.com/app/laas-logs-api/api/logs_query/取得したtaskId" ^
  -H "accept: application/json" ^
  -H "Authorization: Bearer 認証トークン"

成功するとpageTokenを得ることができます。

{
  "success": true,
  "data": {
    "state": "Ready",
    "pageTokens": [
      "取得したpageToken"
    ]
  }
}

5.taskId, pageTokenを用いたログの取得

これで準備は整いました。taskIdとpageTokenを用いて実際のログを取得します。
/logs_query/retrieve

curl -X "POST" ^
  "https://cloudinfra-gw-us.portal.checkpoint.com/app/laas-logs-api/api/logs_query/retrieve" ^
  -H "accept: application/json" ^
  -H "Authorization: Bearer 認証トークン" ^
  -H "Content-Type: application/json" ^
  -d ^
"{^
  ""taskId"": ""取得したtaskId"",^
  ""pageToken"": ""取得したpageToken""^
}"

成功すると要求した条件に合致するログがJSON形式で取得することができます。

{
	"success" : true,
	"data" : {
		"records" : [
			{
				"confidence_level" : "High",
				"policy_time" : "2025-08-10T10 : 28 : 46.0000000Z",
				"severity" : "Critical",
				"time" : "2025-08-10T13 : 29 : 09.000001Z",
				"id" : "1234567890",
				"orig" : "Spark-Masa",
				"sequencenum" : 1,
				"action" : "Redirect",
				"origin_sic_name" : "CN=Spark-Masa,
				O=us-vsmp15-pdc.vsmp15.checkpoint.com.piv8r8",
				"dst" : "10.0.0.10",
				"product" : "Anti-Bot",
				"proto" : 6,
				"src" : "192.168.1.224",
				"domain" : "SMC User",
				"gateway_name" : "Spark-Masa",
				"service_domain" : "Masa",
				"gateway_mac_address" : "00 : 1C : 7F : XX : XX : XX",
				"product_family" : "Threat",
				"type" : "Log",
				"s_port" : 60776,
				"service" : 80,
				"dst_country" : [
					"UnitedStates"
				],
				"proxy_src_ip" : "192.168.1.224",
				"resource" : [
					"http : //C&Cサイト"
				],
				"session_id" : "0x12345678,
				0x2,
				0xf2f58608,
				0xea87e28c",
				"web_client_type" : [
					"Other: curl/8.13.0"
				],
				"protection_type" : "URL Reputation",
				"malware_action" : [
					"Communication with C&C site"
				],
				"malware_rule_id" : "c075536d-81e9-2642-85e0-3a8a9c49df7d",
				"protection_id" : "005A72C28",
				"protection_name" : "Anti-Bot test.TC.47e0kFwN",
				"scope" : "192.168.1.224",
				"smartdefense_profile" : "Recommended_Profile",
				"vendor_list" : [
					"Check Point ThreatCloud"
				],
				"smartdefense_profile___TP_match_table" : [
					"Recommended_Profile"
				],
				"malware_rule_name___TP_match_table" : [
					""
				],
				"malware_rule_id___TP_match_table" : [
					"c075536d-81e9-2642-85e0-3a8a9c49df7d"
				],
				"layer_name___TP_match_table" : [
					"Standard Threat Prevention"
				],
				"layer_uuid___TP_match_table" : [
					"b267f23c-ff59-4062-923f-605c371d15d3"
				],
				"received_bytes" : 52,
				"sent_bytes" : 0,
				"suppressed_logs" : 1,
				"tenant_id" : "abcdefg"
			}
		],
		"recordsCount" : 1,
		"nextPageToken" : "NULL"
	}
	}

今回取得したログからは、8月10日の13:29に192.168.1.224の端末からC&Cサイトへの接続が試みられ、Quantum SparkのAnti-Bot機能でブロックされていることがわかります。

このように、Infinity EventsサービスにはCheckPointのすべての製品、サービスのログが集約されるため、このInfinity EventsのAPIを用いることで任意の製品、サービスのログを条件を指定して取得することができます。

例えば
・Harmony Endpoint(EDR)でRansomwareに関するログが発生していないか
・Quantum Spark(UTM)で感染した端末に関するログ(Anti-Bot)が発生していないか
・Harmony SASE(SASE)でSandBoxにより未知のマルウェアを検出したログ(Threat Emulation)が発生していないか

などなど。。ログ監視の夢は広がるばかりです!

さあ、皆さんもこのAPIを使ってクリスマス休暇に自分好みのログ分析システムを作ってみるのはいかがでしょうか?

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?