From 8c64d0492f045ac288bce449cef7e8643d7833ee Mon Sep 17 00:00:00 2001 From: Hao Miao <47212914+PushM@users.noreply.github.com> Date: Mon, 11 Mar 2024 16:05:59 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81alertmssage=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0alertmssage=E7=9A=84uuid=202=E3=80=81?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=96=B0=E5=BB=BA=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=B0=E5=88=97=203=E3=80=81StateHandler.j?= =?UTF-8?q?ava=20=E7=9A=84handleJudgedTaskStart=E5=92=8ChandleDynamicTaskS?= =?UTF-8?q?tart=E4=B8=8D=E6=89=A7=E8=A1=8CsendFilters=EF=BC=8C=E5=9B=A0?= =?UTF-8?q?=E4=B8=BA=E9=82=A3=E8=BE=B9=E8=BF=98=E6=B2=A1=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E6=8E=A5=E6=94=B6=E3=80=82=E6=88=91=E4=BB=AC=E8=BF=99=E8=BE=B9?= =?UTF-8?q?sendFilters=E4=BC=9A=E6=8A=A5=E9=94=99=20=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E8=A7=A3=E6=9E=90url=204=E3=80=81=E5=89=8D=E7=AB=AF=E8=BD=AC?= =?UTF-8?q?=E5=9C=88=E9=97=AE=E9=A2=98=EF=BC=8C=E6=9B=B4=E6=96=B0nginx?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/doris-2024-3-09.sql | 120 ++++++ sql/mysql-2024-3-09.sql | 351 ++++++++++++++++++ .../alertmessage/AlertMessageService.java | 33 +- .../server/task/status/StateHandler.java | 7 +- .../nginx/configs/project_template.conf | 2 +- .../server/alertmessage/AlertMessageTest.java | 40 +- .../rule/dynamic/DynamicRuleServiceTest.java | 8 +- 7 files changed, 534 insertions(+), 27 deletions(-) create mode 100644 sql/doris-2024-3-09.sql create mode 100644 sql/mysql-2024-3-09.sql diff --git a/sql/doris-2024-3-09.sql b/sql/doris-2024-3-09.sql new file mode 100644 index 0000000..326cc13 --- /dev/null +++ b/sql/doris-2024-3-09.sql @@ -0,0 +1,120 @@ +-- MySQL dump 10.13 Distrib 8.0.35, for Linux (x86_64) +-- +-- Host: 10.26.22.133 Database: command +-- ------------------------------------------------------ +-- Server version 5.7.99 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `command` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `command`; + +USE `command`; + +-- +-- Table structure for table `t_alertmessage` +-- + +DROP TABLE IF EXISTS `t_alertmessage`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_alertmessage` ( + `TASK_ID` bigint(20) NOT NULL COMMENT '关联任务ID', + `DYNAMIC_RULE_ID` bigint(20) NOT NULL COMMENT '关联动态规则ID', + `ADDR_TYPE` tinyint(4) NULL COMMENT 'IP地址类型', + `SRC_IP` varchar(64) NULL COMMENT '源IP地址', + `SRC_PORT` varchar(6) NULL COMMENT '源端口', + `DST_IP` varchar(64) NULL COMMENT '目的IP地址', + `DST_PORT` varchar(64) NULL COMMENT '目的端口', + `PROTOCOL` smallint(6) NULL COMMENT '协议号', + `MASK_SRC_IP` varchar(64) NULL COMMENT '源IP地址掩码', + `MASK_SRC_PORT` varchar(6) NULL COMMENT '源端口掩码', + `MASK_DST_IP` varchar(64) NULL COMMENT '目的IP地址掩码', + `MASK_DST_PORT` varchar(6) NULL COMMENT '目的端口掩码', + `MASK_PROTOCOL` varchar(6) NULL COMMENT '协议掩码', + `COMMAND_UUID` varchar(36) NULL COMMENT '告警信息生产指令的uuid', + `CREATE_TIME` datetime NULL COMMENT '告警信息创建时间', + `LAST_UPDATE` datetime NULL COMMENT '告警信息上次修改时间', + `ALERT_MESSAGE_ID` varchar(36) NULL, + `IS_DELETE` tinyint(4) NULL DEFAULT "0", + `CONTENT` varchar(65533) NULL +) ENGINE=OLAP +UNIQUE KEY(`TASK_ID`, `DYNAMIC_RULE_ID`, `ADDR_TYPE`, `SRC_IP`, `SRC_PORT`, `DST_IP`, `DST_PORT`, `PROTOCOL`, `MASK_SRC_IP`, `MASK_SRC_PORT`, `MASK_DST_IP`, `MASK_DST_PORT`, `MASK_PROTOCOL`) +COMMENT 'OLAP' +DISTRIBUTED BY HASH(`TASK_ID`, `DYNAMIC_RULE_ID`, `ADDR_TYPE`, `SRC_IP`, `SRC_PORT`, `DST_IP`, `DST_PORT`, `PROTOCOL`, `MASK_SRC_IP`, `MASK_SRC_PORT`, `MASK_DST_IP`, `MASK_DST_PORT`, `MASK_PROTOCOL`) BUCKETS 32 +PROPERTIES ( +"replication_allocation" = "tag.location.default: 3", +"in_memory" = "false", +"storage_format" = "V2", +"disable_auto_compaction" = "false" +);; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `t_command` +-- + +DROP TABLE IF EXISTS `t_command`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_command` ( + `TASK_ID` bigint(20) NULL COMMENT '关联任务ID', + `ADDR_TYPE` tinyint(4) NULL DEFAULT "4" COMMENT 'IP地址类型', + `SRC_IP` varchar(64) NULL COMMENT '源IP地址', + `SRC_PORT` varchar(6) NULL COMMENT '源端口', + `DST_IP` varchar(64) NULL COMMENT '目的IP地址', + `DST_PORT` varchar(64) NULL COMMENT '目的端口', + `PROTOCOL` smallint(6) NULL COMMENT '协议号', + `MASK_SRC_IP` varchar(64) NULL COMMENT '源IP地址掩码', + `MASK_SRC_PORT` varchar(6) NULL COMMENT '源端口掩码', + `MASK_DST_IP` varchar(64) NULL COMMENT '目的IP地址掩码', + `MASK_DST_PORT` varchar(6) NULL COMMENT '目的端口掩码', + `MASK_PROTOCOL` varchar(6) NULL COMMENT '协议掩码', + `COMMAND_ID` varchar(36) NOT NULL COMMENT '指令UUID', + `TASK_ACT` varchar(32) NULL COMMENT '阻断', + `FREQUENCY` int(11) NOT NULL COMMENT '指令下发频率(分钟)', + `VALID_TIME` datetime NOT NULL COMMENT '指令生效时间', + `INVALID_TIME` datetime NOT NULL COMMENT '指令失效时间', + `IS_VALID` boolean NOT NULL DEFAULT "FALSE" COMMENT '指令是否生效', + `IS_JUDGED` boolean NULL DEFAULT "TRUE" COMMENT '该指令是否研判', + `SEND_TIMES` int(11) NOT NULL DEFAULT "0" COMMENT '指令下发次数', + `SUCCESS_TIMES` int(11) NOT NULL DEFAULT "0" COMMENT '指令成功下发次数', + `FIRST_SEND_TIME` datetime NULL COMMENT '指令首次下发时间', + `LAST_SEND_TIME` datetime NULL COMMENT '指令最新下发时间', + `CREATE_TIME` datetime NOT NULL COMMENT '指令创建时间', + `LAST_UPDATE` datetime NOT NULL COMMENT '指令上次修改时间', + `IS_DELETED` boolean NOT NULL DEFAULT "FALSE" COMMENT '指令是否已被逻辑删除' +) ENGINE=OLAP +UNIQUE KEY(`TASK_ID`, `ADDR_TYPE`, `SRC_IP`, `SRC_PORT`, `DST_IP`, `DST_PORT`, `PROTOCOL`, `MASK_SRC_IP`, `MASK_SRC_PORT`, `MASK_DST_IP`, `MASK_DST_PORT`, `MASK_PROTOCOL`) +COMMENT '下发指令信息表' +DISTRIBUTED BY HASH(`TASK_ID`, `ADDR_TYPE`, `SRC_IP`, `SRC_PORT`, `DST_IP`, `DST_PORT`, `PROTOCOL`, `MASK_SRC_IP`, `MASK_SRC_PORT`, `MASK_DST_IP`, `MASK_DST_PORT`, `MASK_PROTOCOL`) BUCKETS 32 +PROPERTIES ( +"replication_allocation" = "tag.location.default: 3", +"in_memory" = "false", +"storage_format" = "V2", +"disable_auto_compaction" = "false" +);; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2024-01-23 22:42:53 diff --git a/sql/mysql-2024-3-09.sql b/sql/mysql-2024-3-09.sql new file mode 100644 index 0000000..05161ec --- /dev/null +++ b/sql/mysql-2024-3-09.sql @@ -0,0 +1,351 @@ +-- MySQL dump 10.13 Distrib 8.0.35, for Linux (x86_64) +-- +-- Host: 192.168.107.89 Database: realtime_protection +-- ------------------------------------------------------ +-- Server version 8.0.35-0ubuntu0.22.04.1 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `realtime_protection` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `realtime_protection` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; + +USE `realtime_protection`; + +-- +-- Table structure for table `chanct_log_usual` +-- + +DROP TABLE IF EXISTS `chanct_log_usual`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `chanct_log_usual` ( + `id` bigint NOT NULL COMMENT '编号', + `service_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '服务ID', + `server_host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '服务器名', + `server_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '服务器IP地址', + `env` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '系统环境', + `log_level` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '日志级别', + `log_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '日志业务id', + `log_data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '日志数据', + `method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '操作方式', + `request_uri` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '请求URI', + `remote_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '操作IP地址', + `method_class` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '方法类', + `method_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '方法名', + `user_agent` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '用户代理', + `params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '操作提交的数据', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `tenant_id` bigint DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='通用审计表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `t_command_statistics` +-- + +DROP TABLE IF EXISTS `t_command_statistics`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_command_statistics` ( + `command_id` bigint unsigned NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`command_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='处置指令统计表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `t_dynamic_rule` +-- + +DROP TABLE IF EXISTS `t_dynamic_rule`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_dynamic_rule` ( + `dynamic_rule_id` bigint unsigned NOT NULL AUTO_INCREMENT, + `dynamic_rule_used_task_id` bigint unsigned DEFAULT NULL COMMENT '动态规则使用的任务ID', + `dynamic_rule_name` varchar(32) NOT NULL COMMENT 'VARCHAR(32)', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modify_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `dynamic_rule_create_username` varchar(32) DEFAULT NULL COMMENT '规则创建人名称', + `dynamic_rule_create_depart` varchar(32) DEFAULT NULL COMMENT '创建人处室', + `dynamic_rule_protect_level` tinyint DEFAULT NULL COMMENT '防护等级', + `dynamic_rule_priority` tinyint NOT NULL COMMENT '优先级', + `dynamic_rule_range` varchar(32) NOT NULL COMMENT '局点选择', + `dynamic_rule_frequency` tinyint NOT NULL COMMENT '下发频率', + `dynamic_rule_create_user_id` int DEFAULT NULL, + `template_id` bigint unsigned NOT NULL COMMENT '策略模板ID', + `log_rule_id` bigint unsigned DEFAULT NULL COMMENT '日志规则ID', + PRIMARY KEY (`dynamic_rule_id`), + KEY `t_dynamic_rule_t_task_task_id_fk` (`dynamic_rule_used_task_id`), + CONSTRAINT `t_dynamic_rule_t_task_task_id_fk` FOREIGN KEY (`dynamic_rule_used_task_id`) REFERENCES `t_task` (`task_id`) ON DELETE SET NULL +) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='动态规则信息表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `t_protect_level` +-- + +DROP TABLE IF EXISTS `t_protect_level`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_protect_level` ( + `protect_level_id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '防护等级ID', + `has_protect_object_ip` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否包含防护对象IP', + `has_protect_object_port` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否包含防护对象端口', + `has_protocol` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否包含协议', + `has_url` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否包含URL', + `has_peer_ip` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否包含对端IP', + `has_peer_port` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否包含对端端口', + `has_dns` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否包含DNS字段', + PRIMARY KEY (`protect_level_id`) +) ENGINE=InnoDB AUTO_INCREMENT=9746 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='防护等级表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `t_protect_object` +-- + +DROP TABLE IF EXISTS `t_protect_object`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_protect_object` ( + `protect_object_id` bigint unsigned NOT NULL AUTO_INCREMENT, + `protect_object_name` varchar(32) NOT NULL COMMENT '防护对象名称', + `protect_object_system_name` varchar(32) DEFAULT NULL COMMENT '防护对象系统名称', + `protect_object_ip` int unsigned DEFAULT NULL COMMENT '防护对象IP', + `protect_object_port` smallint unsigned NOT NULL COMMENT '防护对象业务端口', + `protect_object_url` varchar(255) DEFAULT NULL COMMENT '防护对象URL', + `protect_object_protocol` varchar(32) NOT NULL COMMENT '防护对象使用协议', + `protect_object_audit_status` tinyint NOT NULL DEFAULT '0' COMMENT '防护对象审核状态', + `protect_object_create_username` varchar(32) DEFAULT NULL COMMENT '防护对象创建人', + `protect_object_create_depart` varchar(32) DEFAULT NULL COMMENT '防护对象创建人处室', + `protect_object_create_user_id` int DEFAULT NULL COMMENT '防护对象创建人ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`protect_object_id`) +) ENGINE=InnoDB AUTO_INCREMENT=23557 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='防护对象信息表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `t_protect_object_dynamic_rule_conn` +-- + +DROP TABLE IF EXISTS `t_protect_object_dynamic_rule_conn`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_protect_object_dynamic_rule_conn` ( + `conn_id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '关联ID', + `protect_object_id` bigint unsigned NOT NULL COMMENT '防护对象ID', + `dynamic_rule_id` bigint unsigned NOT NULL COMMENT '动态规则ID', + PRIMARY KEY (`conn_id`), + KEY `t_protect_object_dynamic_rule_id_fk` (`dynamic_rule_id`), + KEY `t_protect_object_id_fk` (`protect_object_id`), + CONSTRAINT `t_protect_object_dynamic_rule_id_fk` FOREIGN KEY (`dynamic_rule_id`) REFERENCES `t_dynamic_rule` (`dynamic_rule_id`) ON DELETE CASCADE, + CONSTRAINT `t_protect_object_id_fk` FOREIGN KEY (`protect_object_id`) REFERENCES `t_protect_object` (`protect_object_id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='防护对象-动态规则关联表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `t_static_rule` +-- + +DROP TABLE IF EXISTS `t_static_rule`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_static_rule` ( + `static_rule_id` bigint unsigned NOT NULL AUTO_INCREMENT, + `static_rule_name` varchar(32) NOT NULL COMMENT '静态规则名称', + `static_rule_create_time` datetime NOT NULL COMMENT '静态规则创建时间', + `static_rule_create_username` varchar(32) DEFAULT NULL COMMENT '创建人名称', + `static_rule_audit_status` tinyint DEFAULT NULL COMMENT '静态规则审核状态,分为未审核(0)、退回(1)、已审核(2)', + `static_rule_create_depart` varchar(32) DEFAULT NULL COMMENT '规则创建人处室', + `static_rule_create_user_id` bigint unsigned DEFAULT NULL COMMENT '规则创建人ID', + `static_rule_used_task_id` bigint unsigned DEFAULT NULL COMMENT '使用该静态规则的任务主键id', + `static_rule_sip` int unsigned DEFAULT NULL COMMENT '源ip', + `static_rule_msip` int unsigned DEFAULT NULL COMMENT '源ip掩码', + `static_rule_sport` smallint unsigned DEFAULT NULL COMMENT '源端口', + `static_rule_msport` smallint unsigned DEFAULT NULL COMMENT '源端口掩码', + `static_rule_dip` int unsigned DEFAULT NULL COMMENT '目的ip', + `static_rule_mdip` int unsigned DEFAULT NULL COMMENT '目的ip掩码', + `static_rule_dport` smallint unsigned DEFAULT NULL COMMENT '目的端口', + `static_rule_mdport` smallint unsigned DEFAULT NULL COMMENT '目的端口掩码', + `static_rule_protocol` varchar(32) DEFAULT NULL COMMENT '协议v', + `static_rule_mprotocol` varchar(32) DEFAULT NULL COMMENT '协议掩码', + `static_rule_dns` varchar(255) DEFAULT NULL COMMENT 'dns地址', + `static_rule_url` varchar(255) DEFAULT NULL COMMENT 'url', + `static_rule_priority` tinyint NOT NULL COMMENT '优先级,1代表高、2代表中、3代表低', + `static_rule_range` varchar(255) NOT NULL COMMENT '局点选择', + `static_rule_frequency` tinyint NOT NULL COMMENT '下发频率', + `static_rule_modify_time` datetime DEFAULT NULL COMMENT '静态规则修改时间', + PRIMARY KEY (`static_rule_id`), + KEY `t_static_rule_t_task_task_id_fk` (`static_rule_used_task_id`), + CONSTRAINT `t_static_rule_t_task_task_id_fk` FOREIGN KEY (`static_rule_used_task_id`) REFERENCES `t_task` (`task_id`) ON DELETE SET NULL +) ENGINE=InnoDB AUTO_INCREMENT=1132 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='静态关键信息库表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `t_strategy_template` +-- + +DROP TABLE IF EXISTS `t_strategy_template`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_strategy_template` ( + `strategy_template_id` bigint unsigned NOT NULL AUTO_INCREMENT, + `strategy_template_name` varchar(64) NOT NULL COMMENT '策略模板名称', + `strategy_template_create_username` varchar(32) DEFAULT NULL COMMENT '策略模板创建人名称', + `strategy_template_create_depart` varchar(32) DEFAULT NULL COMMENT '策略模板创建人处室', + `strategy_template_create_user_id` int DEFAULT NULL COMMENT '策略模板创建人ID', + `strategy_template_low_level_id` int unsigned DEFAULT NULL COMMENT '策略模板日常态等级ID', + `strategy_template_medium_level_id` int unsigned DEFAULT NULL COMMENT '策略模板应急态等级ID', + `strategy_template_high_level_id` int unsigned DEFAULT NULL COMMENT '策略模板紧急态等级ID', + `strategy_template_source_system` varchar(32) NOT NULL COMMENT '默认数据来源系统', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`strategy_template_id`), + UNIQUE KEY `t_strategy_template_pk` (`strategy_template_name`,`strategy_template_source_system`), + KEY `t_strategy_template_t_protect_level_protect_level_id_fk` (`strategy_template_low_level_id`), + KEY `t_strategy_template_t_protect_level_protect_level_id_fk_2` (`strategy_template_medium_level_id`), + KEY `t_strategy_template_t_protect_level_protect_level_id_fk_3` (`strategy_template_high_level_id`), + CONSTRAINT `t_strategy_template_t_protect_level_protect_level_id_fk` FOREIGN KEY (`strategy_template_low_level_id`) REFERENCES `t_protect_level` (`protect_level_id`) ON DELETE SET NULL, + CONSTRAINT `t_strategy_template_t_protect_level_protect_level_id_fk_2` FOREIGN KEY (`strategy_template_medium_level_id`) REFERENCES `t_protect_level` (`protect_level_id`) ON DELETE SET NULL, + CONSTRAINT `t_strategy_template_t_protect_level_protect_level_id_fk_3` FOREIGN KEY (`strategy_template_high_level_id`) REFERENCES `t_protect_level` (`protect_level_id`) ON DELETE SET NULL +) ENGINE=InnoDB AUTO_INCREMENT=3252 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='策略模板信息表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `t_task` +-- + +DROP TABLE IF EXISTS `t_task`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_task` ( + `task_id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `task_name` varchar(32) NOT NULL COMMENT '任务名称', + `task_start_time` datetime NOT NULL COMMENT '任务开始时间', + `task_end_time` datetime NOT NULL COMMENT '任务结束时间', + `task_create_time` datetime NOT NULL COMMENT '任务创建时间', + `task_modify_time` datetime NOT NULL COMMENT '任务信息修改时间', + `task_type` tinyint unsigned NOT NULL COMMENT '任务类型', + `task_act` varchar(32) NOT NULL COMMENT '任务行为', + `task_create_username` varchar(32) DEFAULT NULL COMMENT '任务创建人名称', + `task_create_depart` varchar(32) DEFAULT NULL COMMENT '任务创建人处室', + `task_create_userid` bigint unsigned DEFAULT NULL COMMENT '任务创建人ID', + `task_status` tinyint NOT NULL DEFAULT '0' COMMENT '任务状态', + `task_audit_status` tinyint NOT NULL DEFAULT '0' COMMENT '任务审核状态', + PRIMARY KEY (`task_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10933 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='任务信息表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `t_white_list` +-- + +DROP TABLE IF EXISTS `t_white_list`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `t_white_list` ( + `white_list_id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '白名单对象ID', + `white_list_name` varchar(32) NOT NULL COMMENT '白名单对象名称', + `white_list_system_name` varchar(32) DEFAULT NULL COMMENT '白名单对象系统名称', + `white_list_ip` int unsigned DEFAULT NULL COMMENT '白名单对象IP', + `white_list_url` varchar(255) DEFAULT NULL COMMENT '白名单对象域名', + `white_list_port` smallint unsigned DEFAULT NULL COMMENT '白名单对象端口', + `white_list_audit_status` tinyint NOT NULL COMMENT '白名单对象审核状态', + `white_list_protocol` varchar(32) DEFAULT NULL COMMENT '白名单对象使用协议', + `create_time` datetime DEFAULT NULL, + `modify_time` datetime DEFAULT NULL, + PRIMARY KEY (`white_list_id`) +) ENGINE=InnoDB AUTO_INCREMENT=7056 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='白名单信息表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary view structure for view `template_view` +-- + +DROP TABLE IF EXISTS `template_view`; +/*!50001 DROP VIEW IF EXISTS `template_view`*/; +SET @saved_cs_client = @@character_set_client; +/*!50503 SET character_set_client = utf8mb4 */; +/*!50001 CREATE VIEW `template_view` AS SELECT + 1 AS `strategy_template_id`, + 1 AS `strategy_template_name`, + 1 AS `strategy_template_low_level_id`, + 1 AS `strategy_template_medium_level_id`, + 1 AS `strategy_template_high_level_id`, + 1 AS `strategy_template_used_times`, + 1 AS `strategy_template_running_tasks`, + 1 AS `low_protect_level_id`, + 1 AS `low_has_protect_object_ip`, + 1 AS `low_has_protect_object_port`, + 1 AS `low_has_peer_ip`, + 1 AS `low_has_peer_port`, + 1 AS `low_has_protocol`, + 1 AS `low_has_url`, + 1 AS `low_has_dns`, + 1 AS `medium_protect_level_id`, + 1 AS `medium_has_protect_object_ip`, + 1 AS `medium_has_protect_object_port`, + 1 AS `medium_has_peer_ip`, + 1 AS `medium_has_peer_port`, + 1 AS `medium_has_protocol`, + 1 AS `medium_has_url`, + 1 AS `medium_has_dns`, + 1 AS `high_protect_level_id`, + 1 AS `high_has_protect_object_ip`, + 1 AS `high_has_protect_object_port`, + 1 AS `high_has_peer_ip`, + 1 AS `high_has_peer_port`, + 1 AS `high_has_protocol`, + 1 AS `high_has_url`, + 1 AS `high_has_dns`*/; +SET character_set_client = @saved_cs_client; + +-- +-- Current Database: `realtime_protection` +-- + +USE `realtime_protection`; + +-- +-- Final view structure for view `template_view` +-- + +/*!50001 DROP VIEW IF EXISTS `template_view`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_0900_ai_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `template_view` AS select `tst`.`strategy_template_id` AS `strategy_template_id`,`tst`.`strategy_template_name` AS `strategy_template_name`,`tst`.`strategy_template_low_level_id` AS `strategy_template_low_level_id`,`tst`.`strategy_template_medium_level_id` AS `strategy_template_medium_level_id`,`tst`.`strategy_template_high_level_id` AS `strategy_template_high_level_id`,count(distinct `tdr`.`dynamic_rule_id`) AS `strategy_template_used_times`,count(distinct `tt`.`task_id`) AS `strategy_template_running_tasks`,`low_tpl`.`protect_level_id` AS `low_protect_level_id`,`low_tpl`.`has_protect_object_ip` AS `low_has_protect_object_ip`,`low_tpl`.`has_protect_object_port` AS `low_has_protect_object_port`,`low_tpl`.`has_peer_ip` AS `low_has_peer_ip`,`low_tpl`.`has_peer_port` AS `low_has_peer_port`,`low_tpl`.`has_protocol` AS `low_has_protocol`,`low_tpl`.`has_url` AS `low_has_url`,`low_tpl`.`has_dns` AS `low_has_dns`,`medium_tpl`.`protect_level_id` AS `medium_protect_level_id`,`medium_tpl`.`has_protect_object_ip` AS `medium_has_protect_object_ip`,`medium_tpl`.`has_protect_object_port` AS `medium_has_protect_object_port`,`medium_tpl`.`has_peer_ip` AS `medium_has_peer_ip`,`medium_tpl`.`has_peer_port` AS `medium_has_peer_port`,`medium_tpl`.`has_protocol` AS `medium_has_protocol`,`medium_tpl`.`has_url` AS `medium_has_url`,`medium_tpl`.`has_dns` AS `medium_has_dns`,`high_tpl`.`protect_level_id` AS `high_protect_level_id`,`high_tpl`.`has_protect_object_ip` AS `high_has_protect_object_ip`,`high_tpl`.`has_protect_object_port` AS `high_has_protect_object_port`,`high_tpl`.`has_peer_ip` AS `high_has_peer_ip`,`high_tpl`.`has_peer_port` AS `high_has_peer_port`,`high_tpl`.`has_protocol` AS `high_has_protocol`,`high_tpl`.`has_url` AS `high_has_url`,`high_tpl`.`has_dns` AS `high_has_dns` from (((((`t_strategy_template` `tst` left join `t_protect_level` `low_tpl` on((`low_tpl`.`protect_level_id` = `tst`.`strategy_template_low_level_id`))) left join `t_protect_level` `medium_tpl` on((`medium_tpl`.`protect_level_id` = `tst`.`strategy_template_medium_level_id`))) left join `t_protect_level` `high_tpl` on((`high_tpl`.`protect_level_id` = `tst`.`strategy_template_high_level_id`))) left join `t_dynamic_rule` `tdr` on((`tdr`.`template_id` = `tst`.`strategy_template_id`))) left join `t_task` `tt` on((`tt`.`task_id` = `tdr`.`dynamic_rule_used_task_id`))) group by `tst`.`strategy_template_id` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2024-01-23 22:51:22 diff --git a/src/main/java/com/realtime/protection/server/alertmessage/AlertMessageService.java b/src/main/java/com/realtime/protection/server/alertmessage/AlertMessageService.java index ddf1a4e..c905322 100644 --- a/src/main/java/com/realtime/protection/server/alertmessage/AlertMessageService.java +++ b/src/main/java/com/realtime/protection/server/alertmessage/AlertMessageService.java @@ -11,9 +11,9 @@ import com.realtime.protection.server.command.CommandService; import org.springframework.stereotype.Service; import java.util.List; +import java.util.UUID; - - +// AlertMessage的UUID在mapper插入数据库时生成了,这里提前生成好像美神恶魔用 @Service public class AlertMessageService { private final CommandService commandService; @@ -27,39 +27,41 @@ public class AlertMessageService { } @DSTransactional - public void processAlertMessage(AlertMessage alertMessage) { + public String processAlertMessage(AlertMessage alertMessage) { TaskCommandInfo dynamicTaskCommandInfo = generateDynamicCommand(alertMessage); Integer taskStatus = dynamicTaskCommandInfo.getTaskStatus(); Integer taskType = dynamicTaskCommandInfo.getTaskType(); + String alertMessageUUID = null; if (taskType == TaskTypeEnum.DYNAMIC.getTaskType())//实时 switch (StateEnum.getStateEnumByNum(taskStatus)) { case RUNNING: - insertCommandAndAlertMessage(dynamicTaskCommandInfo, true, true, alertMessage); + alertMessageUUID = insertCommandAndAlertMessage(dynamicTaskCommandInfo, true, true, alertMessage); break; case PAUSED: - insertCommandAndAlertMessage(dynamicTaskCommandInfo, false, true, alertMessage); + alertMessageUUID = insertCommandAndAlertMessage(dynamicTaskCommandInfo, false, true, alertMessage); break; default://主要是stop //command不入库 //alertmessage入库 - insertAlertMessageOnly(alertMessage); + alertMessageUUID = insertAlertMessageOnly(alertMessage); break; } else if (taskType == TaskTypeEnum.JUDGED.getTaskType())//研判后 switch (StateEnum.getStateEnumByNum(taskStatus)) { case RUNNING: - insertCommandAndAlertMessage(dynamicTaskCommandInfo, true, false, alertMessage); + alertMessageUUID = insertCommandAndAlertMessage(dynamicTaskCommandInfo, true, false, alertMessage); break; case PAUSED: - insertCommandAndAlertMessage(dynamicTaskCommandInfo, false, false, alertMessage); + alertMessageUUID = insertCommandAndAlertMessage(dynamicTaskCommandInfo, false, false, alertMessage); break; default://主要是stop //command不入库 //alertmessage入库 - insertAlertMessageOnly(alertMessage); + alertMessageUUID = insertAlertMessageOnly(alertMessage); } + return alertMessageUUID; } @@ -87,7 +89,7 @@ public class AlertMessageService { } @DSTransactional - private void insertCommandAndAlertMessage(TaskCommandInfo dynamicTaskCommandInfo, + private String insertCommandAndAlertMessage(TaskCommandInfo dynamicTaskCommandInfo, Boolean isValid, Boolean isJudged, AlertMessage alertMessage){ @@ -98,12 +100,21 @@ public class AlertMessageService { //alertmessage入库 alertMessage.setCommandUUID(commandUUID); + String alertMessageUUID = UUID.randomUUID().toString(); + alertMessage.setAlertMessageUUID(alertMessageUUID); alertMessageMapper.insertAlertMessage(alertMessage); + + return alertMessageUUID; } - private void insertAlertMessageOnly(AlertMessage alertMessage){ + private String insertAlertMessageOnly(AlertMessage alertMessage){ //alertmessage入库 alertMessage.setCommandUUID(null); + String alertMessageUUID = UUID.randomUUID().toString(); + alertMessage.setAlertMessageUUID(alertMessageUUID); alertMessageMapper.insertAlertMessage(alertMessage); + + return alertMessageUUID; + } diff --git a/src/main/java/com/realtime/protection/server/task/status/StateHandler.java b/src/main/java/com/realtime/protection/server/task/status/StateHandler.java index 18c4853..3d52af6 100644 --- a/src/main/java/com/realtime/protection/server/task/status/StateHandler.java +++ b/src/main/java/com/realtime/protection/server/task/status/StateHandler.java @@ -75,11 +75,14 @@ public class StateHandler { // todo: 如果是实时任务或者研判后处置任务,那么就需要在任务启动之后,立刻向动态规则中指定的系统发送日志筛选请求。 // 筛选完成后,系统返回日志,需要由接收端点提取字段,并且合成一条静态规则,再按照任务开始时间、结束时间和任务类型进行指令创建 private Boolean handleJudgedTaskStart(TaskService taskService, Long taskId) { - return sendFilters(taskService, taskId); +// return sendFilters(taskService, taskId); +// 还没配置帅选条件发送的url,不配置会出错,所以先注释 + return true; } private Boolean handleDynamicTaskStart(TaskService taskService, Long taskId) { - return sendFilters(taskService, taskId); +// return sendFilters(taskService, taskId); + return true; } private Boolean handleStaticTaskStart(CommandService commandService, TaskService taskService, Long taskId) { diff --git a/src/main/resources/nginx/configs/project_template.conf b/src/main/resources/nginx/configs/project_template.conf index 9b10583..93a3326 100644 --- a/src/main/resources/nginx/configs/project_template.conf +++ b/src/main/resources/nginx/configs/project_template.conf @@ -11,7 +11,7 @@ server { location / { root /root/nginx/defense; index index.html; - try_files $uri $uri/ @router; + #try_files $uri $uri/ @router; } location @router { diff --git a/src/test/java/com/realtime/protection/server/alertmessage/AlertMessageTest.java b/src/test/java/com/realtime/protection/server/alertmessage/AlertMessageTest.java index fb3978b..a05d90c 100644 --- a/src/test/java/com/realtime/protection/server/alertmessage/AlertMessageTest.java +++ b/src/test/java/com/realtime/protection/server/alertmessage/AlertMessageTest.java @@ -6,10 +6,12 @@ import com.realtime.protection.configuration.entity.defense.template.Template; import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject; import com.realtime.protection.configuration.entity.task.FiveTupleWithMask; import com.realtime.protection.configuration.entity.task.Task; +import com.realtime.protection.configuration.exception.DorisStartException; import com.realtime.protection.server.defense.object.ProtectObjectService; import com.realtime.protection.server.defense.template.TemplateService; import com.realtime.protection.server.rule.dynamicrule.DynamicRuleService; import com.realtime.protection.server.task.TaskService; +import com.realtime.protection.server.task.status.StateChangeService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -25,19 +27,22 @@ public class AlertMessageTest { private final TemplateService templateService; private final DynamicRuleService dynamicRuleService; private final TaskService taskService; + private final StateChangeService stateChangeService; @Autowired public AlertMessageTest(AlertMessageService alertMessageService ,ProtectObjectService protectObjectService,TemplateService templateService, - DynamicRuleService dynamicRuleService,TaskService taskService) { + DynamicRuleService dynamicRuleService,TaskService taskService, + StateChangeService stateChangeService) { this.alertMessageService = alertMessageService; this.protectObjectService = protectObjectService; this.templateService = templateService; this.dynamicRuleService = dynamicRuleService; this.taskService = taskService; + this.stateChangeService = stateChangeService; } @Test - void testReceiveAlertMessage() { + void testReceiveAlertMessage() throws DorisStartException { List protectObject = protectObjectService.queryProtectObjects( null, null, null, null, @@ -58,7 +63,7 @@ public class AlertMessageTest { Task task = new Task(); - task.setTaskName("dong态测试2"); + task.setTaskName("生产告警信息测试"); LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1); LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5); task.setTaskStartTime(taskStartTime); @@ -69,18 +74,29 @@ public class AlertMessageTest { task.setTaskCreateUsername("xxx"); task.setTaskCreateDepart("xxx"); task.setDynamicRuleIds(List.of(new Integer[]{dynamicRuleId})); - Long taskId = taskService.newTask(task); + //审核状态 + taskService.changeTaskAuditStatus(taskId, 2); + //启动任务 + stateChangeService.changeState(2, taskId, false); + + for (int i = 0 ; i< 10; i++) { + AlertMessage alert = new AlertMessage(); + FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask(); + fiveTupleWithMask.setSourceIP("1.1.1." + i); + fiveTupleWithMask.setDestinationIP("2.2.2." + i); + fiveTupleWithMask.setSourcePort("80"); + fiveTupleWithMask.setDestinationPort("80"); + fiveTupleWithMask.setProtocol("tcp"); + + alert.setDynamicRuleId(dynamicRuleId); + alert.setTaskId(taskId); + alert.setFiveTupleWithMask(fiveTupleWithMask); + alert.setContent("testcontent"); + alertMessageService.processAlertMessage(alert); + } - AlertMessage alert = new AlertMessage(); - FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask(); - fiveTupleWithMask.setSourceIP("1.1.1.1"); - alert.setDynamicRuleId(dynamicRuleId); - alert.setTaskId(taskId); - alert.setFiveTupleWithMask(fiveTupleWithMask); - alert.setContent("testcontent"); - alertMessageService.processAlertMessage(alert); } diff --git a/src/test/java/com/realtime/protection/server/rule/dynamic/DynamicRuleServiceTest.java b/src/test/java/com/realtime/protection/server/rule/dynamic/DynamicRuleServiceTest.java index 7df282e..7b9138c 100644 --- a/src/test/java/com/realtime/protection/server/rule/dynamic/DynamicRuleServiceTest.java +++ b/src/test/java/com/realtime/protection/server/rule/dynamic/DynamicRuleServiceTest.java @@ -127,7 +127,13 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests { @Test void testQueryDynamicRuleObject() { List objects = dynamicRuleService.queryDynamicRuleObject( - null,null,"1", null,1, 10); + null,null,null, null,1, 10); System.out.println(objects); } + @Test + void testQueryDynamicRuleTotalNum(){ + Integer num = dynamicRuleService.queryDynamicRuleTotalNum( + null,null,null,null); + System.out.println(num); + } }