Merge remote-tracking branch 'origin/master'

This commit is contained in:
EnderByEndera
2024-01-17 19:22:56 +08:00
10 changed files with 108 additions and 21 deletions

View File

@@ -0,0 +1,15 @@
package com.realtime.protection.configuration.entity.rule.dynamicrule;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.realtime.protection.configuration.entity.task.FiveTupleWithMask;
import lombok.Data;
@Data
public class AlertMessage {
@JsonProperty("task_id")
private Long taskId;
@JsonProperty("five_tuple_with_mask")
private FiveTupleWithMask fiveTupleWithMask;
}

View File

@@ -128,7 +128,9 @@ public class StaticRuleObject {
@JsonProperty("static_rule_priority") @JsonProperty("static_rule_priority")
@ExcelProperty("优先级") @ExcelProperty("优先级")
@Schema(description = "优先级", example = "1", requiredMode = Schema.RequiredMode.REQUIRED) @Max(value = 3)
@Min(value = 1)
@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("范围")
@@ -136,7 +138,8 @@ public class StaticRuleObject {
private String staticRuleRange; private String staticRuleRange;
@JsonProperty("static_rule_frequency") @JsonProperty("static_rule_frequency")
@ExcelProperty("频率") @ExcelProperty("频率")
@Schema(description = "频率", example = "1", requiredMode = Schema.RequiredMode.REQUIRED) @Min(value = 1)
@Schema(description = "频率最低为1", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer staticRuleFrequency; private Integer staticRuleFrequency;
} }

View File

@@ -0,0 +1,28 @@
package com.realtime.protection.server.alertmessage;
import com.realtime.protection.configuration.entity.rule.dynamicrule.AlertMessage;
import com.realtime.protection.configuration.response.ResponseResult;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("alertmessage")
@Slf4j
public class AlertMessageController
{
private final AlertMessageService alertMessageService;
public AlertMessageController(final AlertMessageService alertMessageService) {
this.alertMessageService = alertMessageService;
}
@PostMapping("/new")
public ResponseResult receiveAlertMessage(@RequestBody @Valid AlertMessage alertMessage){
alertMessageService.receiveAlertMessage(alertMessage);
return ResponseResult.ok();
}
}

View File

@@ -0,0 +1,38 @@
package com.realtime.protection.server.alertmessage;
import com.realtime.protection.configuration.entity.rule.dynamicrule.AlertMessage;
import com.realtime.protection.configuration.entity.task.Task;
import com.realtime.protection.configuration.entity.task.TaskCommandInfo;
import com.realtime.protection.server.task.TaskService;
import org.springframework.stereotype.Service;
import com.realtime.protection.server.command.CommandService;
import com.realtime.protection.configuration.utils.enums.StateEnum;
@Service
public class AlertMessageService {
private final CommandService commandService;
private final TaskService taskService;
public AlertMessageService(CommandService commandService,TaskService taskService) {
this.commandService = commandService;
this.taskService = taskService;
}
public void receiveAlertMessage(AlertMessage alertMessage) {
Long taskId = alertMessage.getTaskId();
//查task信息
Task task = taskService.queryTask(taskId);
//检查task status是否为running
// if (task.getTaskStatus() != StateEnum.RUNNING.getStateNum()) {
// return;
// }
//task信息和alertMessage中的fiveTuple信息 合并成 TaskCommandInfo
TaskCommandInfo dynamicTaskCommandInfo = new TaskCommandInfo();
//command入库
//commandService.createCommand(staticTaskCommandInfo);
}
}

View File

@@ -15,7 +15,7 @@
dynamic_rule_priority, dynamic_rule_range, dynamic_rule_priority, dynamic_rule_range,
dynamic_rule_frequency, dynamic_rule_create_user_id) dynamic_rule_frequency, dynamic_rule_create_user_id)
values (#{object.dynamicRuleName}, values (#{object.dynamicRuleName},
#{object.dynamicRuleCreateTime}, #{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.dynamicRuleRange},
@@ -40,7 +40,7 @@
values values
<foreach collection="dynamicRuleObjects" item="object" separator=","> <foreach collection="dynamicRuleObjects" item="object" separator=",">
(#{object.dynamicRuleName}, (#{object.dynamicRuleName},
#{object.dynamicRuleCreateTime},#{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.dynamicRuleRange},
@@ -96,7 +96,8 @@
</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.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()
where where
dynamic_rule_id = #{dynamicRuleId} dynamic_rule_id = #{dynamicRuleId}
</update> </update>

View File

@@ -35,7 +35,7 @@
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}, #{object.staticRuleCreateTime}, #{object.staticRuleCreateUsername}, (#{object.staticRuleName}, NOW(), #{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},
@@ -74,6 +74,7 @@
<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>
static_rule_modify_time = NOW()
</set> </set>
where static_rule_id = #{id} where static_rule_id = #{id}

View File

@@ -8,24 +8,24 @@
insert into t_white_list(white_list_name, white_list_system_name, insert into t_white_list(white_list_name, white_list_system_name,
white_list_ip, white_list_port, white_list_ip, white_list_port,
white_list_url, white_list_protocol, white_list_url, white_list_protocol,
white_list_audit_status) white_list_audit_status, create_time)
values (#{object.whiteListName}, #{object.whiteListSystemName}, values (#{object.whiteListName}, #{object.whiteListSystemName},
INET_ATON(#{object.whiteListIP}), #{object.whiteListPort}, INET_ATON(#{object.whiteListIP}), #{object.whiteListPort},
#{object.whiteListUrl}, #{object.whiteListProtocol}, #{object.whiteListUrl}, #{object.whiteListProtocol},
0) 0, NOW())
</insert> </insert>
<insert id="newWhiteListObjects"> <insert id="newWhiteListObjects">
insert into t_white_list(white_list_name, white_list_system_name, insert into t_white_list(white_list_name, white_list_system_name,
white_list_ip, white_list_port, white_list_ip, white_list_port,
white_list_url, white_list_protocol, white_list_url, white_list_protocol,
white_list_audit_status) white_list_audit_status, create_time)
values values
<foreach collection="whiteListObjects" item="object" separator=","> <foreach collection="whiteListObjects" item="object" separator=",">
(#{object.whiteListName}, #{object.whiteListSystemName}, (#{object.whiteListName}, #{object.whiteListSystemName},
INET_ATON(#{object.whiteListIP}), #{object.whiteListPort}, INET_ATON(#{object.whiteListIP}), #{object.whiteListPort},
#{object.whiteListUrl}, #{object.whiteListProtocol}, #{object.whiteListUrl}, #{object.whiteListProtocol},
0) 0, NOW())
</foreach> </foreach>
</insert> </insert>
@@ -92,6 +92,7 @@
<if test="object.whiteListAuditStatus != null"> <if test="object.whiteListAuditStatus != null">
white_list_audit_status = #{object.whiteListAuditStatus}, white_list_audit_status = #{object.whiteListAuditStatus},
</if> </if>
modify_time = NOW()
</set> </set>
where white_list_id = #{id} where white_list_id = #{id}
</update> </update>

View File

@@ -28,11 +28,11 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
object.setDynamicRuleRange("北京"); object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(2); object.setDynamicRuleProtectLevel(2);
object.setTemplateId(1); object.setTemplateId(1);
//object.setProtectObjectIds(List.of(new Integer[]{5521, 5520})); object.setProtectObjectIds(List.of(new Integer[]{5521, 5520}));
Integer objectId = dynamicRuleService.newDynamicRuleObject(object); // Integer objectId = dynamicRuleService.newDynamicRuleObject(object);
assertTrue(objectId > 0); // assertTrue(objectId > 0);
} }
@Test @Test
@@ -42,8 +42,8 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
@Test @Test
void testQueryDynamicRule() { void testQueryDynamicRule() {
DynamicRuleObject object = dynamicRuleService.queryDynamicRuleById(9); // DynamicRuleObject object = dynamicRuleService.queryDynamicRuleById(9);
System.out.println(object); // System.out.println(object);
} }
@Test @Test
@@ -55,9 +55,9 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
object.setDynamicRuleRange("北京"); object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(2); object.setDynamicRuleProtectLevel(2);
object.setTemplateId(1); object.setTemplateId(1);
object.setProtectObjectIds(List.of(new Integer[]{5521, 5520})); object.setProtectObjectIds(List.of(new Integer[]{6061}));
dynamicRuleService.updateDynamicRuleObject(2, object); dynamicRuleService.updateDynamicRuleObject(5, object);
} }
@Test @Test

