1、规则删去策略模板、防护对象。增加sdl字段

2、任务增加策略模板、防护对象
3、相应地方修改
This commit is contained in:
PushM
2024-05-28 02:21:58 +08:00
parent df19bef4fa
commit 388201a97f
22 changed files with 428 additions and 359 deletions

View File

@@ -47,65 +47,73 @@ public class AlertMessageTest {
@Test
void testReceiveAlertMessage() throws DorisStartException {
List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
null, null, null, null,
null, null, null, null,
null, null, 1, 1);
List<TemplateNew> templates = templateService.queryTemplates(
null, null, null, null, null,null,null,1, 1);
DynamicRuleObject object = new DynamicRuleObject();
object.setDynamicRuleName("UpdateDynamicRule2");
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,null,null,null);
for(int n = 10;n < 20;n++) {
Task task = new Task();
task.setTaskName("生产告警信息测试");
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
task.setTaskStartTime(taskStartTime);
task.setTaskEndTime(taskEndTime);
task.setTaskAct("阻断");
task.setTaskType(2);
task.setTaskCreateUserId(1);
task.setTaskCreateUsername("xxx");
task.setTaskCreateDepart("xxx");
task.setTaskRange("北京");
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);
List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
null, null, null, null,
null, null, null, null,
null, null, 1, 1);
List<TemplateNew> templates = templateService.queryTemplates(
null, null, null, null, null, null, null, 1, 1);
for (int i = 0 ; i< 5; i++) {
AlertMessage alert = new AlertMessage();
FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask();
fiveTupleWithMask.setSourceIP("111.1.1." + i);
fiveTupleWithMask.setDestinationIP("222.22.2." + i);
fiveTupleWithMask.setSourcePort("111");
fiveTupleWithMask.setDestinationPort("222");
fiveTupleWithMask.setProtocol("tcp");
DynamicRuleObject object = new DynamicRuleObject();
object.setDynamicRuleName("测试动态任务规则"+n);
object.setDescription("动态规则新建测试");
object.setDynamicRuleSourceSystem("BW");
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();
task.setTaskName("生产告警信息测试"+n);
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("组织树");
task.setTaskRange("1007");
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();
fiveTupleWithMask.setSourceIP(n+".1.1." + i);
fiveTupleWithMask.setDestinationIP(n+".22.2." + i);
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);
}
alert.setDynamicRuleId(dynamicRuleId);
alert.setTaskId(taskId);
alert.setFiveTupleWithMask(fiveTupleWithMask);
alert.setContent("testcontent");
alert.setProtectIsSrcOrDst(1);
alertMessageService.processAlertMessage(alert);
}
}
@Test

View File

