2024-01-21 00:51:10 +08:00
|
|
|
package com.realtime.protection.server.alertmessage;
|
|
|
|
|
|
2024-06-06 03:28:50 +08:00
|
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
2024-05-13 15:03:48 +08:00
|
|
|
import com.github.xiaoymin.knife4j.annotations.Ignore;
|
2024-01-29 23:41:13 +08:00
|
|
|
import com.realtime.protection.configuration.entity.alert.AlertMessage;
|
|
|
|
|
import com.realtime.protection.configuration.entity.defense.object.ProtectObject;
|
|
|
|
|
import com.realtime.protection.configuration.entity.defense.template.Template;
|
2024-05-22 10:10:32 +08:00
|
|
|
import com.realtime.protection.configuration.entity.defense.template.TemplateNew;
|
2024-01-29 23:41:13 +08:00
|
|
|
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;
|
2024-03-11 16:05:59 +08:00
|
|
|
import com.realtime.protection.configuration.exception.DorisStartException;
|
2024-01-29 23:41:13 +08:00
|
|
|
import com.realtime.protection.server.defense.object.ProtectObjectService;
|
2024-05-22 10:10:32 +08:00
|
|
|
import com.realtime.protection.server.defense.templatenew.TemplateService;
|
2024-01-29 23:41:13 +08:00
|
|
|
import com.realtime.protection.server.rule.dynamicrule.DynamicRuleService;
|
|
|
|
|
import com.realtime.protection.server.task.TaskService;
|
2024-03-11 16:05:59 +08:00
|
|
|
import com.realtime.protection.server.task.status.StateChangeService;
|
2024-01-21 00:51:10 +08:00
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
|
|
|
|
2024-01-29 23:41:13 +08:00
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
2024-01-21 00:51:10 +08:00
|
|
|
@SpringBootTest
|
|
|
|
|
public class AlertMessageTest {
|
|
|
|
|
|
|
|
|
|
private final AlertMessageService alertMessageService;
|
2024-01-29 23:41:13 +08:00
|
|
|
private final ProtectObjectService protectObjectService;
|
|
|
|
|
private final TemplateService templateService;
|
|
|
|
|
private final DynamicRuleService dynamicRuleService;
|
|
|
|
|
private final TaskService taskService;
|
2024-03-11 16:05:59 +08:00
|
|
|
private final StateChangeService stateChangeService;
|
2024-01-21 00:51:10 +08:00
|
|
|
@Autowired
|
2024-01-29 23:41:13 +08:00
|
|
|
public AlertMessageTest(AlertMessageService alertMessageService
|
|
|
|
|
,ProtectObjectService protectObjectService,TemplateService templateService,
|
2024-03-11 16:05:59 +08:00
|
|
|
DynamicRuleService dynamicRuleService,TaskService taskService,
|
|
|
|
|
StateChangeService stateChangeService) {
|
2024-01-21 00:51:10 +08:00
|
|
|
this.alertMessageService = alertMessageService;
|
2024-01-29 23:41:13 +08:00
|
|
|
this.protectObjectService = protectObjectService;
|
|
|
|
|
this.templateService = templateService;
|
|
|
|
|
this.dynamicRuleService = dynamicRuleService;
|
|
|
|
|
this.taskService = taskService;
|
2024-03-11 16:05:59 +08:00
|
|
|
this.stateChangeService = stateChangeService;
|
2024-01-21 00:51:10 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-13 15:03:48 +08:00
|
|
|
@Ignore
|
2024-01-21 00:51:10 +08:00
|
|
|
@Test
|
2024-06-06 03:28:50 +08:00
|
|
|
@DSTransactional
|
2024-03-11 16:05:59 +08:00
|
|
|
void testReceiveAlertMessage() throws DorisStartException {
|
2024-01-29 23:41:13 +08:00
|
|
|
|
2024-06-07 05:34:40 +08:00
|
|
|
for(int n = 10;n < 11;n++) {
|
2024-05-28 02:21:58 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
|
|
|
|
|
null, null, null, null,
|
|
|
|
|
null, null, null, null,
|
|
|
|
|
null, null, 1, 1);
|
|
|
|
|
List<TemplateNew> templates = templateService.queryTemplates(
|
2024-06-08 21:03:05 +08:00
|
|
|
null, null, null, null, null, null, null, 1, 1);
|
2024-05-28 02:21:58 +08:00
|
|
|
|
|
|
|
|
DynamicRuleObject object = new DynamicRuleObject();
|
2024-06-08 21:03:05 +08:00
|
|
|
object.setDynamicRuleName("内部-动态任务测试-"+LocalDateTime.now().toString());
|
|
|
|
|
object.setDescription("内部-动态任务测试");
|
|
|
|
|
object.setDynamicRuleSourceSystem("BW监测系统");
|
2024-05-28 02:21:58 +08:00
|
|
|
object.setBwSql("select * from test where event_id = 1");
|
|
|
|
|
object.setDynamicRuleCreateDepart("组织树");
|
|
|
|
|
object.setDynamicRuleCreateUserId(1100664);
|
|
|
|
|
object.setDynamicRuleCreateUsername("NSADD管理员");
|
|
|
|
|
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
|
|
|
|
|
dynamicRuleService.updateAuditStatus(object.getDynamicRuleId(), 2, "NSADD管理员", 1100664, "组织树");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Task task = new Task();
|
2024-06-08 21:03:05 +08:00
|
|
|
task.setTaskName("内部-动态任务测试"+LocalDateTime.now().toString());
|
2024-05-28 02:21:58 +08:00
|
|
|
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
|
|
|
|
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
|
|
|
|
|
task.setTaskStartTime(taskStartTime);
|
|
|
|
|
task.setTaskEndTime(taskEndTime);
|
|
|
|
|
task.setTaskAct("23");
|
|
|
|
|
task.setTaskType(2);
|
|
|
|
|
task.setTaskCreateUserId(1100664);
|
|
|
|
|
task.setTaskCreateUsername("NSADD管理员");
|
|
|
|
|
task.setTaskCreateDepart("组织树");
|
2024-06-07 05:34:40 +08:00
|
|
|
task.setTaskRange("1009");
|
2024-06-08 21:03:05 +08:00
|
|
|
|
|
|
|
|
|
2024-05-28 02:21:58 +08:00
|
|
|
task.setDynamicRuleIds(List.of(new Integer[]{dynamicRuleId}));
|
|
|
|
|
task.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
|
|
|
|
|
task.setTemplateId(templates.get(0).getTemplateId());
|
|
|
|
|
task.setSourceSystem(templates.get(0).getSourceSystem());
|
|
|
|
|
task.setEventType(templates.get(0).getEventType());
|
|
|
|
|
task.setProtectLevel(Integer.valueOf(templates.get(0).getProtectLevel()));
|
|
|
|
|
task.setTemplateName(templates.get(0).getTemplateName());
|
|
|
|
|
Long taskId = taskService.newTask(task);
|
|
|
|
|
System.out.println(taskId);
|
|
|
|
|
//审核状态
|
|
|
|
|
taskService.changeTaskAuditStatus(taskId, 2, "NSADD管理员", "1100664", "组织树");
|
|
|
|
|
//启动任务
|
|
|
|
|
stateChangeService.changeState(2, taskId, false);
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
|
|
|
AlertMessage alert = new AlertMessage();
|
|
|
|
|
FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask();
|
2024-06-07 05:34:40 +08:00
|
|
|
fiveTupleWithMask.setSourceIP(n+".5.1." + i);
|
|
|
|
|
fiveTupleWithMask.setDestinationIP(n+".24.2." + i);
|
2024-05-28 02:21:58 +08:00
|
|
|
fiveTupleWithMask.setSourcePort("111");
|
|
|
|
|
fiveTupleWithMask.setDestinationPort("80");
|
|
|
|
|
fiveTupleWithMask.setProtocol("6");
|
|
|
|
|
|
|
|
|
|
alert.setDynamicRuleId(dynamicRuleId);
|
|
|
|
|
alert.setTaskId(taskId);
|
|
|
|
|
alert.setFiveTupleWithMask(fiveTupleWithMask);
|
|
|
|
|
alert.setContent("testcontent");
|
|
|
|
|
alert.setProtectIsSrcOrDst(1);
|
|
|
|
|
alertMessageService.processAlertMessage(alert);
|
|
|
|
|
}
|
2024-01-29 23:41:13 +08:00
|
|
|
|
2024-05-28 02:21:58 +08:00
|
|
|
}
|
2024-01-25 01:25:42 +08:00
|
|
|
|
2024-01-21 00:51:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void queryAlertMessageByCommandId() {
|
|
|
|
|
|
|
|
|
|
// String commandId = "3e2fde7c-cd91-41f3-aedf-bd9993a61737";
|
|
|
|
|
//
|
|
|
|
|
// System.out.println(alertMessageService.queryAlarmsByCommandId(commandId));
|
|
|
|
|
}
|
|
|
|
|
}
|