View File

@@ -44,7 +44,7 @@ public class StaticRuleServiceTest extends ProtectionApplicationTests {
@Test @Test
void testNewStaticRule(){ void testNewStaticRule(){
Integer i = 0; Integer i = 0;
while(i<20) { while(i<2) {
i++; i++;
StaticRuleObject object = new StaticRuleObject(); StaticRuleObject object = new StaticRuleObject();
@@ -67,7 +67,7 @@ public class StaticRuleServiceTest extends ProtectionApplicationTests {
@Test @Test
void testNewStaticRules(){ void testNewStaticRules(){
List<StaticRuleObject> staticRuleObjects = new ArrayList<>(); List<StaticRuleObject> staticRuleObjects = new ArrayList<>();
for (int i = 0; i < 100; i++) { for (int i = 0; i < 2; i++) {
staticRuleObjects.add(staticRuleTest); staticRuleObjects.add(staticRuleTest);
} }
Boolean success = staticRuleService.newStaticRuleObjects(staticRuleObjects); Boolean success = staticRuleService.newStaticRuleObjects(staticRuleObjects);

View File

@@ -48,7 +48,7 @@ class WhiteListServiceTest extends ProtectionApplicationTests {
@Test @Test
void newProtectObjects() { void newProtectObjects() {
List<WhiteListObject> whiteListObjects = new ArrayList<>(); List<WhiteListObject> whiteListObjects = new ArrayList<>();
for (int i = 0; i < 1000; i++) { for (int i = 0; i < 2; i++) {
whiteListObjects.add(whiteListObject); whiteListObjects.add(whiteListObject);
} }
Boolean success = whiteListService.newWhiteListObjects(whiteListObjects); Boolean success = whiteListService.newWhiteListObjects(whiteListObjects);
@@ -73,7 +73,7 @@ class WhiteListServiceTest extends ProtectionApplicationTests {
@Test @Test
void testUpdateWhiteListAuditStatus() { void testUpdateWhiteListAuditStatus() {
whiteListService.updateWhiteListObjectAuditStatus(7, 1); //whiteListService.updateWhiteListObjectAuditStatus(7, 1);
} }
@Test @Test