sz-ts
发布于

【雷池】OpenAPI文档及使用指导说明

各位师傅好,本文章将介绍雷池WAF产品的OpenAPI文档及使用方法。雷池(SafeLine)具备全功能开放接口(OpenAPI),所有页面功能均可通过API实现调用,可通过SoC或SIEM平台调取雷池(SafeLine)检测日志、下发安全策略等,构建多平台、多设备的安全联动,提高安全和运维管理效率。雷池(SafeLine)提供基于REST-ful的标准API接口,可快速融入用户安全运维体系。

使用手册

通过浏览器访问雷池如下URL地址:

软件版:https://$wafip:9443/openapi_doc/
硬件版:https://$wafip:443/openapi_doc/

页面内容如下,使用API前请先阅读《SafeLine Web 应用防火墙 API 文档》中的使用手册章节。

如何获取API-TOKEN

使用默认admin账号(其他普通用户也可以生成 token)登录雷池WEB管理界面,点击界面右上角 “用户” 图标,下拉选项选择 “个人中心”,点击 “OPEN API” 选项卡,点击右上角“添加一个OPEN API TOKEN”,根据提示配置生成API-TOKEN,其中“过期时间”不设置时表示永久生效,权限设置需要勾选对应的功能模块,生成Token后,需要复制并保存该串Token,如下图示例。后续可在该界面管理维护生成的Token。



OpenAPI使用格式说明

OpenAPI不同功能模块的使用格式介绍,请根据功能模块查阅。

示例:IP组功能


请求示例(POST Body):

{
    "name": "test",
    "comment": "test1",
    "original": [
        "1.1.1.1-1.2.3.4",
        "2.2.2.2",
        "fe80::10c1:18b9:175b:e5fc",
        "::1/80",
        "192.168.1.1/24"
    ]
}

响应示例:

{
    "err": null,
    "data": {
        "id": 24,
        "cidrs": [
            "1.1.1.1/32",
            "1.1.1.2/31",
            "1.1.1.4/30",
            "1.1.1.8/29",
            "1.1.1.16/28",
            "1.1.1.32/27",
            "1.1.1.64/26",
            "1.1.1.128/25",
            "1.1.2.0/23",
            "1.1.4.0/22",
            "1.1.8.0/21",
            "1.1.16.0/20",
            "1.1.32.0/19",
            "1.1.64.0/18",
            "1.1.128.0/17",
            "1.2.0.0/23",
            "1.2.2.0/24",
            "1.2.3.0/30",
            "1.2.3.4/32",
            "2.2.2.2/32",
            "fe80::10c1:18b9:175b:e5fc/128",
            "::/80",
            "192.168.1.0/24"
        ],
        "name": "test",
        "comment": "test1",
        "original": [
            "1.1.1.1-1.2.3.4",
            "2.2.2.2",
            "fe80::10c1:18b9:175b:e5fc",
            "::1/80",
            "192.168.1.1/24"
        ]
    },
    "msg": null
}

调用样例

curl

调用API创建IP组

curl https://$wafip:443/api/IPGroupAPI -H "API-TOKEN: xxxxx" -H "Content-Type: application/json" --data "{"name":"test","comment":"test1","original":["1.1.1.1-1.2.3.4","2.2.2.2","fe80::10c1:18b9:175b:e5fc","::1/80","192.168.1.1/24"]}"

python

通过API修改登录用户密码

#/usr/bin/python
# coding:utf-8

import json
import requests
base_url = "https://172.16.37.17:9443"
headers = {"API-TOKEN": "YXPVu7342HebzsHHsDZZ4irBkZxf6pyEWMLaJUtP"}

password_data = {
	"authentication_method":"password",
	"old_password":"admin",
	"new_password":"!@#$QweasD",
	"tfa_token":""
}
resp = requests.put(base_url + "/api/ResetUserCredentialAPI", headers= headers, json=password_data, verify=False)
print(resp.json())

浏览 (1173)
点赞 (5)
收藏
打赏
评论