1、错误信息改为中文

2、任务审核bug
3、指令查询不判断指令是否被删除
4、bugfix
This commit is contained in:
PushM
2024-05-30 02:51:14 +08:00
parent cef4505ba7
commit c8c5b53476
9 changed files with 32 additions and 24 deletions

View File

@@ -34,7 +34,7 @@ public class AlertMessage {
private String modifyTime;
@JsonProperty("alert_message_uuid")
private String alertMessageUUID;
//1代表防护对象命中告警信息里的是目的ip0代表防护对象命中告警信息里的是源ip
@JsonProperty("protect_object_is_src_dst")
private int protectIsSrcOrDst;
}

View File

@@ -135,7 +135,7 @@ public class StaticRuleObject {
private String staticRuleURL;
@JsonProperty("static_rule_priority")
@ExcelProperty("优先级")
@ExcelIgnore
@Max(value = 3)
@Min(value = 1)
@Schema(description = "优先级,1代表高2代表中3代表低", example = "1")

View File

@@ -85,6 +85,9 @@ public class DynamicTaskInfo {
public void parseSql() {
String bwSql = this.bwSql;
if (bwSql == null) {
return;
}
//解析SQL语句
SQLStatementParser parser = new MySqlStatementParser(bwSql);
// 使用Parser解析生成AST这里SQLStatement就是AST

View File

@@ -112,10 +112,10 @@ public class TemplateService {
public Map<String, Object> updateAuditStatus(Integer id, Integer auditStatus) {
Integer originalAuditStatus = templateMapper.queryAuditStatusById(id);
if (originalAuditStatus == null) {
throw new IllegalArgumentException("cannot find audit status of static rule " + id + ", maybe static rule doesn't exist?");
throw new IllegalArgumentException("不能找到静态规则:" + id + ", 可能静态规则不存在?");
}
if (!AuditStatusValidator.setOriginal(originalAuditStatus).checkValidate(auditStatus)) {
throw new IllegalArgumentException("invalid audit status");
throw new IllegalArgumentException("审核状态修改不合逻辑");
}
Boolean success = templateMapper.updateAuditStatusById(id, auditStatus);

View File

@@ -89,16 +89,18 @@ public class TaskService {
taskMapper.newTaskDynamicRuleConcat(task.getTaskId(), task.getDynamicRuleIds());
}
if (task.getTaskType() != TaskTypeEnum.STATIC.getTaskType()) {
if (task.getProtectObjectIds() != null && !task.getProtectObjectIds().isEmpty()) {
//校验防护对象是否存在
boolean ProtectObjIdValid = task.getProtectObjectIds().stream()
.allMatch(dynamicRuleMapper::queryProtectObjectById);
if (!ProtectObjIdValid && !task.getProtectObjectIds().isEmpty()){
if (!ProtectObjIdValid) {
throw new IllegalArgumentException("部分防护对象不存在");
}
//任务和防护对象多对多关联建立
taskMapper.newTaskProtectObjectConcat(task.getTaskId(), task.getProtectObjectIds());
}
}
}
return task.getTaskId();
}

View File

@@ -151,7 +151,7 @@ public class WhiteListService {
StaticRuleObject staticRuleObject = staticRuleMapper.queryStaticRuleById(ruleId);
if (staticRuleObject == null) {
throw new IllegalArgumentException("invalid rule id");
throw new IllegalArgumentException("无效的静态规则");
}
// 命中的whitelist列表每一列包含ip port url
return whiteListMapper.existWhiteListObject(staticRuleObject);
@@ -192,11 +192,11 @@ public class WhiteListService {
//查询目前curStatus
Integer originalAuditStatus = whiteListMapper.queryWhiteListObjectAuditStuatusById(id);
if (originalAuditStatus == null){
throw new IllegalArgumentException("cannot find audit status of whitelist " + id + ", maybe whitelist doesn't exist?");
throw new IllegalArgumentException("不能找到白名单 " + id + ", 可能该白名单不存在");
}
//判断是否可以修改
if (!AuditStatusValidator.setOriginal(originalAuditStatus).checkValidate(auditStatus)) {
throw new IllegalArgumentException("invalid audit status");
throw new IllegalArgumentException("审核状态修改违规");
}
Boolean success = whiteListMapper.updateWhiteListObjectAuditStatus(id, auditStatus);

View File

@@ -61,6 +61,8 @@
<result column="LAST_SEND_TIME" property="latestSendTime"/>
<result column="IS_VALID" property="isValid"/>
<result column="IS_JUDGED" property="isJudged"/>
<!-- <result column="IS_DELETED" property=""/>-->
<association property="fiveTupleWithMask">
<result column="SRC_IP" property="sourceIP"/>
@@ -107,7 +109,7 @@
FROM t_command
<where>
AND TASK_ID = #{task_id}
AND IS_DELETED = FALSE
-- AND IS_DELETED = FALSE
<if test="src_ip != null">AND SRC_IP = #{src_ip}</if>
<if test="dst_ip != null">AND DST_IP = #{dst_ip}</if>
<if test="src_port != null">AND SRC_PORT = #{src_port}</if>

View File

@@ -257,12 +257,11 @@
</update>
<update id="changeTaskAuditStatusWithAudior">
UPDATE t_task
SET task_status = #{audit_status},
SET task_audit_status = #{audit_status},
task_modify_time = NOW(),
task_audit_username = #{auditUserName},
task_audit_userid = #{auditUserId},
task_audit_depart = #{auditUserDepart}
WHERE task_id = #{task_id}
</update>
<update id="updateAuditStatusWithAuditorByIdBatch">

View File

@@ -210,9 +210,11 @@ class TaskServiceTest extends ProtectionApplicationTests {
// map.put(43830, 1);
// map.put(43831, 1);
// map.put(43832, 1);
// System.out.println(taskService.updateAuditStatusBatch(map));
System.out.println(taskService.changeTaskAuditStatus(44047L, 2, null, null, null));
}
@Test
void testGetDynamicTaskInfos(){
@@ -308,7 +310,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
object.setDynamicRulePriority(1);
object.setDynamicRuleSourceSystem("bw");
// object.setDynamicRuleSourceSystem("bw");
object.setBwSql("select c_src_ipv4,c_src_port,c_dest_ipv4,c_dest_port from topic_xxxxxx where c_event_id in (11113333311,222222222222) and c_netnum = 111111111 and c_flowid=22222222" );
// object.setBwSql("select c_src_ipv4,c_src_port,c_dest_ipv4,c_dest_port from topic_xxxxxx where c_event_id in (11113333311,222222222222) and c_netnum = 111111111 and c_flowid=22222222" );
// object.setDynamicRuleRange("北京");
// object.setDynamicRuleProtectLevel(1);
// object.setLogRuleId(1L);
@@ -338,7 +340,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
task.setSourceSystem(templates.get(0).getSourceSystem());
task.setTemplateId(templates.get(0).getTemplateId());
task.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
// task.setProtectObjectIds(List.of(new Integer[]{protectObject.get(0).getProtectObjectId()}));
Long taskId = taskService.newTask(task);
System.out.println(taskId);