@@ -37,23 +37,23 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
@Test
void testNewDynamicRule() {
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, null, null,1, 1);
DynamicRuleObject object = new DynamicRuleObject();
object.setDynamicRuleName("UpdateDynamicRule2");
object.setDynamicRuleFrequency(1);
object.setDynamicRulePriority(1);
// object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(2);
object.setTemplateId(templates.get(0).getTemplateId());
object.setLogRuleId(1L);
object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
// 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, null, null,1, 1);
for (int i = 0;i<30; i++) {
DynamicRuleObject object = new DynamicRuleObject();
object.setDynamicRuleName("动态规则"+i);
object.setDescription("动态规则新建测试");
object.setDynamicRuleSourceSystem("BW");
object.setBwSql("select * from test where event_id = "+i);
object.setDynamicRuleCreateDepart("组织树");
object.setDynamicRuleCreateUserId(1100664);
object.setDynamicRuleCreateUsername("NSADD管理员");
dynamicRuleService.newDynamicRuleObject(object);
}
}
@Test
@@ -78,9 +78,9 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
object.setDynamicRuleFrequency(1);
object.setDynamicRulePriority(1);
// object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(2);
object.setTemplateId(templates.get(0).getTemplateId());
object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
// object.setDynamicRuleProtectLevel(2);
// object.setTemplateId(templates.get(0).getTemplateId());
// object.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
Integer dynamicRuleId = dynamicRuleService.newDynamicRuleObject(object);
dynamicRuleService.updateAuditStatus(dynamicRuleId, 2,null,null,null);
@@ -107,31 +107,34 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
@Test
void testQueryDynamicRule() {
// DynamicRuleObject object = dynamicRuleService.queryDynamicRuleById(9);
// System.out.println(object);
DynamicRuleObject object = dynamicRuleService.queryDynamicRuleById(166);
System.out.println(object);
}
@Test
void testUpdateDynamicRule() {
/*
DynamicRuleObject object = new DynamicRuleObject();
object.setDynamicRuleName("UpdateDynamicRule2");
object.setDynamicRuleFrequency(1);
object.setDynamicRulePriority(1);
// object.setDynamicRuleRange("北京");
object.setDynamicRuleProtectLevel(2);
object.setTemplateId(1);
object.setProtectObjectIds(List.of(new Integer[]{6061}));
// object.setDynamicRuleFrequency(1);
// object.setDynamicRulePriority(1);
//// object.setDynamicRuleRange("北京");
// object.setDynamicRuleProtectLevel(2);
// object.setTemplateId(1);
// object.setProtectObjectIds(List.of(new Integer[]{6061}));
dynamicRuleService.updateDynamicRuleObject(166, object);
dynamicRuleService.updateDynamicRuleObject(5, object);
*/
}
@Test
void testQueryDynamicRuleObject() {
List<DynamicRuleObject> objects = dynamicRuleService.queryDynamicRuleObject(
null,null,null, null,2,null,null,null,null,null,1, 10);
System.out.println(objects);
objects.forEach(object-> System.out.println(object));
Integer num = dynamicRuleService.queryDynamicRuleTotalNum(
null,null,null,null,null,null,null,null,null,null);
System.out.println(num);
}
@Test
void testQueryDynamicRuleTotalNum(){
@@ -144,11 +147,14 @@ public class DynamicRuleServiceTest extends ProtectionApplicationTests {
void testUpdateDynamicRuleAuditStatusBatch(){
Map<Integer, Integer> map = new HashMap<>();
// map.put(101, 1);
map.put(110, 2);
map.put(112, 2);
// map.put(110, 2);
// map.put(112, 2);
for(int i = 167; i < 197; i++){
map.put(i, 2);
}
// System.out.println(dynamicRuleMapper.queryAuditStatusByIds(map));
System.out.println(dynamicRuleService.queryAuditStatusByIds(map));
System.out.println(dynamicRuleService.updateAuditStatusBatch(map, "NSADD管理员", "1100664", "组织树"));
}

View File

@@ -38,15 +38,27 @@ public class StaticRuleServiceTest extends ProtectionApplicationTests {
// staticRuleTest.setStaticRuleMdip("255.255.255.0");
// staticRuleTest.setStaticRuleSport(11);
staticRuleTest.setStaticRulePriority(1);
staticRuleTest.setStaticRuleFrequency(1);
// staticRuleTest.setStaticRulePriority(1);
// staticRuleTest.setStaticRuleFrequency(1);
// staticRuleTest.setStaticRuleRange("北京");
}
@Test
void testNewStaticRule(){
staticRuleService.newStaticRuleObject(staticRuleTest);
for (int i = 1; i < 10; i++) {
staticRuleTest = new StaticRuleObject();
staticRuleTest.setStaticRuleName("test_staticrule"+i);
staticRuleTest.setStaticRuleCreateUsername("NSADD管理员");
staticRuleTest.setStaticRuleCreateDepart("组织树");
staticRuleTest.setStaticRuleCreateUserId(22222222);
staticRuleTest.setAuditStatus(0);
staticRuleTest.setStaticRuleSip("32.2.3."+i);
staticRuleTest.setStaticRuleDip(i+".2.3.2");
staticRuleService.newStaticRuleObject(staticRuleTest);
}
//assertTrue(id>0);
}
@Test

View File

@@ -2,7 +2,6 @@ package com.realtime.protection.server.task;
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.defense.template.TemplateNew;
import com.realtime.protection.configuration.entity.rule.dynamicrule.DynamicRuleObject;
import com.realtime.protection.configuration.entity.rule.staticrule.StaticRuleObject;
@@ -21,6 +20,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
@@ -108,7 +108,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
@Test
void testPageQueryTask(){
List<Task> tasks = taskService.queryTasks(null, null, "", "", null,"", null, "", "", null,null,null,1, 10);
List<Task> tasks = taskService.queryTasks(null, null, "", "", null,"", null, "", "", null,null,null,null,1, 10);
// System.out.println(tasks);
tasks.forEach(task -> System.out.println(task));
}
@@ -121,7 +121,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
// for (int i = 0; i < 10; i++) {
// task.setTaskName(testName);
// task.setTaskCreateUsername(testCreateName);
// List<StaticRuleObject> staticRuleObjects = staticRuleService.queryStaticRule(
// List<StaticRuleObject> staticRuleObjects = s taticRuleService.queryStaticRule(
// null, null, null, null, null,null, null, null,1, 5);
// List<Integer> staticRuleIds = new ArrayList<>();
// staticRuleObjects.forEach(staticRuleObject ->
@@ -144,8 +144,8 @@ class TaskServiceTest extends ProtectionApplicationTests {
// }
//
//
// List<Task> tasks = taskService.queryTasks(null, null, null, null, null, null, null, null, null,1, 10);
// assertEquals(10, tasks.size());
List<Task> tasks = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 10);
assertEquals(10, tasks.size());
//
// tasks = taskService.queryTasks(0, null, null, null, null,null, null, null, null, 1, 10);
// assertEquals(10, tasks.size());
@@ -162,7 +162,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
@Test
void testUpdateTasks() {
Task originalTask = taskService.queryTasks(
null, null, null, null, null, null, null, null, null,null,null,null,1, 1)
null, null, null, null, null, null, null, null, null,null,null,null,null,1, 1)
.get(0);
List<StaticRuleObject> staticRuleObjects = staticRuleService.queryStaticRule(
@@ -179,7 +179,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
@Test
void testDeleteTask() {
long testNum = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,1, 10)
long testNum = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 10)
.get(0).getTaskId();
assertTrue(taskService.deleteTask(testNum));
@@ -226,59 +226,62 @@ class TaskServiceTest extends ProtectionApplicationTests {
}
@Transactional
@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");
for (int n = 10; n < 20; n++) {
List<Integer> staticRuleIds = new ArrayList<>();
for (int i = 10; i < 15; i++) {
StaticRuleObject staticRuleTest = new StaticRuleObject();
staticRuleTest.setStaticRuleName(n+"test_staticrule" + i);
staticRuleTest.setStaticRuleCreateUsername("NSADD管理员");
staticRuleTest.setStaticRuleCreateDepart("组织树");
staticRuleTest.setStaticRuleCreateUserId(22222222);
staticRuleTest.setAuditStatus(0);
// staticRuleTest.setStaticRuleDip("1.1.1.2");
// staticRuleTest.setStaticRuleMdip("255.255.255.0");
// staticRuleTest.setStaticRuleSport(80);
staticRuleTest.setStaticRuleSip("32.2.3." + i);
staticRuleTest.setStaticRuleDip(n + ".2.3.2");
staticRuleService.newStaticRuleObject(staticRuleTest);
staticRuleIds.add(staticRuleTest.getStaticRuleId());
staticRuleService.updateAuditStatus(staticRuleTest.getStaticRuleId(), 2, "xxx管理员", 1111111, "组织树");
staticRuleTest.setStaticRulePriority(1);
staticRuleTest.setStaticRuleFrequency(1);
// staticRuleTest.setStaticRuleRange("北京");
Integer staticRuleId = staticRuleService.newStaticRuleObject(staticRuleTest);
}
Task task = new Task();
task.setTaskName("mh-task测试3");
Task task = new Task();
task.setTaskName("静态task测试"+n);
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(5);
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.setTaskStartTime(taskStartTime);
task.setTaskEndTime(taskEndTime);
task.setTaskAct("23");
task.setTaskType(1);
task.setTaskRange("1007");
task.setTaskCreateUserId(1);
task.setTaskCreateUsername("xxx");
task.setTaskCreateDepart("xxx");
task.setTaskCreateUserId(111111);
task.setTaskCreateUsername("xxx管理员");
task.setTaskCreateDepart("xxx");
List<Integer> staticRuleIds = new ArrayList<>();
staticRuleIds.add(staticRuleId);
staticRuleService.updateAuditStatus(staticRuleId, 2,null,null,null);
task.setStaticRuleIds(staticRuleIds);
task.setStaticRuleIds(staticRuleIds);
List<ProtectObject> protectObject = protectObjectService.queryProtectObjects(
null, null, null, null,
null, null, null, null,
null, null, 1, 1);
Long taskId = taskService.newTask(task);
Long taskId = taskService.newTask(task);
//
taskService.changeTaskAuditStatus(taskId, 2);
taskService.changeTaskAuditStatus(taskId, 2);
stateChangeService.changeState(2, taskId, false);
System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
stateChangeService.changeState(2, taskId, false);
// System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
}
}
@Test
@@ -303,10 +306,10 @@ class TaskServiceTest extends ProtectionApplicationTests {
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()}));
// 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,null,null,null);
@@ -325,12 +328,19 @@ class TaskServiceTest extends ProtectionApplicationTests {
task.setTaskCreateUsername("xxx");
task.setTaskCreateDepart("xxx");
task.setDynamicRuleIds(List.of(new Integer[]{dynamicRuleId}));
task.setEventType("ddos");
task.setProtectLevel(1);
task.setTemplateName(templates.get(0).getTemplateName());
task.setSourceSystem("bw");
task.setTemplateId(templates.get(0).getTemplateId());
task.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
Long taskId = taskService.newTask(task);
System.out.println(taskId);
//审核状态
taskService.changeTaskAuditStatus(taskId, 2);
// taskService.changeTaskAuditStatus(taskId, 2);
//启动任务
stateChangeService.changeState(2, taskId, false);
// stateChangeService.changeState(2, taskId, false);
// System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
}
@@ -358,6 +368,6 @@ class TaskServiceTest extends ProtectionApplicationTests {
@Test
void testQueryTaskTotalNum(){
System.out.println(taskService.queryTaskTotalNum(null, null, "", "", null, "", "", "", ""));
System.out.println(taskService.queryTaskTotalNum(null, null, "", "", null, "", "", "", "",null,null,null,null));
}
}

View File

@@ -36,7 +36,7 @@ class CommandServiceTest extends ProtectionApplicationTests {
@BeforeEach
void mockCommand() {
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,1, 1).get(0);
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 1).get(0);
FiveTupleWithMask fiveTupleWithMask = new FiveTupleWithMask();
fiveTupleWithMask.setMaskSourceIP("192.168.155.24");
@@ -66,7 +66,7 @@ class CommandServiceTest extends ProtectionApplicationTests {
@Test
void createCommands() {
List<TaskCommandInfo> taskCommandInfos = ListUtils.newArrayListWithExpectedSize(100);
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,1, 1).get(0);
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 1).get(0);
for (int i = 0; i < 100; i++) {
int port = i + 1000;
TaskCommandInfo taskCommandInfo = new TaskCommandInfo();
@@ -92,7 +92,7 @@ class CommandServiceTest extends ProtectionApplicationTests {
@Test
void queryCommandInfos() {
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,1, 1).get(0);
Task task = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 1).get(0);
List<TaskCommandInfo> taskCommandInfos = commandService.queryCommandInfos(task.getTaskId(),
null, null, null, null,1, 5);
assertTrue(taskCommandInfos != null && !taskCommandInfos.isEmpty());