1、静态、动态规则删去局点,任务添加局点

2、修改fakec3的测试ip地址

(cherry picked from commit 540795b5f6)
This commit is contained in:
PushM
2024-04-29 17:32:13 +08:00
parent 335c9690ed
commit 093ed45c66
17 changed files with 211 additions and 71 deletions

View File

@@ -86,9 +86,9 @@ public class DynamicRuleObject {
@Schema(description = "优先级", example = "1", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "优先级", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer dynamicRulePriority; private Integer dynamicRulePriority;
@NotNull @NotNull
@JsonProperty("dynamic_rule_range") // @JsonProperty("dynamic_rule_range")
@Schema(description = "范围", example = "北京", requiredMode = Schema.RequiredMode.REQUIRED) // @Schema(description = "范围", example = "北京", requiredMode = Schema.RequiredMode.REQUIRED)
private String dynamicRuleRange; // private String dynamicRuleRange;
@NotNull @NotNull
@JsonProperty("dynamic_rule_frequency") @JsonProperty("dynamic_rule_frequency")
@Schema(description = "频率", example = "1", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "频率", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)

View File

@@ -135,10 +135,10 @@ public class StaticRuleObject {
@Min(value = 1) @Min(value = 1)
@Schema(description = "优先级,1代表高2代表中3代表低", example = "1", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "优先级,1代表高2代表中3代表低", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer staticRulePriority; private Integer staticRulePriority;
@JsonProperty("static_rule_range") // @JsonProperty("static_rule_range")
@ExcelProperty("范围") // @ExcelProperty("范围")
@Schema(description = "范围", example = "北京", requiredMode = Schema.RequiredMode.REQUIRED) // @Schema(description = "范围", example = "北京", requiredMode = Schema.RequiredMode.REQUIRED)
private String staticRuleRange; // private String staticRuleRange;
@JsonProperty("static_rule_frequency") @JsonProperty("static_rule_frequency")
@ExcelProperty("频率") @ExcelProperty("频率")
@Min(value = 1) @Min(value = 1)

View File

@@ -78,4 +78,9 @@ public class Task {
@JsonProperty("task_audit_status") @JsonProperty("task_audit_status")
@Schema(description = "任务审核状态0为未审核1为已退回2为已通过", accessMode = Schema.AccessMode.READ_ONLY) @Schema(description = "任务审核状态0为未审核1为已退回2为已通过", accessMode = Schema.AccessMode.READ_ONLY)
private Integer taskAuditStatus; private Integer taskAuditStatus;
@JsonProperty("task_range")
@NotNull(message = "task_range字段不能为空。")
@Schema(description = "局点范围,由规则移动到任务", example = "1009")
private String taskRange;
} }

View File

@@ -109,8 +109,8 @@ public class DynamicRuleService {
Template template = dynamicRuleMapper.queryTemplateByRuleId(dynamicRuleId); Template template = dynamicRuleMapper.queryTemplateByRuleId(dynamicRuleId);
if (template == null){ if (template == null){
//template在表中删除了需要重新设置template感觉这种情况不多见 //template在表中删除了需要重新设置template感觉这种情况不多见
dynamicRuleObject.setDynamicRuleSourceSystem("need reset"); dynamicRuleObject.setDynamicRuleSourceSystem(null);
dynamicRuleObject.setDynamicRuleEventType("need reset"); dynamicRuleObject.setDynamicRuleEventType(null);
}else{ }else{
dynamicRuleObject.setDynamicRuleSourceSystem(template.getSourceSystem()); dynamicRuleObject.setDynamicRuleSourceSystem(template.getSourceSystem());
dynamicRuleObject.setDynamicRuleEventType(template.getTemplateName()); dynamicRuleObject.setDynamicRuleEventType(template.getTemplateName());

View File

@@ -2,6 +2,7 @@ package com.realtime.protection.server.rule.staticrule;
import com.alibaba.excel.util.ListUtils; import com.alibaba.excel.util.ListUtils;
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject; import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
import com.realtime.protection.configuration.utils.Counter;
import com.realtime.protection.configuration.entity.whitelist.WhiteListObject; import com.realtime.protection.configuration.entity.whitelist.WhiteListObject;
import com.realtime.protection.configuration.utils.SqlSessionWrapper; import com.realtime.protection.configuration.utils.SqlSessionWrapper;
import com.realtime.protection.configuration.utils.enums.RuleEnum; import com.realtime.protection.configuration.utils.enums.RuleEnum;
@@ -16,6 +17,11 @@ import java.net.InetAddress;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
@@ -70,6 +76,9 @@ public class StaticRuleService {
if (!RuleEnum.checkValidate(object)) { if (!RuleEnum.checkValidate(object)) {
throw new IllegalArgumentException("静态规则不符合指定的配置方法,请参考规则模板以配置静态规则"); throw new IllegalArgumentException("静态规则不符合指定的配置方法,请参考规则模板以配置静态规则");
} }
/*
新建静态规则,过一下白名单审核
*/
List<StaticRuleObject> staticRuleObjects = new ArrayList<>(); List<StaticRuleObject> staticRuleObjects = new ArrayList<>();
staticRuleObjects.add(object); staticRuleObjects.add(object);
List<WhiteListObject> whiteListsHit = whiteListService.whiteListStaticRulesObjectCheck(staticRuleObjects); List<WhiteListObject> whiteListsHit = whiteListService.whiteListStaticRulesObjectCheck(staticRuleObjects);

View File

@@ -20,7 +20,7 @@ import java.util.concurrent.atomic.AtomicReference;
public class StateHandler { public class StateHandler {
private final WebClient client = WebClient.builder() private final WebClient client = WebClient.builder()
.baseUrl("http://192.168.107.89:9081") .baseUrl("http://192.168.107.49:8088")
.build(); .build();
protected Boolean handleStart(TaskService taskService, CommandService commandService, Long taskId) { protected Boolean handleStart(TaskService taskService, CommandService commandService, Long taskId) {

View File

@@ -36,7 +36,7 @@ spring:
default-property-inclusion: non_null default-property-inclusion: non_null
kafka: kafka:
# kafka集群信息多个用逗号间隔 # kafka集群信息多个用逗号间隔
bootstrap-servers: localhost:9092 bootstrap-servers: 192.168.107.49:9092
consumer: consumer:
topic-name: topic-test topic-name: topic-test
# 消费者组 # 消费者组

View File

@@ -1,3 +1,3 @@
spring: spring:
profiles: profiles:
active: test active: kafkatest

View File

@@ -21,7 +21,7 @@
<result column="template_id" property="templateId"/> <result column="template_id" property="templateId"/>
<result column="dynamic_rule_range" property="distributePoint"/> <result column="task_range" property="distributePoint"/>
<result column="strategy_template_name" property="eventType"/> <result column="strategy_template_name" property="eventType"/>
<result column="dynamic_rule_protect_level" property="protectLevel"/> <result column="dynamic_rule_protect_level" property="protectLevel"/>
@@ -153,7 +153,7 @@
t_task.task_end_time, t_task.task_end_time,
t_dr.template_id, t_dr.template_id,
t_dr.dynamic_rule_range, t_task.task_range,
t_dr.dynamic_rule_protect_level, t_dr.dynamic_rule_protect_level,
t_task.task_status, t_task.task_status,

View File

@@ -12,15 +12,15 @@
(dynamic_rule_name, (dynamic_rule_name,
create_time, modify_time, dynamic_rule_create_username, create_time, modify_time, dynamic_rule_create_username,
dynamic_rule_create_depart, template_id, dynamic_rule_protect_level, dynamic_rule_create_depart, template_id, dynamic_rule_protect_level,
dynamic_rule_priority, dynamic_rule_range, dynamic_rule_priority,
dynamic_rule_frequency, dynamic_rule_create_user_id, log_rule_id) dynamic_rule_frequency, dynamic_rule_create_user_id, log_rule_id)
values (#{object.dynamicRuleName}, values (#{object.dynamicRuleName},
NOW(), #{object.dynamicRuleModifyTime}, NOW(), #{object.dynamicRuleModifyTime},
#{object.dynamicRuleCreateUsername}, #{object.dynamicRuleCreateDepart}, #{object.dynamicRuleCreateUsername}, #{object.dynamicRuleCreateDepart},
#{object.templateId}, #{object.dynamicRuleProtectLevel}, #{object.templateId}, #{object.dynamicRuleProtectLevel},
#{object.dynamicRulePriority}, #{object.dynamicRuleRange}, #{object.dynamicRulePriority},
#{object.dynamicRuleFrequency}, #{object.dynamicRuleFrequency},
#{object.dynamicRuleCreateUserId},#{object.logRuleId}) #{object.dynamicRuleCreateUserId}, #{object.logRuleId})
</insert> </insert>
@@ -34,8 +34,8 @@
(dynamic_rule_name, (dynamic_rule_name,
create_time, modify_time, dynamic_rule_create_username, create_time, modify_time, dynamic_rule_create_username,
dynamic_rule_create_depart, template_id, dynamic_rule_protect_level, dynamic_rule_create_depart, template_id, dynamic_rule_protect_level,
dynamic_rule_priority, dynamic_rule_range, dynamic_rule_priority,
dynamic_rule_frequency, dynamic_rule_create_user_id,log_rule_id dynamic_rule_frequency, dynamic_rule_create_user_id, log_rule_id
) )
values values
<foreach collection="dynamicRuleObjects" item="object" separator=","> <foreach collection="dynamicRuleObjects" item="object" separator=",">
@@ -43,9 +43,9 @@
NOW(),#{object.dynamicRuleModifyTime}, NOW(),#{object.dynamicRuleModifyTime},
#{object.dynamicRuleCreateUsername},#{object.dynamicRuleCreateDepart}, #{object.dynamicRuleCreateUsername},#{object.dynamicRuleCreateDepart},
#{object.templateId}, #{object.dynamicRuleProtectLevel}, #{object.templateId}, #{object.dynamicRuleProtectLevel},
#{object.dynamicRulePriority}, #{object.dynamicRuleRange}, #{object.dynamicRulePriority},
#{object.dynamicRuleFrequency}, #{object.dynamicRuleFrequency},
#{object.dynamicRuleCreateUserId},#{object.logRuleId}) #{object.dynamicRuleCreateUserId}, #{object.logRuleId})
</foreach> </foreach>
</insert> </insert>
<insert id="newDynamicRulProtectObjectsConcat"> <insert id="newDynamicRulProtectObjectsConcat">
@@ -95,7 +95,6 @@
#{object.dynamicRuleProtectLevel}, #{object.dynamicRuleProtectLevel},
</if> </if>
<if test="object.dynamicRulePriority != null">dynamic_rule_priority = #{object.dynamicRulePriority},</if> <if test="object.dynamicRulePriority != null">dynamic_rule_priority = #{object.dynamicRulePriority},</if>
<if test="object.dynamicRuleRange != null">dynamic_rule_range = #{object.dynamicRuleRange},</if>
<if test="object.dynamicRuleFrequency != null">dynamic_rule_frequency = #{object.dynamicRuleFrequency},</if> <if test="object.dynamicRuleFrequency != null">dynamic_rule_frequency = #{object.dynamicRuleFrequency},</if>
modify_time = NOW() modify_time = NOW()
where where
@@ -134,7 +133,6 @@
<result column="template_id" property="templateId"/> <result column="template_id" property="templateId"/>
<result column="dynamic_rule_protec_level" property="dynamicRuleProtectLevel"/> <result column="dynamic_rule_protec_level" property="dynamicRuleProtectLevel"/>
<result column="dynamic_rule_priority" property="dynamicRulePriority"/> <result column="dynamic_rule_priority" property="dynamicRulePriority"/>
<result column="dynamic_rule_range" property="dynamicRuleRange"/>
<result column="dynamic_rule_frequency" property="dynamicRuleFrequency"/> <result column="dynamic_rule_frequency" property="dynamicRuleFrequency"/>
<result column="dynamic_rule_create_user_id" property="dynamicRuleCreateUserId"/> <result column="dynamic_rule_create_user_id" property="dynamicRuleCreateUserId"/>
</resultMap> </resultMap>
@@ -148,7 +146,6 @@
<result column="template_id" property="templateId"/> <result column="template_id" property="templateId"/>
<result column="dynamic_rule_protect_level" property="dynamicRuleProtectLevel"/> <result column="dynamic_rule_protect_level" property="dynamicRuleProtectLevel"/>
<result column="dynamic_rule_priority" property="dynamicRulePriority"/> <result column="dynamic_rule_priority" property="dynamicRulePriority"/>
<result column="dynamic_rule_range" property="dynamicRuleRange"/>
<result column="dynamic_rule_frequency" property="dynamicRuleFrequency"/> <result column="dynamic_rule_frequency" property="dynamicRuleFrequency"/>
<result column="audit_status" property="auditStatus"/> <result column="audit_status" property="auditStatus"/>
<!-- <result column="protect_object_id" property="protectObjectIds"/>--> <!-- <result column="protect_object_id" property="protectObjectIds"/>-->

View File

@@ -6,22 +6,22 @@
<insert id="newStaticRuleObject" useGeneratedKeys="true" keyProperty="staticRuleId" <insert id="newStaticRuleObject" useGeneratedKeys="true" keyProperty="staticRuleId"
parameterType="com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject"> parameterType="com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject">
insert into t_static_rule(static_rule_name, static_rule_create_time, insert into t_static_rule(static_rule_name, static_rule_create_time,
static_rule_create_username, static_rule_create_depart, static_rule_create_username, static_rule_create_depart,
static_rule_create_user_id, static_rule_sip, static_rule_msip, static_rule_create_user_id, static_rule_sip, static_rule_msip,
static_rule_sport, static_rule_msport, static_rule_sport, static_rule_msport,
static_rule_dip, static_rule_mdip, static_rule_dport, static_rule_mdport, static_rule_dip, static_rule_mdip, static_rule_dport, static_rule_mdport,
static_rule_protocol, static_rule_mprotocol, static_rule_dns, static_rule_protocol, static_rule_mprotocol, static_rule_dns,
static_rule_url, static_rule_priority, static_rule_range, static_rule_url, static_rule_priority,
static_rule_frequency, static_rule_audit_status) static_rule_frequency, static_rule_audit_status
)
values (#{object.staticRuleName}, #{object.staticRuleCreateTime}, #{object.staticRuleCreateUsername}, values (#{object.staticRuleName}, #{object.staticRuleCreateTime}, #{object.staticRuleCreateUsername},
#{object.staticRuleCreateDepart}, #{object.staticRuleCreateUserId}, INET_ATON(#{object.staticRuleSip}), #{object.staticRuleCreateDepart}, #{object.staticRuleCreateUserId}, INET_ATON(#{object.staticRuleSip}),
INET_ATON(#{object.staticRuleMsip}), #{object.staticRuleSport}, #{object.staticRuleMsport}, INET_ATON(#{object.staticRuleMsip}), #{object.staticRuleSport}, #{object.staticRuleMsport},
INET_ATON(#{object.staticRuleDip}), INET_ATON(#{object.staticRuleMdip}), #{object.staticRuleDport}, INET_ATON(#{object.staticRuleDip}), INET_ATON(#{object.staticRuleMdip}), #{object.staticRuleDport},
#{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol}, #{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol},
#{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority}, #{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority},
#{object.staticRuleRange}, #{object.staticRuleFrequency}, #{object.staticRuleFrequency},
#{object.auditStatus}) #{object.auditStatus})
</insert> </insert>
<insert id="newStaticRules"> <insert id="newStaticRules">
@@ -31,8 +31,9 @@
static_rule_sport, static_rule_msport, static_rule_sport, static_rule_msport,
static_rule_dip, static_rule_mdip, static_rule_dport, static_rule_mdport, static_rule_dip, static_rule_mdip, static_rule_dport, static_rule_mdport,
static_rule_protocol, static_rule_mprotocol, static_rule_dns, static_rule_protocol, static_rule_mprotocol, static_rule_dns,
static_rule_url, static_rule_priority, static_rule_range, static_rule_url, static_rule_priority,
static_rule_frequency, static_rule_audit_status) static_rule_frequency, static_rule_audit_status
)
values values
<foreach collection="staticRuleBatch" item="object" separator=","> <foreach collection="staticRuleBatch" item="object" separator=",">
(#{object.staticRuleName}, NOW(), #{object.staticRuleCreateUsername}, (#{object.staticRuleName}, NOW(), #{object.staticRuleCreateUsername},
@@ -41,8 +42,8 @@
INET_ATON(#{object.staticRuleDip}), INET_ATON(#{object.staticRuleMdip}), #{object.staticRuleDport}, INET_ATON(#{object.staticRuleDip}), INET_ATON(#{object.staticRuleMdip}), #{object.staticRuleDport},
#{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol}, #{object.staticRuleMdport}, #{object.staticRuleProtocol}, #{object.staticRuleMprotocol},
#{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority}, #{object.staticRuleDns}, #{object.staticRuleURL}, #{object.staticRulePriority},
#{object.staticRuleRange}, #{object.staticRuleFrequency}, #{object.staticRuleFrequency}, 0
0) )
</foreach> </foreach>
</insert> </insert>
@@ -68,9 +69,7 @@
<if test="object.staticRulePriority != null and object.staticRulePriority != ''"> <if test="object.staticRulePriority != null and object.staticRulePriority != ''">
static_rule_priority = #{object.staticRulePriority}, static_rule_priority = #{object.staticRulePriority},
</if> </if>
<if test="object.staticRuleRange != null and object.staticRuleRange != ''">
static_rule_range = #{object.staticRuleRange},
</if>
<if test="object.staticRuleFrequency != null and object.staticRuleFrequency != ''"> <if test="object.staticRuleFrequency != null and object.staticRuleFrequency != ''">
static_rule_frequency = #{object.staticRuleFrequency}, static_rule_frequency = #{object.staticRuleFrequency},
</if> </if>
@@ -132,7 +131,6 @@
<result column="static_rule_dns" property="staticRuleDns"/> <result column="static_rule_dns" property="staticRuleDns"/>
<result column="static_rule_url" property="staticRuleURL"/> <result column="static_rule_url" property="staticRuleURL"/>
<result column="static_rule_priority" property="staticRulePriority"/> <result column="static_rule_priority" property="staticRulePriority"/>
<result column="static_rule_range" property="staticRuleRange"/>
<result column="static_rule_frequency" property="staticRuleFrequency"/> <result column="static_rule_frequency" property="staticRuleFrequency"/>
</resultMap> </resultMap>

View File

@@ -8,11 +8,14 @@
INSERT INTO t_task(task_name, task_start_time, task_end_time, INSERT INTO t_task(task_name, task_start_time, task_end_time,
task_act, task_type, task_act, task_type,
task_create_time, task_modify_time, task_create_time, task_modify_time,
task_create_userid, task_create_username, task_create_depart) task_create_userid, task_create_username, task_create_depart,task_range
)
VALUE (#{task.taskName}, #{task.taskStartTime}, #{task.taskEndTime}, VALUE (#{task.taskName}, #{task.taskStartTime}, #{task.taskEndTime},
#{task.taskAct}, #{task.taskType}, #{task.taskAct}, #{task.taskType},
NOW(), NOW(), NOW(), NOW(),
#{task.taskCreateUserId}, #{task.taskCreateUsername}, #{task.taskCreateDepart}) #{task.taskCreateUserId}, #{task.taskCreateUsername}, #{task.taskCreateDepart},#{task.taskRange})
}
)
</insert> </insert>
<update id="newTaskStaticRuleConcat"> <update id="newTaskStaticRuleConcat">
@@ -44,6 +47,7 @@
<result column="task_name" property="taskName"/> <result column="task_name" property="taskName"/>
<result column="task_type" property="taskType"/> <result column="task_type" property="taskType"/>
<result column="task_act" property="taskAct"/> <result column="task_act" property="taskAct"/>
<result column="task_range" property="taskRange"/>
<result column="task_status" property="taskStatus"/> <result column="task_status" property="taskStatus"/>
<result column="task_audit_status" property="taskAuditStatus"/> <result column="task_audit_status" property="taskAuditStatus"/>
@@ -136,6 +140,7 @@
<if test="task.taskAct != null">task_act = #{task.taskAct},</if> <if test="task.taskAct != null">task_act = #{task.taskAct},</if>
<if test="task.taskStartTime != null">task_start_time = #{task.taskStartTime},</if> <if test="task.taskStartTime != null">task_start_time = #{task.taskStartTime},</if>
<if test="task.taskEndTime != null">task_end_time = #{task.taskEndTime},</if> <if test="task.taskEndTime != null">task_end_time = #{task.taskEndTime},</if>
<if test="task.taskRange != null">task_range = #{task.taskRange},</if>
task_modify_time = NOW(), task_modify_time = NOW(),
</set> </set>
WHERE task_id = #{task.taskId} WHERE task_id = #{task.taskId}
@@ -202,7 +207,7 @@
<result column="task_act" property="taskAct"/> <result column="task_act" property="taskAct"/>
<result column="task_create_depart" property="taskCreateDepart"/> <result column="task_create_depart" property="taskCreateDepart"/>
<result column="static_rule_range" property="distributePoint"/> <result column="task_range" property="distributePoint"/>
<result column="task_type" property="taskType"/> <result column="task_type" property="taskType"/>
<result column="static_rule_frequency" property="frequency"/> <result column="static_rule_frequency" property="frequency"/>
<result column="task_start_time" property="startTime"/> <result column="task_start_time" property="startTime"/>
@@ -226,11 +231,12 @@
<insert id="newTaskUsingCommandInfo" useGeneratedKeys="true" keyProperty="taskId" <insert id="newTaskUsingCommandInfo" useGeneratedKeys="true" keyProperty="taskId"
parameterType="com.realtime.protection.configuration.entity.task.TaskCommandInfo"> parameterType="com.realtime.protection.configuration.entity.task.TaskCommandInfo">
INSERT INTO t_task(task_name, task_start_time, task_end_time, task_create_time, task_modify_time, task_type, INSERT INTO t_task(task_name, task_start_time, task_end_time, task_create_time, task_modify_time, task_type,
task_act, task_create_username, task_create_depart, task_create_userid) task_act, task_create_username, task_create_depart, task_create_userid, task_range)
VALUE VALUE
( (
#{info.taskName}, #{info.startTime}, #{info.endTime}, NOW(), NOW(), #{info.taskType}, #{info.taskName}, #{info.startTime}, #{info.endTime}, NOW(), NOW(), #{info.taskType},
#{info.taskAct}, #{info.taskCreateUsername}, #{info.taskCreateDepart}, #{info.taskCreateUserId} #{info.taskAct}, #{info.taskCreateUsername}, #{info.taskCreateDepart}, #{info.taskCreateUserId},
#{info.distributePoint}}
); );
</insert> </insert>
@@ -247,7 +253,7 @@
t_task.task_type, t_task.task_type,
t_task.task_act, t_task.task_act,
t_task.task_create_depart, t_task.task_create_depart,
tsr.static_rule_range, t_task.task_range,
tsr.static_rule_frequency, tsr.static_rule_frequency,
t_task.task_start_time, t_task.task_start_time,
@@ -325,6 +331,9 @@
<if test="audit_status != null"> <if test="audit_status != null">
AND task_audit_status = #{audit_status} AND task_audit_status = #{audit_status}
</if> </if>
<if test="task_create_time != null">
AND DATE(#{task_create_time}) = CURRENT_DATE
</if>
</where> </where>
</select> </select>

View File

@@ -55,12 +55,13 @@ public class AlertMessageTest {
object.setDynamicRuleName("UpdateDynamicRule2"); object.setDynamicRuleName("UpdateDynamicRule2");
object.setDynamicRuleFrequency(1); object.setDynamicRuleFrequency(1);
object.setDynamicRulePriority(1); object.setDynamicRulePriority(1);
object.setDynamicRuleRange("北京"); // object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(1); object.setDynamicRuleProtectLevel(1);
object.setLogRuleId(1L); object.setLogRuleId(1L);
object.setTemplateId(templates.get(0).getTemplateId()); object.setTemplateId(templates.get(0).getTemplateId());
object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()})); object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object); Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
dynamicRuleService.updateAuditStatus(object.getDynamicRuleId(), 2);
Task task = new Task(); Task task = new Task();
@@ -82,22 +83,22 @@ public class AlertMessageTest {
//启动任务 //启动任务
stateChangeService.changeState(2, taskId, false); stateChangeService.changeState(2, taskId, false);
for (int i = 0 ; i< 5; i++) { // for (int i = 0 ; i< 5; i++) {
AlertMessage alert = new AlertMessage(); // AlertMessage alert = new AlertMessage();
FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask(); // FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask();
fiveTupleWithMask.setSourceIP("111.1.1." + i); // fiveTupleWithMask.setSourceIP("111.1.1." + i);
fiveTupleWithMask.setDestinationIP("222.22.2." + i); // fiveTupleWithMask.setDestinationIP("222.22.2." + i);
fiveTupleWithMask.setSourcePort("111"); // fiveTupleWithMask.setSourcePort("111");
fiveTupleWithMask.setDestinationPort("222"); // fiveTupleWithMask.setDestinationPort("222");
fiveTupleWithMask.setProtocol("tcp"); // fiveTupleWithMask.setProtocol("tcp");
//
alert.setDynamicRuleId(dynamicRuleId); // alert.setDynamicRuleId(dynamicRuleId);
alert.setTaskId(taskId); // alert.setTaskId(taskId);
alert.setFiveTupleWithMask(fiveTupleWithMask); // alert.setFiveTupleWithMask(fiveTupleWithMask);
alert.setContent("testcontent"); // alert.setContent("testcontent");
alert.setProtectIsSrcOrDst(1); // alert.setProtectIsSrcOrDst(1);
alertMessageService.processAlertMessage(alert); // alertMessageService.processAlertMessage(alert);
} // }

View File

@@ -48,7 +48,7 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
object.setDynamicRuleName("UpdateDynamicRule2"); object.setDynamicRuleName("UpdateDynamicRule2");
object.setDynamicRuleFrequency(1); object.setDynamicRuleFrequency(1);
object.setDynamicRulePriority(1); object.setDynamicRulePriority(1);
object.setDynamicRuleRange("北京"); // object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(2); object.setDynamicRuleProtectLevel(2);
object.setTemplateId(templates.get(0).getTemplateId()); object.setTemplateId(templates.get(0).getTemplateId());
object.setLogRuleId(1L); object.setLogRuleId(1L);
@@ -77,7 +77,7 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
object.setDynamicRuleName("UpdateDynamicRule2"); object.setDynamicRuleName("UpdateDynamicRule2");
object.setDynamicRuleFrequency(1); object.setDynamicRuleFrequency(1);
object.setDynamicRulePriority(1); object.setDynamicRulePriority(1);
object.setDynamicRuleRange("北京"); // object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(2); object.setDynamicRuleProtectLevel(2);
object.setTemplateId(templates.get(0).getTemplateId()); object.setTemplateId(templates.get(0).getTemplateId());
object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()})); object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
@@ -117,7 +117,7 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
object.setDynamicRuleName("UpdateDynamicRule2"); object.setDynamicRuleName("UpdateDynamicRule2");
object.setDynamicRuleFrequency(1); object.setDynamicRuleFrequency(1);
object.setDynamicRulePriority(1); object.setDynamicRulePriority(1);
object.setDynamicRuleRange("北京"); // object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(2); object.setDynamicRuleProtectLevel(2);
object.setTemplateId(1); object.setTemplateId(1);
object.setProtectObjectIds(List.of(new Integer[]{6061})); object.setProtectObjectIds(List.of(new Integer[]{6061}));

View File

@@ -40,7 +40,7 @@ public class StaticRuleServiceTest extends ProtectionApplicationTests {
staticRuleTest.setStaticRulePriority(1); staticRuleTest.setStaticRulePriority(1);
staticRuleTest.setStaticRuleFrequency(1); staticRuleTest.setStaticRuleFrequency(1);
staticRuleTest.setStaticRuleRange("北京"); // staticRuleTest.setStaticRuleRange("北京");
} }
@@ -85,7 +85,7 @@ public class StaticRuleServiceTest extends ProtectionApplicationTests {
object.setStaticRuleDip("2.2.3.100"); object.setStaticRuleDip("2.2.3.100");
object.setStaticRulePriority(2); object.setStaticRulePriority(2);
object.setStaticRuleFrequency(1); object.setStaticRuleFrequency(1);
object.setStaticRuleRange("北京"); // object.setStaticRuleRange("北京");
// object.setStaticRuleProtectLevel(2); // object.setStaticRuleProtectLevel(2);
staticRuleService.updateStaticRule(5, object); staticRuleService.updateStaticRule(5, object);

View File

@@ -1,12 +1,17 @@
package com.realtime.protection.server.task; package com.realtime.protection.server.task;
import com.realtime.protection.ProtectionApplicationTests; import com.realtime.protection.ProtectionApplicationTests;
import com.realtime.protection.configuration.entity.defense.object.ProtectObject;
import com.realtime.protection.configuration.entity.defense.template.Template;
import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject; import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject;
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject; import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
import com.realtime.protection.configuration.entity.task.DynamicTaskInfo; import com.realtime.protection.configuration.entity.task.DynamicTaskInfo;
import com.realtime.protection.configuration.entity.task.Task; import com.realtime.protection.configuration.entity.task.Task;
import com.realtime.protection.configuration.entity.task.TaskCommandInfo; import com.realtime.protection.configuration.entity.task.TaskCommandInfo;
import com.realtime.protection.configuration.exception.DorisStartException; import com.realtime.protection.configuration.exception.DorisStartException;
import com.realtime.protection.server.command.CommandService;
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.rule.dynamicrule.DynamicRuleService;
import com.realtime.protection.server.rule.staticrule.StaticRuleService; import com.realtime.protection.server.rule.staticrule.StaticRuleService;
import com.realtime.protection.server.task.status.StateChangeService; import com.realtime.protection.server.task.status.StateChangeService;
@@ -30,14 +35,20 @@ class TaskServiceTest extends ProtectionApplicationTests {
private final StaticRuleService staticRuleService; private final StaticRuleService staticRuleService;
private final DynamicRuleService dynamicRuleService; private final DynamicRuleService dynamicRuleService;
private final StateChangeService stateChangeService; private final StateChangeService stateChangeService;
private final CommandService commandService;
private final ProtectObjectService protectObjectService;
private final TemplateService templateService;
private Task task; private Task task;
@Autowired @Autowired
TaskServiceTest(TaskService taskService, StaticRuleService staticRuleService, DynamicRuleService dynamicRuleService, StateChangeService stateChangeService) { TaskServiceTest(TaskService taskService, StaticRuleService staticRuleService, DynamicRuleService dynamicRuleService, StateChangeService stateChangeService, CommandService commandService, ProtectObjectService protectObjectService, TemplateService templateService) {
this.taskService = taskService; this.taskService = taskService;
this.staticRuleService = staticRuleService; this.staticRuleService = staticRuleService;
this.dynamicRuleService = dynamicRuleService; this.dynamicRuleService = dynamicRuleService;
this.stateChangeService = stateChangeService; this.stateChangeService = stateChangeService;
this.commandService = commandService;
this.protectObjectService = protectObjectService;
this.templateService = templateService;
} }
@BeforeEach @BeforeEach
@@ -204,4 +215,114 @@ class TaskServiceTest extends ProtectionApplicationTests {
stateChangeService.changeState(2, 43844L, false); stateChangeService.changeState(2, 43844L, false);
} }
@Test
void testStartStaticTask() throws DorisStartException {
StaticRuleObject staticRuleTest = new StaticRuleObject();
staticRuleTest.setStaticRuleName("mh-静态测试");
staticRuleTest.setStaticRuleCreateUsername("mh");
staticRuleTest.setStaticRuleCreateDepart("mmeess");
staticRuleTest.setStaticRuleCreateUserId(2);
staticRuleTest.setAuditStatus(0);
staticRuleTest.setStaticRuleSip("1.1.2.0");
// staticRuleTest.setStaticRuleMsip("255.255.255.0");
// staticRuleTest.setStaticRuleDip("1.1.1.2");
// staticRuleTest.setStaticRuleMdip("255.255.255.0");
// staticRuleTest.setStaticRuleSport(80);
staticRuleTest.setStaticRulePriority(1);
staticRuleTest.setStaticRuleFrequency(1);
// staticRuleTest.setStaticRuleRange("北京");
Integer staticRuleId = staticRuleService.newStaticRuleObject(staticRuleTest);
Task task = new Task();
task.setTaskName("mh-task测试3");
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
task.setTaskStartTime(taskStartTime);
task.setTaskEndTime(taskEndTime);
task.setTaskAct("阻断");
task.setTaskType(1);
task.setTaskRange("1009");
task.setTaskCreateUserId(1);
task.setTaskCreateUsername("xxx");
task.setTaskCreateDepart("xxx");
List<Integer> staticRuleIds = new ArrayList<>();
staticRuleIds.add(staticRuleId);
staticRuleService.updateAuditStatus(staticRuleId, 2);
task.setStaticRuleIds(staticRuleIds);
Long taskId = taskService.newTask(task);
//
taskService.changeTaskAuditStatus(taskId, 2);
stateChangeService.changeState(2, taskId, false);
System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
}
@Test
void testQueryCommandsByTaskId() {
List<TaskCommandInfo> taskCommandInfos = commandService.queryCommandInfos(43912L, null, null, null, null, 1, 5);
System.out.println(taskCommandInfos);
}
@Test
void testStartDynamicTask() throws DorisStartException {
List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
null, null, null, null,
null, null, null, null,
null, null, 1, 1);
List<Template> templates = templateService.queryTemplates(
null, null, null,1, 1);
DynamicRuleObject object = new DynamicRuleObject();
object.setDynamicRuleName("testStartDynamicTask");
object.setDynamicRuleFrequency(1);
object.setDynamicRulePriority(1);
// object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(1);
object.setLogRuleId(1L);
object.setTemplateId(templates.get(0).getTemplateId());
object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
dynamicRuleService.updateAuditStatus(object.getDynamicRuleId(), 2);
Task task = new Task();
task.setTaskName("生产告警信息测试2");
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
task.setTaskStartTime(taskStartTime);
task.setTaskEndTime(taskEndTime);
task.setTaskAct("阻断");
task.setTaskType(2);
task.setTaskRange("1009");
task.setTaskCreateUserId(1);
task.setTaskCreateUsername("xxx");
task.setTaskCreateDepart("xxx");
task.setDynamicRuleIds(List.of(new Integer[]{dynamicRuleId}));
Long taskId = taskService.newTask(task);
System.out.println(taskId);
//审核状态
taskService.changeTaskAuditStatus(taskId, 2);
//启动任务
stateChangeService.changeState(2, taskId, false);
System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
}
} }

View File

@@ -110,7 +110,7 @@ class WhiteListServiceTest extends ProtectionApplicationTests {
staticRuleTest.setStaticRulePriority(1); staticRuleTest.setStaticRulePriority(1);
staticRuleTest.setStaticRuleFrequency(1); staticRuleTest.setStaticRuleFrequency(1);
staticRuleTest.setStaticRuleRange("北京"); // staticRuleTest.setStaticRuleRange("北京");
Integer id = staticRuleService.newStaticRuleObject(staticRuleTest); Integer id = staticRuleService.newStaticRuleObject(staticRuleTest);
List<Integer> ruleIds = new ArrayList<>(List.of(id)); List<Integer> ruleIds = new ArrayList<>(List.of(id));