Files
EdgeCommon/pkg/rpc/protos/service_http_firewall_policy.proto

198 lines
6.0 KiB
Protocol Buffer
Raw Normal View History

2020-09-20 20:12:53 +08:00
syntax = "proto3";
option go_package = "./pb";
package pb;
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";
import "models/rpc_messages.proto";
2020-09-20 20:12:53 +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);
// 创建空防火墙策略
rpc createEmptyHTTPFirewallPolicy (CreateEmptyHTTPFirewallPolicyRequest) returns (CreateEmptyHTTPFirewallPolicyResponse);
2020-10-06 21:02:21 +08:00
// 修改防火墙策略
rpc updateHTTPFirewallPolicy (UpdateHTTPFirewallPolicyRequest) returns (RPCSuccess);
2020-10-06 21:02:21 +08:00
2020-10-07 11:18:24 +08:00
// 修改分组信息
rpc updateHTTPFirewallPolicyGroups (UpdateHTTPFirewallPolicyGroupsRequest) returns (RPCSuccess);
2020-10-07 11:18:24 +08:00
2020-11-06 11:02:18 +08:00
// 修改inbound信息
rpc updateHTTPFirewallInboundConfig (UpdateHTTPFirewallInboundConfigRequest) returns (RPCSuccess);
2020-11-06 11:02:18 +08:00
2020-10-06 21:02:21 +08:00
// 计算可用的防火墙策略数量
rpc countAllEnabledHTTPFirewallPolicies (CountAllEnabledHTTPFirewallPoliciesRequest) returns (RPCCountResponse);
2020-10-06 21:02:21 +08:00
// 列出单页的防火墙策略
rpc listEnabledHTTPFirewallPolicies (ListEnabledHTTPFirewallPoliciesRequest) returns (ListEnabledHTTPFirewallPoliciesResponse);
2020-10-06 21:02:21 +08:00
// 删除某个防火墙策略
rpc deleteHTTPFirewallPolicy (DeleteHTTPFirewallPolicyRequest) returns (RPCSuccess);
2020-10-06 21:02:21 +08:00
// 查找单个防火墙配置
rpc findEnabledHTTPFirewallPolicyConfig (FindEnabledHTTPFirewallPolicyConfigRequest) returns (FindEnabledHTTPFirewallPolicyConfigResponse);
2020-10-06 21:02:21 +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);
// 获取防火墙对应的网站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;
repeated string httpFirewallGroupCodes = 4;
int64 serverId = 5;
int64 serverGroupId = 6;
2020-10-06 21:02:21 +08:00
}
message CreateHTTPFirewallPolicyResponse {
int64 httpFirewallPolicyId = 1;
2020-10-06 21:02:21 +08:00
}
// 创建空防火墙策略
message CreateEmptyHTTPFirewallPolicyRequest {
bool isOn = 1;
string name = 2;
string description = 3;
int64 serverId = 4;
int64 serverGroupId = 5;
}
message CreateEmptyHTTPFirewallPolicyResponse {
int64 httpFirewallPolicyId = 1;
}
2020-10-06 21:02:21 +08:00
// 修改防火墙策略
message UpdateHTTPFirewallPolicyRequest {
int64 httpFirewallPolicyId = 1;
2020-10-06 21:02:21 +08:00
bool isOn = 2;
string name = 3;
string description = 4;
repeated string firewallGroupCodes = 5;
bytes blockOptionsJSON = 6; // 阻止动作配置
bytes pageOptionsJSON = 15; // 显示网页动作配置
bytes captchaOptionsJSON = 11; // 验证码动作配置
2024-04-07 14:21:29 +08:00
bytes jsCookieOptionsJSON = 16; // JSCookie动作配置
string mode = 7;
bool useLocalFirewall = 8; // 是否使用本地防火墙
bytes synFloodJSON = 9; // SYN Flood相关配置
bytes LogJSON = 10; // 日志相关配置
int64 maxRequestBodySize = 12; // 最大文件尺寸,单位为字节
string denyCountryHTML = 13; // 区域封禁提示
string denyProvinceHTML = 14; // 省份封禁提示
2020-10-06 21:02:21 +08:00
}
2020-10-07 11:18:24 +08:00
// 修改分组信息
message UpdateHTTPFirewallPolicyGroupsRequest {
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 {
int64 httpFirewallPolicyId = 1;
2020-11-06 11:02:18 +08:00
bytes inboundJSON = 2;
}
2020-10-06 21:02:21 +08:00
// 计算可用的防火墙策略数量
message CountAllEnabledHTTPFirewallPoliciesRequest {
2021-06-07 08:58:36 +08:00
string keyword = 1;
int64 nodeClusterId = 2;
2020-10-06 21:02:21 +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;
int64 nodeClusterId = 4;
2020-10-06 21:02:21 +08:00
}
message ListEnabledHTTPFirewallPoliciesResponse {
repeated HTTPFirewallPolicy httpFirewallPolicies = 1;
2020-10-06 21:02:21 +08:00
}
// 删除某个防火墙策略
message DeleteHTTPFirewallPolicyRequest {
int64 httpFirewallPolicyId = 1;
2020-10-06 21:02:21 +08:00
}
// 查找单个防火墙配置
message FindEnabledHTTPFirewallPolicyConfigRequest {
int64 httpFirewallPolicyId = 1;
2020-10-06 21:02:21 +08:00
}
message FindEnabledHTTPFirewallPolicyConfigResponse {
bytes httpFirewallPolicyJSON = 1;
2020-10-06 21:02:21 +08:00
}
// 获取防火墙的基本信息
message FindEnabledHTTPFirewallPolicyRequest {
int64 httpFirewallPolicyId = 1;
2020-10-06 21:02:21 +08:00
}
message FindEnabledHTTPFirewallPolicyResponse {
HTTPFirewallPolicy httpFirewallPolicy = 1;
2020-12-02 16:09:10 +08:00
}
// 导入策略数据
message ImportHTTPFirewallPolicyRequest {
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; // 是否查询成功
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; // 匹配到封禁的省份
}
// 获取防火墙对应的网站ID
message FindServerIdWithHTTPFirewallPolicyIdRequest {
int64 httpFirewallPolicyId = 1; // 防火墙策略ID
}
message FindServerIdWithHTTPFirewallPolicyIdResponse {
int64 serverId = 1; // 防火墙策略对应的网站ID公共的防火墙策略的网站ID为0
2020-10-06 21:02:21 +08:00
}