RESTful API

启用和停用REST API

要在网关上启用REST API,请运行这个Gaia Clish命令:

set rest-api mode on

要禁用网关上的REST API,请运行这个Gaia Clish命令:

set rest-api mode off

请求结构

HTTP Post

https://<gateway-ip>:<port>/web-api/<command>

默认的端口号是4434。

HTTP头文件

标题

描述

Content-Type

application/json

x-chkp-sid

由登录命令返回的会话ID令牌。

The x-chkp-sid 标头在所有的API调用中都是必须的,除了登录API。

要求的有效载荷

包含不同参数的JSON格式的文本。

示例:

https://192.168.1.1:4434/web-api/login

响应结构

成功时的返回值:

  • HTTP状态200(OK)。

  • 一个JSON字符串(内容根据调用的API而不同)。

失败时的返回值:

  • HTTP状态500(内部服务器错误),400(错误请求),或401(未经授权)。

  • 一个包含错误信息的JSON结构

版本管理

具有特定版本的HTTPPost

https://<gateway-ip>:<port>/web-api/<version>/<command>

如果没有发送版本,则使用最新支持的版本。

示例:

https://192.168.1.1:4434/web-api/v1/login

REST API命令

(1) 登录

描述

  1. 用你的SMB管理用户名和密码登录到SMB设备。

  2. SMB返回你的会话唯一标识符。

  3. 在每个请求的x-chkp-sid 标头中输入这个会话唯一标识符。

要求URL

POST https://<gateway-ip>:<port>/web-api/login

请求标题

标题名称

描述

Content-Type

application/json

发送JSON对象以使用API网络服务。

请求正文

参数名称

描述

user (必填)

字符串

管理员用户名

Password (必填)

字符串

管理员密码

响应

成功时,HTTP返回的代码:200

标题名称

描述

sid

字符串

每个请求x-chkp-sid标头的会话唯一标识。

role

字符串

管理员的角色和权限。

read-only

布尔型

如果会话是只读的,则为真。

api-server-version

字符串

API服务器版本。

session-timeout

整数

会话过期超时,以分钟为单位。

失败时,HTTP返回的代码:400, 401, 500

请求示例

{

"user": "admin",

"password": "aa"

}

响应实例

{

"sid":"9aa5770044797d7209f8ce9b0ef0fa0",

"role":"ROLE.SUPER",

"read-only": false,

"api-server-version": "v1",

"session-timeout":10

}

(2) 注销

描述

从当前会话中注销。在你注销后,会话ID就不再有效。

要求URL

POST https://<gateway-ip>:<port>/web-api/v1/logout

请求标题

标题名称

描述

Content-Type

application/json

发送JSON对象以使用API网络服务。

x-chkp-sid

字符串标记

会话唯一标识符,作为对登录请求的响应。

请求正文

没有请求主体。

响应

成功时,HTTP返回的代码:200

失败时,HTTP返回的代码:400, 401, 500

(3) 生成-报告

描述

根据选定的时间框架生成安全报告数据。

Hourly/Daily/Weekly/Monthly

要求URL

POST https://<gateway-ip>:<port>/web-api/generate-report

请求标题

标题名称

描述

Content-Type

application/json

发送JSON对象以使用API网络服务。

x-chkp-sid

字符串标记

会话唯一标识符,作为对登录请求的响应。

请求正文

标题名称

描述

type (必填)

字符串

报告时间框架。

允许值:{hourly, weekly, daily, monthly}

响应

成功时,HTTP返回的代码:200

标题名称

描述

reportData

Base64字符串

以base64格式发送数据JSON。

失败时,HTTP返回的代码:400, 401, 500

请求示例

{

"type": "daily",

}

响应实例

[

{

"reportData": "<report_json_in_base64_format>"

}

]

(4) 运行Clish命令

描述

运行一个Gaia Clish关闭 Gaia CLI的默认外壳命令。

要求URL

POST https://<gateway-ip>:<port>/web-api/run-clish-command

请求标题

标题名称

描述

Content-Type

application/json

发送JSON对象以使用API网络服务。

x-chkp-sid

字符串标记

会话唯一标识符,作为对登录请求的响应。

请求正文

标题名称

描述

script (必填)

字符串

一条base64格式的clish命令。

响应

成功时,HTTP返回的代码:200

标题名称

描述

output

字符串

以base64格式的Clish命令输出。

失败时,HTTP返回的代码:400, 401, 500

请求示例

{

"script": " c2hvdyBwcm94eQ=="

}

响应实例

{

"output": "dXNlLXByb3h5OiAgICAgICAgICAgICAgICAgICAgdHJ1ZQpzZXJ2ZXI6IC

AgICAgICAgICAgICAgICAgICAgICAxLjEuMS4xCnBvcnQ6ICAgICAgICAgICAgICAgICAgICAg

ICAgIDgwODAKCg=="

}

脚本:

show proxy

输出:

use-proxy: true server: proxy.checkpoint.com port:8080