2020-09-20 20:12:53 +08:00
|
|
|
|
syntax = "proto3";
|
|
|
|
|
|
option go_package = "./pb";
|
|
|
|
|
|
|
|
|
|
|
|
package pb;
|
|
|
|
|
|
|
2021-01-25 16:41:30 +08:00
|
|
|
|
import "models/model_http_firewall_policy.proto";
|
2021-02-02 19:29:04 +08:00
|
|
|
|
import "models/model_ip_list.proto";
|
|
|
|
|
|
import "models/model_ip_item.proto";
|
|
|
|
|
|
import "models/model_region_country.proto";
|
|
|
|
|
|
import "models/model_region_province.proto";
|
2021-01-25 16:41:30 +08:00
|
|
|
|
import "models/rpc_messages.proto";
|
2020-09-20 20:12:53 +08:00
|
|
|
|
|
2022-06-25 19:22:19 +08:00
|
|
|
|
// HTTP防火墙(WAF)服务
|
2020-09-20 20:12:53 +08:00
|
|
|
|
service HTTPFirewallPolicyService {
|
|
|
|
|
|
// 获取所有可用策略
|
|
|
|
|
|
rpc findAllEnabledHTTPFirewallPolicies (FindAllEnabledHTTPFirewallPoliciesRequest) returns (FindAllEnabledHTTPFirewallPoliciesResponse);
|
2020-10-06 21:02:21 +08:00
|
|
|
|
|
|
|
|
|
|
// 创建防火墙策略
|
|
|
|
|
|
rpc createHTTPFirewallPolicy (CreateHTTPFirewallPolicyRequest) returns (CreateHTTPFirewallPolicyResponse);
|
|
|
|
|
|
|
2021-01-18 20:41:37 +08:00
|
|
|
|
// 创建空防火墙策略
|
|
|
|
|
|
rpc createEmptyHTTPFirewallPolicy (CreateEmptyHTTPFirewallPolicyRequest) returns (CreateEmptyHTTPFirewallPolicyResponse);
|
|
|
|
|
|
|
2020-10-06 21:02:21 +08:00
|
|
|
|
// 修改防火墙策略
|
2020-11-13 18:23:06 +08:00
|
|
|
|
rpc updateHTTPFirewallPolicy (UpdateHTTPFirewallPolicyRequest) returns (RPCSuccess);
|
2020-10-06 21:02:21 +08:00
|
|
|
|
|
2020-10-07 11:18:24 +08:00
|
|
|
|
// 修改分组信息
|
2020-11-13 18:23:06 +08:00
|
|
|
|
rpc updateHTTPFirewallPolicyGroups (UpdateHTTPFirewallPolicyGroupsRequest) returns (RPCSuccess);
|
2020-10-07 11:18:24 +08:00
|
|
|
|
|
2020-11-06 11:02:18 +08:00
|
|
|
|
// 修改inbound信息
|
2020-11-13 18:23:06 +08:00
|
|
|
|
rpc updateHTTPFirewallInboundConfig (UpdateHTTPFirewallInboundConfigRequest) returns (RPCSuccess);
|
2020-11-06 11:02:18 +08:00
|
|
|
|
|
2020-10-06 21:02:21 +08:00
|
|
|
|
// 计算可用的防火墙策略数量
|
2020-12-17 15:51:09 +08:00
|
|
|
|
rpc countAllEnabledHTTPFirewallPolicies (CountAllEnabledHTTPFirewallPoliciesRequest) returns (RPCCountResponse);
|
2020-10-06 21:02:21 +08:00
|
|
|
|
|
|
|
|
|
|
// 列出单页的防火墙策略
|
2020-12-17 15:51:09 +08:00
|
|
|
|
rpc listEnabledHTTPFirewallPolicies (ListEnabledHTTPFirewallPoliciesRequest) returns (ListEnabledHTTPFirewallPoliciesResponse);
|
2020-10-06 21:02:21 +08:00
|
|
|
|
|
|
|
|
|
|
// 删除某个防火墙策略
|
2020-12-17 15:51:09 +08:00
|
|
|
|
rpc deleteHTTPFirewallPolicy (DeleteHTTPFirewallPolicyRequest) returns (RPCSuccess);
|
2020-10-06 21:02:21 +08:00
|
|
|
|
|
|
|
|
|
|
// 查找单个防火墙配置
|
2020-12-17 15:51:09 +08:00
|
|
|
|
rpc findEnabledHTTPFirewallPolicyConfig (FindEnabledHTTPFirewallPolicyConfigRequest) returns (FindEnabledHTTPFirewallPolicyConfigResponse);
|
2020-10-06 21:02:21 +08:00
|
|
|
|
|
|
|
|
|
|
// 获取防火墙的基本信息
|
2020-12-17 15:51:09 +08:00
|
|
|
|
rpc findEnabledHTTPFirewallPolicy (FindEnabledHTTPFirewallPolicyRequest) returns (FindEnabledHTTPFirewallPolicyResponse);
|
2020-12-02 16:09:10 +08:00
|
|
|
|
|
|
|
|
|
|
// 导入策略数据
|
|
|
|
|
|
rpc importHTTPFirewallPolicy (ImportHTTPFirewallPolicyRequest) returns (RPCSuccess);
|
2021-02-02 19:29:04 +08:00
|
|
|
|
|
|
|
|
|
|
// 检查IP状态
|
|
|
|
|
|
rpc checkHTTPFirewallPolicyIPStatus (CheckHTTPFirewallPolicyIPStatusRequest) returns (CheckHTTPFirewallPolicyIPStatusResponse);
|
2023-12-20 15:09:09 +08:00
|
|
|
|
|
|
|
|
|
|
// 获取防火墙对应的网站ID
|
|
|
|
|
|
rpc findServerIdWithHTTPFirewallPolicyId(FindServerIdWithHTTPFirewallPolicyIdRequest) returns (FindServerIdWithHTTPFirewallPolicyIdResponse);
|
2020-09-20 20:12:53 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取所有可用策略
|
|
|
|
|
|
message FindAllEnabledHTTPFirewallPoliciesRequest {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message FindAllEnabledHTTPFirewallPoliciesResponse {
|
|
|
|
|
|
repeated HTTPFirewallPolicy firewallPolicies = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-10-06 21:02:21 +08:00
|
|
|
|
// 创建防火墙策略
|
|
|
|
|
|
message CreateHTTPFirewallPolicyRequest {
|
|
|
|
|
|
bool isOn = 1;
|
|
|
|
|
|
string name = 2;
|
|
|
|
|
|
string description = 3;
|
2020-12-17 15:51:09 +08:00
|
|
|
|
repeated string httpFirewallGroupCodes = 4;
|
2021-01-20 14:22:56 +08:00
|
|
|
|
int64 serverId = 5;
|
2021-10-07 16:47:31 +08:00
|
|
|
|
int64 serverGroupId = 6;
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message CreateHTTPFirewallPolicyResponse {
|
2020-12-17 15:51:09 +08:00
|
|
|
|
int64 httpFirewallPolicyId = 1;
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2021-01-18 20:41:37 +08:00
|
|
|
|
// 创建空防火墙策略
|
|
|
|
|
|
message CreateEmptyHTTPFirewallPolicyRequest {
|
|
|
|
|
|
bool isOn = 1;
|
|
|
|
|
|
string name = 2;
|
|
|
|
|
|
string description = 3;
|
2021-01-20 14:22:56 +08:00
|
|
|
|
int64 serverId = 4;
|
2021-10-07 16:47:31 +08:00
|
|
|
|
int64 serverGroupId = 5;
|
2021-01-18 20:41:37 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message CreateEmptyHTTPFirewallPolicyResponse {
|
|
|
|
|
|
int64 httpFirewallPolicyId = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-10-06 21:02:21 +08:00
|
|
|
|
// 修改防火墙策略
|
|
|
|
|
|
message UpdateHTTPFirewallPolicyRequest {
|
2020-12-17 15:51:09 +08:00
|
|
|
|
int64 httpFirewallPolicyId = 1;
|
2020-10-06 21:02:21 +08:00
|
|
|
|
bool isOn = 2;
|
|
|
|
|
|
string name = 3;
|
|
|
|
|
|
string description = 4;
|
|
|
|
|
|
repeated string firewallGroupCodes = 5;
|
2024-01-20 16:18:49 +08:00
|
|
|
|
bytes blockOptionsJSON = 6; // 阻止动作配置
|
|
|
|
|
|
bytes pageOptionsJSON = 15; // 显示网页动作配置
|
|
|
|
|
|
bytes captchaOptionsJSON = 11; // 验证码动作配置
|
2024-04-07 14:21:29 +08:00
|
|
|
|
bytes jsCookieOptionsJSON = 16; // JSCookie动作配置
|
2021-09-30 11:30:16 +08:00
|
|
|
|
string mode = 7;
|
2023-08-02 17:00:40 +08:00
|
|
|
|
bool useLocalFirewall = 8; // 是否使用本地防火墙
|
|
|
|
|
|
bytes synFloodJSON = 9; // SYN Flood相关配置
|
|
|
|
|
|
bytes LogJSON = 10; // 日志相关配置
|
|
|
|
|
|
int64 maxRequestBodySize = 12; // 最大文件尺寸,单位为字节
|
2023-08-10 10:30:05 +08:00
|
|
|
|
string denyCountryHTML = 13; // 区域封禁提示
|
|
|
|
|
|
string denyProvinceHTML = 14; // 省份封禁提示
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2020-10-07 11:18:24 +08:00
|
|
|
|
// 修改分组信息
|
|
|
|
|
|
message UpdateHTTPFirewallPolicyGroupsRequest {
|
2020-12-17 15:51:09 +08:00
|
|
|
|
int64 httpFirewallPolicyId = 1;
|
2020-10-07 11:18:24 +08:00
|
|
|
|
bytes inboundJSON = 2;
|
|
|
|
|
|
bytes outboundJSON = 3;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-11-06 11:02:18 +08:00
|
|
|
|
// 修改inbound信息
|
|
|
|
|
|
message UpdateHTTPFirewallInboundConfigRequest {
|
2020-12-17 15:51:09 +08:00
|
|
|
|
int64 httpFirewallPolicyId = 1;
|
2020-11-06 11:02:18 +08:00
|
|
|
|
bytes inboundJSON = 2;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-10-06 21:02:21 +08:00
|
|
|
|
// 计算可用的防火墙策略数量
|
2020-12-17 15:51:09 +08:00
|
|
|
|
message CountAllEnabledHTTPFirewallPoliciesRequest {
|
2021-06-07 08:58:36 +08:00
|
|
|
|
string keyword = 1;
|
2022-01-11 15:46:21 +08:00
|
|
|
|
int64 nodeClusterId = 2;
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 列出单页的防火墙策略
|
2020-12-17 15:51:09 +08:00
|
|
|
|
message ListEnabledHTTPFirewallPoliciesRequest {
|
2020-10-06 21:02:21 +08:00
|
|
|
|
int64 offset = 1;
|
|
|
|
|
|
int64 size = 2;
|
2021-06-07 08:58:36 +08:00
|
|
|
|
string keyword = 3;
|
2022-01-11 15:46:21 +08:00
|
|
|
|
int64 nodeClusterId = 4;
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2020-12-17 15:51:09 +08:00
|
|
|
|
message ListEnabledHTTPFirewallPoliciesResponse {
|
|
|
|
|
|
repeated HTTPFirewallPolicy httpFirewallPolicies = 1;
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 删除某个防火墙策略
|
2020-12-17 15:51:09 +08:00
|
|
|
|
message DeleteHTTPFirewallPolicyRequest {
|
|
|
|
|
|
int64 httpFirewallPolicyId = 1;
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 查找单个防火墙配置
|
2020-12-17 15:51:09 +08:00
|
|
|
|
message FindEnabledHTTPFirewallPolicyConfigRequest {
|
|
|
|
|
|
int64 httpFirewallPolicyId = 1;
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2020-12-17 15:51:09 +08:00
|
|
|
|
message FindEnabledHTTPFirewallPolicyConfigResponse {
|
|
|
|
|
|
bytes httpFirewallPolicyJSON = 1;
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取防火墙的基本信息
|
2020-12-17 15:51:09 +08:00
|
|
|
|
message FindEnabledHTTPFirewallPolicyRequest {
|
|
|
|
|
|
int64 httpFirewallPolicyId = 1;
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2020-12-17 15:51:09 +08:00
|
|
|
|
message FindEnabledHTTPFirewallPolicyResponse {
|
|
|
|
|
|
HTTPFirewallPolicy httpFirewallPolicy = 1;
|
2020-12-02 16:09:10 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 导入策略数据
|
|
|
|
|
|
message ImportHTTPFirewallPolicyRequest {
|
2020-12-17 15:51:09 +08:00
|
|
|
|
int64 httpFirewallPolicyId = 1;
|
|
|
|
|
|
bytes httpFirewallPolicyJSON = 2;
|
2021-02-02 19:29:04 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 检查IP状态
|
|
|
|
|
|
message CheckHTTPFirewallPolicyIPStatusRequest {
|
|
|
|
|
|
int64 httpFirewallPolicyId = 1;
|
|
|
|
|
|
string ip = 2;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message CheckHTTPFirewallPolicyIPStatusResponse {
|
|
|
|
|
|
bool isOk = 1; // 是否查询成功
|
2023-12-20 15:09:09 +08:00
|
|
|
|
string error = 2; // 错误信息
|
2021-02-02 19:29:04 +08:00
|
|
|
|
bool isFound = 3; // 是否找到
|
2024-05-05 20:20:27 +08:00
|
|
|
|
bool isAllowed = 4; // 是否允许访问
|
2021-02-02 19:29:04 +08:00
|
|
|
|
IPList ipList = 5; // 匹配的IPList
|
|
|
|
|
|
IPItem ipItem = 6; // 匹配的IPItem
|
|
|
|
|
|
RegionCountry regionCountry = 7; // 匹配到封禁的地区
|
|
|
|
|
|
RegionProvince regionProvince = 8; // 匹配到封禁的省份
|
2023-12-20 15:09:09 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取防火墙对应的网站ID
|
|
|
|
|
|
message FindServerIdWithHTTPFirewallPolicyIdRequest {
|
|
|
|
|
|
int64 httpFirewallPolicyId = 1; // 防火墙策略ID
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message FindServerIdWithHTTPFirewallPolicyIdResponse {
|
|
|
|
|
|
int64 serverId = 1; // 防火墙策略对应的网站ID,公共的防火墙策略的网站ID为0
|
2020-10-06 21:02:21 +08:00
|
|
|
|
}
|