diff --git a/src/main/java/com/nis/web/controller/log/ntc/P2pLogController.java b/src/main/java/com/nis/web/controller/log/ntc/P2pLogController.java new file mode 100644 index 000000000..8a26e34f0 --- /dev/null +++ b/src/main/java/com/nis/web/controller/log/ntc/P2pLogController.java @@ -0,0 +1,67 @@ +package com.nis.web.controller.log.ntc; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; +import com.nis.domain.FunctionServiceDict; +import com.nis.domain.PageLog; +import com.nis.domain.log.NtcIpLog; +import com.nis.domain.maat.LogRecvData; +import com.nis.util.Constants; +import com.nis.util.DictUtils; +import com.nis.util.httpclient.HttpClientUtil; +import com.nis.web.controller.BaseController; + +@Controller +@RequestMapping("${adminPath}/log/ntc/p2pLogs") +public class P2pLogController extends BaseController { + + @RequestMapping(value = {"list", ""}) + public String list(@ModelAttribute("log") NtcIpLog log, Model model, HttpServletRequest request, HttpServletResponse response) { + try { + PageLog page = new PageLog(request, response); + Map params = new HashMap(); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + initLogSearchValue(log, params); + + List serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); + model.addAttribute("serviceList", serviceList); + + String url = Constants.LOG_BASE_URL + Constants.NTC_P2P_LOG; + String recv = HttpClientUtil.getMsg(url, params, request); + logger.info("查询结果:" + recv); + if (StringUtils.isNotBlank(recv)) { + Gson gson = new GsonBuilder().create(); + LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); + if (fromJson.getStatus().intValue() == 200) { + page.setList(fromJson.getData().getList()); + List list = page.getList(); + for (NtcIpLog l : list) { + l.setFunctionId(log.getFunctionId()); + setLogAction(l,serviceList); + } + model.addAttribute("page", page); + } + } + } catch (Exception e) { + logger.error("查询失败", e); + addMessageLog(model, e.getMessage()); + } + + return "/log/ntc/p2pList"; + } + +} diff --git a/src/main/java/com/nis/web/dao/FunctionRegionDictDao.xml b/src/main/java/com/nis/web/dao/FunctionRegionDictDao.xml index 14d58a585..f4e0ac4f0 100644 --- a/src/main/java/com/nis/web/dao/FunctionRegionDictDao.xml +++ b/src/main/java/com/nis/web/dao/FunctionRegionDictDao.xml @@ -22,12 +22,13 @@ + dict_id, function_id, config_region_value,config_region_code, config_district, config_desc, is_valid,is_maat,region_type ,config_multi_keywords,config_hex,config_expr_type,config_match_method,config_service_type,config_ip_port_show,config_ip_type, - config_ip_pattern,config_port_pattern,config_direction,config_protocol + config_ip_pattern,config_port_pattern,config_direction,config_protocol,config_region_sort \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/FunctionServiceDictDao.xml b/src/main/java/com/nis/web/dao/FunctionServiceDictDao.xml index 69547cd73..851614a6e 100644 --- a/src/main/java/com/nis/web/dao/FunctionServiceDictDao.xml +++ b/src/main/java/com/nis/web/dao/FunctionServiceDictDao.xml @@ -11,7 +11,7 @@ - + diff --git a/src/main/java/com/nis/web/dao/configuration/AppCfgDao.java b/src/main/java/com/nis/web/dao/configuration/AppCfgDao.java index f6b5214c5..6962964df 100644 --- a/src/main/java/com/nis/web/dao/configuration/AppCfgDao.java +++ b/src/main/java/com/nis/web/dao/configuration/AppCfgDao.java @@ -14,6 +14,7 @@ import com.nis.domain.configuration.AppIdCfg.AppFeaturesIndex; import com.nis.domain.configuration.AppInnerRuleCfg; import com.nis.domain.configuration.AppIpCfg; import com.nis.domain.configuration.AppPolicyCfg; +import com.nis.domain.configuration.AppSslCertCfg; import com.nis.domain.configuration.AppStringCfg; import com.nis.domain.configuration.BaseCfg; import com.nis.domain.configuration.BaseStringCfg; @@ -64,7 +65,13 @@ public interface AppCfgDao { public List findAppInnerRuleList(AppInnerRuleCfg entity) ; public AppInnerRuleCfg getAppInnerRuleCfg(Long cfgId) ; public int insertAppInnerRuleCfg(AppInnerRuleCfg entity); - public int updateAppInnerRuleCfg(AppInnerRuleCfg entity); + public int updateAppInnerRuleCfg(AppInnerRuleCfg entity); + //app ssl证书特征增删改查 + public List findAppSslList(AppSslCertCfg entity); + public AppSslCertCfg getAppSslCfg(Long cfgId); + public int insertAppSslCfg(AppSslCertCfg entity); + public int updateAppSslCfg(AppSslCertCfg entity); + //审核配置 public void auditCfg(BaseCfg entity); //修改配置状态 diff --git a/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml index 2395f4f71..ddfae9a2c 100644 --- a/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml @@ -228,6 +228,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r.CFG_ID, r.APP_CODE,r.BEHAV_CODE,r.SPEC_SERVICE_ID,r.CFG_DESC,r.ACTION,r.IS_VALID,r.IS_AUDIT, @@ -298,6 +329,13 @@ a.compile_id,a.is_area_effective,a.classify,a.attribute,a.lable ,a.area_effective_ids,a.function_id,a.cfg_region_code + + r.CFG_ID, r.APP_CODE,r.BEHAV_CODE,r.SPEC_SERVICE_ID,r.CFG_DESC,ACTION,r.IS_VALID,r.IS_AUDIT, + r.CREATOR_ID,r.CREATE_TIME,r.EDITOR_ID,r.EDIT_TIME,r.AUDITOR_ID,r.AUDIT_TIME, + r.SERVICE_ID,r.REQUEST_ID,r.COMPILE_ID,r.IS_AREA_EFFECTIVE,r.CLASSIFY, + r.ATTRIBUTE,r.LABLE,r.AREA_EFFECTIVE_IDS,r.RATELIMIT,r.FUNCTION_ID,r.CFG_TYPE,r.CFG_REGION_CODE, + r.DISTRICT,r.CFG_KEYWORDS,r.EXPR_TYPE,r.MATCH_METHOD,r.IS_HEXBIN + + ${sqlMap.dsf} + + + + ORDER BY ${page.orderBy} + + + ORDER BY CFG_ID desc + + + + SELECT LAST_INSERT_ID() @@ -1103,6 +1248,22 @@ #{exprType,jdbcType=INTEGER},#{matchMethod,jdbcType=INTEGER},#{isHexbin,jdbcType=INTEGER} ) + + + SELECT LAST_INSERT_ID() + + insert into app_ssl_cert_cfg ( + APP_CODE,BEHAV_CODE,SPEC_SERVICE_ID,CFG_DESC,ACTION,IS_VALID,IS_AUDIT, + CREATOR_ID,CREATE_TIME,EDITOR_ID,EDIT_TIME,AUDITOR_ID,AUDIT_TIME, + SERVICE_ID,REQUEST_ID,COMPILE_ID,IS_AREA_EFFECTIVE,CLASSIFY, + ATTRIBUTE,LABLE,AREA_EFFECTIVE_IDS,RATELIMIT,FUNCTION_ID,CFG_TYPE,CFG_REGION_CODE, + DISTRICT,CFG_KEYWORDS,EXPR_TYPE,MATCH_METHOD,IS_HEXBIN + )values ( + , + #{district,jdbcType=VARCHAR},#{cfgKeywords,jdbcType=VARCHAR}, + #{exprType,jdbcType=INTEGER},#{matchMethod,jdbcType=INTEGER},#{isHexbin,jdbcType=INTEGER} + ) + @@ -1687,6 +1848,105 @@ and function_id=#{functionId,jdbcType=INTEGER} + + update app_ssl_cert_cfg + + + + cfg_desc = #{cfgDesc,jdbcType=VARCHAR}, + + + APP_CODE = #{appCode,jdbcType=INTEGER}, + + + BEHAV_CODE = #{behavCode,jdbcType=INTEGER}, + + + SPEC_SERVICE_ID = #{specServiceId,jdbcType=INTEGER}, + + + action = #{action,jdbcType=INTEGER}, + + + is_valid = #{isValid,jdbcType=INTEGER}, + + + is_audit = #{isAudit,jdbcType=INTEGER}, + + + creator_id = #{creatorId,jdbcType=INTEGER}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + editor_id = #{editorId,jdbcType=INTEGER}, + + + edit_time = #{editTime,jdbcType=TIMESTAMP}, + + + auditor_id = #{auditorId,jdbcType=INTEGER}, + + + audit_time = #{auditTime,jdbcType=TIMESTAMP}, + + + service_id = #{serviceId,jdbcType=INTEGER}, + + + request_id = #{requestId,jdbcType=INTEGER}, + + + compile_id = #{compileId,jdbcType=INTEGER}, + + + is_area_effective = #{isAreaEffective,jdbcType=INTEGER}, + + + classify = #{classify,jdbcType=VARCHAR}, + + + attribute = #{attribute,jdbcType=VARCHAR}, + + + lable = #{lable,jdbcType=VARCHAR}, + + + area_effective_ids = #{areaEffectiveIds,jdbcType=VARCHAR}, + + + function_id = #{functionId,jdbcType=INTEGER}, + + + RATELIMIT=#{ratelimit,jdbcType=INTEGER}, + + + CFG_REGION_CODE=#{cfgRegionCode,jdbcType=INTEGER}, + + + CFG_TYPE =#{cfgType,jdbcType=VARCHAR}, + + + district=#{district,jdbcType=VARCHAR}, + + + cfg_keywords=#{cfgKeywords,jdbcType=VARCHAR}, + + + expr_type=#{exprType,jdbcType=INTEGER}, + + + match_method=#{matchMethod,jdbcType=INTEGER}, + + + is_hexbin=#{isHexbin,jdbcType=INTEGER}, + + + + where cfg_id = #{cfgId,jdbcType=BIGINT} + + update ${tableName} set is_audit = #{isAudit,jdbcType=INTEGER}, auditor_id = #{auditorId,jdbcType=INTEGER}, diff --git a/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml index 3bbbb8f5a..0d1073c9f 100644 --- a/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml @@ -23,6 +23,7 @@ + @@ -157,7 +158,7 @@ r.CFG_ID,r.CFG_DESC,r.ACTION,r.IS_VALID,r.IS_AUDIT, r.CREATOR_ID,r.CREATE_TIME,r.EDITOR_ID,r.EDIT_TIME,r.AUDITOR_ID,r.AUDIT_TIME, r.SERVICE_ID,r.REQUEST_ID,r.COMPILE_ID,r.IS_AREA_EFFECTIVE,r.CLASSIFY, - r.ATTRIBUTE,r.LABLE,r.AREA_EFFECTIVE_IDS,r.function_id + r.ATTRIBUTE,r.LABLE,r.AREA_EFFECTIVE_IDS,r.function_id,r.do_log r.cfg_id,r.cfg_desc,r.ip_type,r.src_ip_address,r.ip_pattern,r.port_pattern,r.src_port @@ -545,7 +546,8 @@ ATTRIBUTE, LABLE, AREA_EFFECTIVE_IDS, - function_id + function_id, + do_log )values ( #{cfgDesc,jdbcType=VARCHAR}, #{action,jdbcType=INTEGER}, @@ -565,7 +567,8 @@ #{attribute,jdbcType=VARCHAR}, #{lable,jdbcType=VARCHAR}, #{areaEffectiveIds,jdbcType=VARCHAR}, - #{functionId,jdbcType=INTEGER} + #{functionId,jdbcType=INTEGER}, + #{doLog,jdbcType=INTEGER} ) @@ -804,6 +807,9 @@ service_id = #{serviceId,jdbcType=INTEGER}, + + do_log = #{doLog,jdbcType=INTEGER}, + diff --git a/src/main/java/com/nis/web/dao/configuration/InterceptCfgDao.java b/src/main/java/com/nis/web/dao/configuration/InterceptCfgDao.java new file mode 100644 index 000000000..b98808f95 --- /dev/null +++ b/src/main/java/com/nis/web/dao/configuration/InterceptCfgDao.java @@ -0,0 +1,37 @@ +package com.nis.web.dao.configuration; + +import java.util.List; + +import com.nis.domain.configuration.AvFileSampleCfg; +import com.nis.domain.configuration.AvSignSampleCfg; +import com.nis.domain.configuration.BaseCfg; +import com.nis.domain.configuration.BaseStringCfg; +import com.nis.domain.configuration.CfgIndexInfo; +import com.nis.domain.configuration.ComplexkeywordCfg; +import com.nis.domain.configuration.DnsDomainCfg; +import com.nis.domain.configuration.DnsIpCfg; +import com.nis.domain.configuration.HttpBodyCfg; +import com.nis.domain.configuration.HttpReqHeadCfg; +import com.nis.domain.configuration.HttpResHeadCfg; +import com.nis.domain.configuration.HttpUrlCfg; +import com.nis.domain.configuration.InterceptPktBin; +import com.nis.domain.configuration.IpPortCfg; +import com.nis.domain.configuration.SslKeywordCfg; +import com.nis.web.dao.CrudDao; +import com.nis.web.dao.MyBatisDao; + + +/** + * WEB相关配置数据处理类 + * @author dell + * + */ +@MyBatisDao +public interface InterceptCfgDao extends CrudDao{ + + public List getInterceptPktBin(CfgIndexInfo entity); + public void insertInterceptPktBin(InterceptPktBin entity); + public void deleteInterceptPktBin(CfgIndexInfo entity); + public void deleteInterceptIpCfg(CfgIndexInfo entity); + +} diff --git a/src/main/java/com/nis/web/dao/configuration/InterceptCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/InterceptCfgDao.xml new file mode 100644 index 000000000..efd01f406 --- /dev/null +++ b/src/main/java/com/nis/web/dao/configuration/InterceptCfgDao.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a.cfg_id,a.cfg_desc,a.cfg_keywords,a.cfg_type, + a.action,a.is_valid,a.is_audit,a.creator_id,a.create_time,a.editor_id,a.edit_time, a.auditor_id, + a.audit_time,a.service_id,a.request_id,a.compile_id,a.is_area_effective,a.classify,a.attribute,a.lable, + a.expr_type,a.match_method,a.is_hexbin,a.area_effective_ids,a.function_id,a.cfg_region_code + + + + + + insert into intercept_pkt_bin ( + CFG_DESC, + ACTION, + IS_VALID, + IS_AUDIT, + CREATOR_ID, + CREATE_TIME, + EDITOR_ID, + EDIT_TIME, + AUDITOR_ID, + AUDIT_TIME, + SERVICE_ID, + REQUEST_ID, + COMPILE_ID, + IS_AREA_EFFECTIVE, + CLASSIFY, + ATTRIBUTE, + LABLE, + AREA_EFFECTIVE_IDS, + function_id, + cfg_keywords, + cfg_type, + cfg_region_code, + expr_type, + match_method, + is_hexbin, + user_region1, + user_region2, + user_region3, + user_region4, + user_region5 + )values ( + #{cfgDesc,jdbcType=VARCHAR}, + #{action,jdbcType=INTEGER}, + 0, + 0, + #{creatorId,jdbcType=INTEGER}, + #{createTime,jdbcType=TIMESTAMP}, + #{editorId,jdbcType=INTEGER}, + #{editTime,jdbcType=TIMESTAMP}, + #{auditorId,jdbcType=INTEGER}, + #{auditTime,jdbcType=TIMESTAMP}, + #{serviceId,jdbcType=INTEGER}, + #{requestId,jdbcType=INTEGER}, + #{compileId,jdbcType=INTEGER}, + #{isAreaEffective,jdbcType=INTEGER}, + #{classify,jdbcType=VARCHAR}, + #{attribute,jdbcType=VARCHAR}, + #{lable,jdbcType=VARCHAR}, + #{areaEffectiveIds,jdbcType=VARCHAR}, + #{functionId,jdbcType=INTEGER}, + #{cfgKeywords,jdbcType=VARCHAR}, + #{cfgType,jdbcType=VARCHAR}, + #{cfgRegionCode,jdbcType=INTEGER}, + #{exprType,jdbcType=INTEGER}, + #{matchMethod,jdbcType=INTEGER}, + #{isHexbin,jdbcType=INTEGER}, + #{userRegion1,jdbcType=VARCHAR}, + #{userRegion2,jdbcType=VARCHAR}, + #{userRegion3,jdbcType=VARCHAR}, + #{userRegion4,jdbcType=VARCHAR}, + #{userRegion5,jdbcType=VARCHAR} + ) + + + delete from ip_port_cfg where compile_id=#{compileId} and function_id=#{functionId} + + + + delete from intercept_pkt_bin where compile_id=#{compileId} and function_id=#{functionId} + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.java b/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.java new file mode 100644 index 000000000..a97c17e50 --- /dev/null +++ b/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.java @@ -0,0 +1,25 @@ +package com.nis.web.dao.configuration; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +import com.nis.domain.callback.ProxyFileStrategyCfg; +import com.nis.web.dao.MyBatisDao; + + +/** + * 特定协议相关配置数据处理类 + * @author dell + * + */ +@MyBatisDao +public interface ProxyFileStrategyDao { + + public List findPage(ProxyFileStrategyCfg entity) ; + public ProxyFileStrategyCfg getCfgById(@Param("cfgId")Long cfgId); + public void insert(ProxyFileStrategyCfg entity); + public void update(ProxyFileStrategyCfg entity); + + +} diff --git a/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.xml b/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.xml new file mode 100644 index 000000000..9b8720e68 --- /dev/null +++ b/src/main/java/com/nis/web/dao/configuration/ProxyFileStrategyDao.xml @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a.CFG_ID,a.CFG_DESC,a.ACTION,a.IS_VALID,a.IS_AUDIT, + a.CREATOR_ID,a.CREATE_TIME,a.EDITOR_ID,a.EDIT_TIME,a.AUDITOR_ID,a.AUDIT_TIME, + a.SERVICE_ID,a.REQUEST_ID,a.COMPILE_ID,a.IS_AREA_EFFECTIVE,a.CLASSIFY, + a.ATTRIBUTE,a.LABLE,a.AREA_EFFECTIVE_IDS,a.function_id,a.cfg_type,a.cfg_region_code, + a.FILE_ID,a.FILE_DESC,a.URL,a.CONTENT_TYPE,a.CONTENT_LENGTH,a.MD5 + + + + + + + + + + + insert into proxy_file_strategy_cfg ( + CFG_DESC, + ACTION, + IS_VALID, + IS_AUDIT, + CREATOR_ID, + CREATE_TIME, + EDITOR_ID, + EDIT_TIME, + AUDITOR_ID, + AUDIT_TIME, + SERVICE_ID, + REQUEST_ID, + COMPILE_ID, + IS_AREA_EFFECTIVE, + CLASSIFY, + ATTRIBUTE, + LABLE, + AREA_EFFECTIVE_IDS, + function_id, + cfg_type, + cfg_region_code, + + file_id, + file_desc, + url, + content_type, + content_length, + md5 + )values ( + #{cfgDesc,jdbcType=VARCHAR}, + #{action,jdbcType=INTEGER}, + 0, + 0, + #{creatorId,jdbcType=INTEGER}, + #{createTime,jdbcType=TIMESTAMP}, + #{editorId,jdbcType=INTEGER}, + #{editTime,jdbcType=TIMESTAMP}, + #{auditorId,jdbcType=INTEGER}, + #{auditTime,jdbcType=TIMESTAMP}, + #{serviceId,jdbcType=INTEGER}, + #{requestId,jdbcType=INTEGER}, + #{compileId,jdbcType=INTEGER}, + #{isAreaEffective,jdbcType=INTEGER}, + #{classify,jdbcType=VARCHAR}, + #{attribute,jdbcType=VARCHAR}, + #{lable,jdbcType=VARCHAR}, + #{areaEffectiveIds,jdbcType=VARCHAR}, + #{functionId,jdbcType=INTEGER}, + #{cfgType,jdbcType=VARCHAR}, + #{cfgRegionCode,jdbcType=INTEGER}, + + #{fileId,jdbcType=VARCHAR}, + #{fileDesc,jdbcType=VARCHAR}, + #{url,jdbcType=VARCHAR}, + #{contentType,jdbcType=VARCHAR}, + #{contentLength,jdbcType=INTEGER}, + #{md5,jdbcType=VARCHAR} + ) + + + + + update proxy_file_strategy_cfg + + + cfg_desc = #{cfgDesc,jdbcType=VARCHAR}, + + + action = #{action,jdbcType=INTEGER}, + + + is_valid = #{isValid,jdbcType=INTEGER}, + + + is_audit = #{isAudit,jdbcType=INTEGER}, + + + creator_id = #{creatorId,jdbcType=INTEGER}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + editor_id = #{editorId,jdbcType=INTEGER}, + + edit_time = #{editTime,jdbcType=TIMESTAMP}, + + auditor_id = #{auditorId,jdbcType=INTEGER}, + + + audit_time = #{auditTime,jdbcType=TIMESTAMP}, + + + service_id = #{serviceId,jdbcType=INTEGER}, + + + request_id = #{requestId,jdbcType=INTEGER}, + + + is_area_effective = #{isAreaEffective,jdbcType=INTEGER}, + + + classify = #{classify,jdbcType=VARCHAR}, + + + attribute = #{attribute,jdbcType=VARCHAR}, + + + lable = #{lable,jdbcType=VARCHAR}, + + + area_effective_ids = #{areaEffectiveIds,jdbcType=VARCHAR}, + + + function_id = #{functionId,jdbcType=INTEGER}, + + + cfg_region_code = #{cfgRegionCode,jdbcType=INTEGER}, + + + cfg_type = #{cfgType,jdbcType=VARCHAR}, + + + + file_id = #{fileId ,jdbcType=VARCHAR}, + + + file_desc = #{fileDesc ,jdbcType=VARCHAR}, + + + url = #{url ,jdbcType=VARCHAR}, + + + content_type = #{contentType ,jdbcType=VARCHAR}, + + + content_length = #{contentLength ,jdbcType=BIGINT}, + + + md5 = #{md5 ,jdbcType=VARCHAR}, + + + where cfg_id = #{cfgId,jdbcType=BIGINT} + + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/configuration/AppCfgService.java b/src/main/java/com/nis/web/service/configuration/AppCfgService.java index 2294b341a..fe8763e95 100644 --- a/src/main/java/com/nis/web/service/configuration/AppCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/AppCfgService.java @@ -16,6 +16,7 @@ import com.nis.domain.configuration.AppDomainCfg; import com.nis.domain.configuration.AppHttpCfg; import com.nis.domain.configuration.AppIpCfg; import com.nis.domain.configuration.AppPolicyCfg; +import com.nis.domain.configuration.AppSslCertCfg; import com.nis.domain.configuration.AreaIpCfg; import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.maat.MaatCfg; @@ -84,6 +85,13 @@ public class AppCfgService extends BaseService { page.setList(list); return page; } + public Page findAppSslList(Page page, AppSslCertCfg entity) { + entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r")); + entity.setPage(page); + List list = appCfgDao.findAppSslList(entity); + page.setList(list); + return page; + } public AppPolicyCfg getAppPolicyCfg(Long cfgId){ AppPolicyCfg policy = appCfgDao.getAppPolicyCfg(cfgId); List ipPortList = appCfgDao.getAppPolicyIpList(policy); @@ -102,6 +110,9 @@ public class AppCfgService extends BaseService { public AppByteCfg getAppByteCfg(Long cfgId){ return appCfgDao.getAppByteCfg(cfgId); } + public AppSslCertCfg getAppSslCfg(Long cfgId){ + return appCfgDao.getAppSslCfg(cfgId); + } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveOrUpdateAppPolicyCfg(AppPolicyCfg entity) throws Exception{ //设置区域运营商信息 @@ -398,7 +409,65 @@ public class AppCfgService extends BaseService { } } } - } + } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void saveOrUpdateAppSslCfg(AppSslCertCfg entity) throws Exception{ + //设置区域运营商信息 + setAreaEffectiveIds(entity); + if(entity.getCfgId()==null){ + Integer compileId = 0; + try { + List idList = ConfigServiceUtil.getId(1, 1); + if(idList!=null && idList.size()>0){ + compileId = idList.get(0); + } + entity.setCompileId(compileId); + entity.setCreateTime(new Date()); + entity.setCreatorId(entity.getCurrentUser().getId()); + entity.setIsValid(0); + entity.setIsAudit(0); + appCfgDao.insertAppSslCfg(entity); + //保存区域IP信息 + if(entity.getAreaCfg()!=null){ + for(AreaIpCfg cfg:entity.getAreaCfg()){ + cfg.initDefaultValue(); + BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType"}); + areaIpCfgDao.saveAreaIpCfg(cfg); + } + } + + }catch (Exception e) { + e.printStackTrace(); + logger.info("获取编译ID出错"); + throw new MaatConvertException(e.getMessage()); + } + }else{ + entity.setEditorId(entity.getCurrentUser().getId()); + entity.setEditTime(new Date()); + entity.setIsValid(0); + entity.setIsAudit(0); + appCfgDao.updateAppSslCfg(entity); + + //删除旧的区域IP,新增新的区域IP + AreaIpCfg area = new AreaIpCfg(); + area.setCompileId(entity.getCompileId()); + area.setFunctionId(entity.getFunctionId()); + areaIpCfgDao.deleteAreaIpCfg(area); + entity.setCreateTime(new Date()); + entity.setCreatorId(entity.getCurrentUser().getId()); + //保存区域IP信息 + if(entity.getAreaCfg()!=null){ + for(AreaIpCfg cfg:entity.getAreaCfg()){ + cfg.initDefaultValue(); + BeanUtils.copyProperties(entity, cfg,new String[]{"cfgDesc","cfgRegionCode","cfgType"}); + areaIpCfgDao.saveAreaIpCfg(cfg); + } + } + + } + + } + public void auditAppPolicyCfg(AppPolicyCfg entity,Integer isAudit){ String configType=entity.getConfigType(); ToMaatBean maatBean = new ToMaatBean(); @@ -864,6 +933,87 @@ public class AppCfgService extends BaseService { logger.info("app字节配置取消配置响应信息:"+result.getMsg()); } } + public void auditAppSslCfg(AppSslCertCfg entity,Integer isAudit){ + ToMaatBean maatBean = new ToMaatBean(); + MaatCfg maatCfg = new MaatCfg(); + List configCompileList = new ArrayList(); + List groupRelationList = new ArrayList(); + List ipRegionList = new ArrayList(); + List strRegionList = new ArrayList(); + List numRegionList = new ArrayList(); + List digestRegionList = new ArrayList(); + List areaIpRegionList = new ArrayList(); + entity.setTableName(AppSslCertCfg.getTablename()); + appCfgDao.auditCfg(entity); + + if(isAudit==1){ + List list = new ArrayList(); + list.add(entity); + Map map = cfgConvert(strRegionList,list,3,entity,groupRelationList); + groupRelationList=map.get("groupList"); + strRegionList=map.get("dstList"); + } + //保存区域IP信息 + List areaIpCfgList=areaIpCfgDao.getByCompileId(entity.getCompileId()); + if(!StringUtil.isEmpty(areaIpCfgList)){ + AreaIpCfg cfg = new AreaIpCfg(); + BeanUtils.copyProperties(entity, cfg, new String[]{"cfgId"}); + cfg.setTableName(AreaIpCfg.getTablename()); + appCfgDao.auditCfg(cfg); + if(isAudit==1){ + Map map = cfgConvert(areaIpRegionList,areaIpCfgList,1,entity,groupRelationList); + groupRelationList=map.get("groupList"); + areaIpRegionList=map.get("dstList"); + } + } + //构造提交综合服务参数格式,一条配置提交一次综合服务 + if(isAudit==1){ + maatCfg.initDefaultValue(); + BeanUtils.copyProperties(entity, maatCfg); + maatCfg.setAction(entity.getAction()); + maatCfg.setAuditTime(entity.getAuditTime()); + maatCfg.setIpRegionList(ipRegionList); + maatCfg.setStrRegionList(strRegionList); + maatCfg.setNumRegionList(numRegionList); + maatCfg.setDigestRegionList(digestRegionList); + maatCfg.setGroupRelationList(groupRelationList); + maatCfg.setGroupNum(groupRelationList.size()); + maatCfg.setAreaIpRegionList(areaIpRegionList); + maatCfg.setIsValid(entity.getIsValid()); + //设置APP自定义域 + String userRegion = "APP_ID="+entity.getAppCode(); + maatCfg.setUserRegion(userRegion); + configCompileList.add(maatCfg); + maatBean.setConfigCompileList(configCompileList); + maatBean.setAuditTime(entity.getAuditTime()); + maatBean.setCreatorName(entity.getCurrentUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + maatBean.setOpAction(Constants.INSERT_ACTION); + //调用服务接口下发配置数据 + String json=gsonToJson(maatBean); + logger.info("app SSL配置下发配置参数:"+json); + //调用服务接口下发配置 + //ToMaatResult result = ConfigServiceUtil.postMaatCfg(json); + //logger.info("app SSL配置下发响应信息:"+result.getMsg()); + + }else if(isAudit==3){ + maatCfg.setCompileId(entity.getCompileId()); + maatCfg.setServiceId(entity.getServiceId()); + maatCfg.setIsValid(0);//无效 + configCompileList.add(maatCfg); + maatBean.setConfigCompileList(configCompileList); + maatBean.setAuditTime(entity.getAuditTime()); + maatBean.setCreatorName(entity.getCurrentUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + maatBean.setOpAction(Constants.UPDATE_ACTION); + //调用服务接口取消配置 + String json=gsonToJson(maatBean); + logger.info("app SSL配置下发配置参数:"+json); + //调用服务接口下发配置 + //ToMaatResult result = ConfigServiceUtil.put(json,1); + //logger.info("app SSL配置取消配置响应信息:"+result.getMsg()); + } + } public void updateAppPolicyCfgValid(Integer isValid,String ids,Integer functionId){ AppPolicyCfg entity = new AppPolicyCfg(); String[] idArray = ids.split(","); @@ -983,4 +1133,26 @@ public class AppCfgService extends BaseService { } } + public void updateAppSslCfgValid(Integer isValid,String ids,Integer functionId){ + AppSslCertCfg entity = new AppSslCertCfg(); + String[] idArray = ids.split(","); + for(String id :idArray){ + entity.setCfgId(Long.parseLong(id)); + entity.setIsValid(isValid); + entity.setEditorId(UserUtils.getUser().getId()); + entity.setEditTime(new Date()); + entity.setTableName(AppSslCertCfg.getTablename()); + entity.setFunctionId(functionId); + appCfgDao.updateCfgValid(entity); + //保存区域IP信息 + if(entity.getAreaCfg()!=null && entity.getAreaCfg().size()>0){ + AreaIpCfg cfg = new AreaIpCfg(); + BeanUtils.copyProperties(entity, cfg, new String[]{"cfgId"}); + cfg.setTableName(AreaIpCfg.getTablename()); + appCfgDao.updateCfgValid(cfg); + } + + } + + } } diff --git a/src/main/java/com/nis/web/service/configuration/FileTransferCfgService.java b/src/main/java/com/nis/web/service/configuration/FileTransferCfgService.java index aa3852253..16bb77af7 100644 --- a/src/main/java/com/nis/web/service/configuration/FileTransferCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/FileTransferCfgService.java @@ -624,11 +624,8 @@ public class FileTransferCfgService extends CrudService findPage(Page page, ProxyFileStrategyCfg entity) { + entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"a")); + entity.setPage(page); + List list=proxyFileDao.findPage(entity); + page.setList(list); + return page; + } + + public ProxyFileStrategyCfg getCfgById(Long cfgId) { + return proxyFileDao.getCfgById(cfgId); + } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void saveOrUpdate(ProxyFileStrategyCfg entity){ + Date createTime=new Date(); + //设置区域运营商信息 + setAreaEffectiveIds(entity); + //新增 + if(entity.getCfgId()==null){ + entity.setCreatorId(UserUtils.getUser().getId()); + entity.setCreateTime(createTime); + entity.setIsValid(0); + entity.setIsAudit(0); + + //修改 + proxyFileDao.insert(entity); + }else{ + Date editTime=new Date(); + entity.setIsValid(0); + entity.setIsAudit(0); + entity.setEditorId(UserUtils.getUser().getId()); + entity.setEditTime(editTime); + proxyFileDao.update(entity); + } + } + + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void update(Integer isAudit,Integer isValid,String ids,Integer functionId){ + ProxyFileStrategyCfg entity = new ProxyFileStrategyCfg(); + String[] idArray = ids.split(","); + for(String id :idArray){ + entity.setCfgId(Long.parseLong(id)); + entity.setFunctionId(functionId); + entity.setIsAudit(isAudit); + entity.setIsValid(isValid); + entity.setEditorId(UserUtils.getUser().getId()); + entity.setEditTime(new Date()); + proxyFileDao.update(entity); + } + } + + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void audit(Integer isAudit,Integer isValid,Integer functionId,String id){ + Date auditTime = new Date();//审核时间 + ProxyFileStrategyCfg entity = proxyFileDao.getCfgById(Long.parseLong(id)); + entity.setIsAudit(isAudit); + entity.setIsValid(isValid); + entity.setAuditorId(UserUtils.getUser().getId()); + entity.setAuditTime(auditTime); + proxyFileDao.update(entity); + } + + /** + * 获取所有的 响应文件 策略 + * @return + */ + public List getProxyFileStrategyCfgList(ProxyFileStrategyCfg entity){ + entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"a")); + List list=proxyFileDao.findPage(entity); + return list; + } + +} diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index 364c713cb..7f9316eda 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1082,7 +1082,7 @@ PXY_INTERCEPT_PKT_BIN=Intercept Messages certificate=Certificate app_ssl_config=APP SSL Cert Feature -call_external_procedures_failed=Call external procedures failedfile_strategy=\u6587\u4EF6\u7B56\u7565 +call_external_procedures_failed=Call external procedures failed file_strategy=File Strategy file_desc=File Desc content_type=Content Type diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 1123d5550..3c15e9ef0 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1024,6 +1024,7 @@ MM_AV_URL=\u0410\u0443\u0434\u0438\u043E \u0438 \u0432\u0435\u0434\u0438\u043E U MM_VOIP_IP=VoIP IP MM_VOIP_ACCOUNT=\u0421\u0447\u0435\u0442 VoIP #=======================for import ip configuration================= +<<<<<<< HEAD drop_ip=\u041E\u0442\u0431\u0440\u0430\u0441\u044B\u0432\u0430\u043D\u0438\u0435IP loop_ip=\u0420\u0435\u0444\u043B\u044E\u043A\u0441 IP drop_or_loop_ip=\u041E\u0442\u0431\u0440\u0430\u0441\u044B\u0432\u0430\u043D\u0438\u0435/\u0420\u0435\u0444\u043B\u044E\u043A\u0441 IP @@ -1038,4 +1039,15 @@ app_desc=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0441\u043E\u0446\u0 tunnel_code=\u0421\u0435\u0440\u0438\u0439\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 \u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0443\u043D\u043D\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F tunnel_name=\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0443\u043D\u043D\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F tunnel_desc= \u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u0443\u043D\u043D\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F -call_external_procedures_failed=\u041E\u0448\u0438\u0431\u043A\u0430 \u0432\u044B\u0437\u043E\u0432\u0430 \u0432\u043D\u0435\u0448\u043D\u0435\u0439 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u044B \ No newline at end of file +call_external_procedures_failed=\u041E\u0448\u0438\u0431\u043A\u0430 \u0432\u044B\u0437\u043E\u0432\u0430 \u0432\u043D\u0435\u0448\u043D\u0435\u0439 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u044B +======= +drop_ip=IP Drop +loop_ip=IP Loop +drop_or_loop_ip=IP Drop Or Loop +reject_or_monit_ip=IP Reject Or Monit + +file_desc=File Desc +content_type=Content Type +content_length=Content Length +response_file=Response File +>>>>>>> branch 'develop' of http://10.0.6.99/gwall/gwall.git diff --git a/src/main/resources/nis.properties b/src/main/resources/nis.properties index 8fd656a92..4b2166588 100644 --- a/src/main/resources/nis.properties +++ b/src/main/resources/nis.properties @@ -450,7 +450,7 @@ ipv6_default_ip_range_value=::-:: port_default=0 port_mask_default=0/65535 #MAAT CFG \u4e00\u4e9b\u9ed8\u8ba4\u503c -maat_cfg_dolog_default=1 +maat_cfg_dolog_default=2 maat_cfg_dolog_doblacklist_default=1 maat_cfg_dolog_configpercent_default=100 maat_cfg_dolog_configoption_default=1 diff --git a/src/main/resources/sql/add_function_region_dict_columns.sql b/src/main/resources/sql/add_function_region_dict_columns.sql index 10bca3fa5..1e4a5ee75 100644 --- a/src/main/resources/sql/add_function_region_dict_columns.sql +++ b/src/main/resources/sql/add_function_region_dict_columns.sql @@ -3,5 +3,5 @@ ALTER TABLE function_region_dict ADD config_ip_type VARCHAR(20) NULL COMMENT 'ip ALTER TABLE function_region_dict ADD config_ip_pattern VARCHAR(10) NULL COMMENT 'ip的格式 1:ip掩码;2:IP范围;3:IP;使用逗号分隔'; ALTER TABLE function_region_dict ADD config_port_pattern VARCHAR(10) NULL COMMENT '端口的格式,1:port;2:port_mask;使用逗号分隔'; ALTER TABLE function_region_dict ADD config_direction VARCHAR(10) NULL COMMENT 'IP方向0,双向;1,单向.使用逗号分隔'; -ALTER TABLE function_service_dict ADD region_code INT(11) NULL COMMENT 'function_region_dict 表中的config_region_code字段值'; +ALTER TABLE function_service_dict ADD region_code VARCHAR(20) NULL COMMENT 'function_region_dict 表中的config_region_code字段值'; ALTER TABLE function_region_dict ADD config_protocol VARCHAR(20) NULL COMMENT '协议 0:任意;6:TCP;17:UDP;1:ICMP;50:ESP;51:AH'; diff --git a/src/main/resources/sql/add_region_sort.sql b/src/main/resources/sql/add_region_sort.sql new file mode 100644 index 000000000..aac7c15a3 --- /dev/null +++ b/src/main/resources/sql/add_region_sort.sql @@ -0,0 +1,8 @@ +ALTER TABLE function_region_dict ADD config_region_sort INT(11) COMMENT 'region排序'; +UPDATE function_region_dict SET config_region_sort=1 WHERE config_region_code=1; +UPDATE function_region_dict SET config_region_sort=2 WHERE config_region_code=2; +UPDATE function_region_dict SET config_region_sort=3 WHERE config_region_code=3; +UPDATE function_region_dict SET config_region_sort=4 WHERE config_region_code=4; +UPDATE function_region_dict SET config_region_sort=5 WHERE config_region_code=5; +UPDATE function_region_dict SET config_region_sort=6 WHERE config_region_code=6; +UPDATE function_region_dict SET config_region_sort=7 WHERE config_region_code=7; diff --git a/src/main/resources/sql/app_layer_header_cfg.sql b/src/main/resources/sql/app_layer_header_cfg.sql new file mode 100644 index 000000000..f70471b6b --- /dev/null +++ b/src/main/resources/sql/app_layer_header_cfg.sql @@ -0,0 +1,60 @@ +/* +Navicat MariaDB Data Transfer + +Source Server : 10.0.6.249 +Source Server Version : 100214 +Source Host : 10.0.6.249:3306 +Source Database : gwall + +Target Server Type : MariaDB +Target Server Version : 100214 +File Encoding : 65001 + +Date: 2018-08-20 20:40:02 +*/ + +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for app_layer_header_cfg +-- ---------------------------- +DROP TABLE IF EXISTS `app_layer_header_cfg`; +CREATE TABLE `app_layer_header_cfg` ( + `cfg_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `district` varchar(128) NOT NULL, + `cfg_keywords` varchar(1024) NOT NULL, + `app_code` int(11) NOT NULL, + `behav_code` int(11) DEFAULT NULL, + `spec_service_id` varchar(255) NOT NULL COMMENT 'specific_service_cfg .spec_service_id', + `cfg_desc` varchar(128) DEFAULT '', + `action` int(11) NOT NULL COMMENT '1:阻断(reject)2:监测(monit)5:管控白名单(Control whitelist)6:监测白名单(monit whitelist)7:管控监测都白名单(global whitelist)', + `is_valid` int(11) NOT NULL COMMENT '0无效,1有效,-1删除\r\n1) 未审核时配置可删除\r\n2) 审核通过,此字段置1\r\n3) 取消审核通过,此字段置0', + `is_audit` int(11) NOT NULL COMMENT '0未审核,1审核通过,2审核未通过,3取消审核通过\r\n1) 审核未通过,配置可修改\r\n2) 审核通过,配置不可删除,只能取消审核通过', + `creator_id` int(11) NOT NULL COMMENT 'sys_user.id', + `create_time` datetime NOT NULL, + `editor_id` int(11) DEFAULT NULL COMMENT '来自sys_user.id', + `edit_time` datetime DEFAULT NULL, + `auditor_id` int(11) DEFAULT NULL COMMENT '来自sys_user.id', + `audit_time` datetime DEFAULT NULL, + `service_id` int(11) NOT NULL COMMENT '业务id', + `request_id` int(11) NOT NULL COMMENT '来自request_info.id', + `compile_id` int(11) NOT NULL, + `is_area_effective` int(11) NOT NULL DEFAULT 0, + `classify` varchar(128) DEFAULT '', + `attribute` varchar(128) DEFAULT '', + `lable` varchar(128) DEFAULT '', + `area_effective_ids` varchar(1024) DEFAULT '', + `function_id` int(11) NOT NULL, + `ratelimit` int(11) DEFAULT 0 COMMENT '限速比例', + `cfg_type` varchar(64) NOT NULL DEFAULT '', + `cfg_region_code` int(11) NOT NULL, + `expr_type` int(11) NOT NULL DEFAULT 0 COMMENT '0:无表达式,1:与表达式', + `match_method` int(11) NOT NULL DEFAULT 3 COMMENT 'expr_type:0时有意义,其它情况必须置0。0:子串匹配;1:右匹配;2:左匹配;3:完全匹配', + `is_hexbin` int(11) NOT NULL DEFAULT 0 COMMENT '默认为0:大小写不敏感,且非HEX;1:HEX格式二进制;2:大小写敏感,且非HEX', + `user_region1` varchar(1024) DEFAULT '' COMMENT '预留自定义域1', + `user_region2` varchar(1024) DEFAULT '' COMMENT '预留自定义域2', + `user_region3` varchar(1024) DEFAULT '' COMMENT '预留自定义域3', + `user_region4` varchar(1024) DEFAULT '' COMMENT '预留自定义域4', + `user_region5` varchar(1024) DEFAULT '' COMMENT '预留自定义域5', + PRIMARY KEY (`cfg_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/src/main/resources/sql/app_ssl_cert_cfg.sql b/src/main/resources/sql/app_ssl_cert_cfg.sql new file mode 100644 index 000000000..f7b3164f1 --- /dev/null +++ b/src/main/resources/sql/app_ssl_cert_cfg.sql @@ -0,0 +1,60 @@ +/* +Navicat MariaDB Data Transfer + +Source Server : 10.0.6.249 +Source Server Version : 100214 +Source Host : 10.0.6.249:3306 +Source Database : gwall + +Target Server Type : MariaDB +Target Server Version : 100214 +File Encoding : 65001 + +Date: 2018-08-20 20:39:54 +*/ + +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for app_ssl_cert_cfg +-- ---------------------------- +DROP TABLE IF EXISTS `app_ssl_cert_cfg`; +CREATE TABLE `app_ssl_cert_cfg` ( + `cfg_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `district` varchar(128) NOT NULL, + `cfg_keywords` varchar(1024) NOT NULL, + `app_code` int(11) NOT NULL, + `behav_code` int(11) DEFAULT NULL, + `spec_service_id` varchar(255) NOT NULL COMMENT 'specific_service_cfg .spec_service_id', + `cfg_desc` varchar(128) DEFAULT '', + `action` int(11) NOT NULL COMMENT '1:阻断(reject)2:监测(monit)5:管控白名单(Control whitelist)6:监测白名单(monit whitelist)7:管控监测都白名单(global whitelist)', + `is_valid` int(11) NOT NULL COMMENT '0无效,1有效,-1删除\r\n1) 未审核时配置可删除\r\n2) 审核通过,此字段置1\r\n3) 取消审核通过,此字段置0', + `is_audit` int(11) NOT NULL COMMENT '0未审核,1审核通过,2审核未通过,3取消审核通过\r\n1) 审核未通过,配置可修改\r\n2) 审核通过,配置不可删除,只能取消审核通过', + `creator_id` int(11) NOT NULL COMMENT 'sys_user.id', + `create_time` datetime NOT NULL, + `editor_id` int(11) DEFAULT NULL COMMENT '来自sys_user.id', + `edit_time` datetime DEFAULT NULL, + `auditor_id` int(11) DEFAULT NULL COMMENT '来自sys_user.id', + `audit_time` datetime DEFAULT NULL, + `service_id` int(11) NOT NULL COMMENT '业务id', + `request_id` int(11) NOT NULL COMMENT '来自request_info.id', + `compile_id` int(11) NOT NULL, + `is_area_effective` int(11) NOT NULL DEFAULT 0, + `classify` varchar(128) DEFAULT '', + `attribute` varchar(128) DEFAULT '', + `lable` varchar(128) DEFAULT '', + `area_effective_ids` varchar(1024) DEFAULT '', + `function_id` int(11) NOT NULL, + `ratelimit` int(11) DEFAULT 0 COMMENT '限速比例', + `cfg_type` varchar(64) NOT NULL DEFAULT '', + `cfg_region_code` int(11) NOT NULL, + `expr_type` int(11) NOT NULL DEFAULT 0 COMMENT '0:无表达式,1:与表达式', + `match_method` int(11) NOT NULL DEFAULT 3 COMMENT 'expr_type:0时有意义,其它情况必须置0。0:子串匹配;1:右匹配;2:左匹配;3:完全匹配', + `is_hexbin` int(11) NOT NULL DEFAULT 0 COMMENT '默认为0:大小写不敏感,且非HEX;1:HEX格式二进制;2:大小写敏感,且非HEX', + `user_region1` varchar(1024) DEFAULT '' COMMENT '预留自定义域1', + `user_region2` varchar(1024) DEFAULT '' COMMENT '预留自定义域2', + `user_region3` varchar(1024) DEFAULT '' COMMENT '预留自定义域3', + `user_region4` varchar(1024) DEFAULT '' COMMENT '预留自定义域4', + `user_region5` varchar(1024) DEFAULT '' COMMENT '预留自定义域5', + PRIMARY KEY (`cfg_id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; diff --git a/src/main/resources/sql/function_service_dict_add_colunm.sql b/src/main/resources/sql/function_service_dict_add_colunm.sql index 9612b5ea3..e49b9d685 100644 --- a/src/main/resources/sql/function_service_dict_add_colunm.sql +++ b/src/main/resources/sql/function_service_dict_add_colunm.sql @@ -1 +1,3 @@ -INSERT INTO function_service_dict (`dict_id`, `function_id`, `protocol_id`, `action`, `action_code`, `service_id`, `service_name`, `service_desc`, `is_valid`, `creator_id`, `create_time`, `editor_id`, `edit_time`) VALUES ('101', '510', '0', '16', 'reject', '34', 'p2p_reject', NULL, '1', NULL, NULL, NULL, NULL); +INSERT INTO function_service_dict (`function_id`, `protocol_id`, `action`, `action_code`, `service_id`, `service_name`, `service_desc`, `is_valid`, `creator_id`, `create_time`, `editor_id`, `edit_time`) VALUES ('510', '0', '16', 'reject', '34', 'p2p_reject', NULL, '1', NULL, NULL, NULL, NULL); +INSERT INTO function_service_dict (`function_id`, `protocol_id`, `action`, `action_code`, `service_id`, `service_name`, `service_desc`, `is_valid`, `creator_id`, `create_time`, `editor_id`, `edit_time`) VALUES ('520', '0', '1', 'monit', '1029', 'app_ssl_cert_feature_monit', NULL, '1', NULL, NULL, NULL, NULL); +INSERT INTO function_service_dict (`function_id`, `protocol_id`, `action`, `action_code`, `service_id`, `service_name`, `service_desc`, `is_valid`, `creator_id`, `create_time`, `editor_id`, `edit_time`) VALUES ('530', '0', '1', 'monit', '1031', 'app_header_feature_monit', NULL, '1', NULL, NULL, NULL, NULL); diff --git a/src/main/resources/sql/update_attack_type_dict.sql b/src/main/resources/sql/update_attack_type_dict.sql new file mode 100644 index 000000000..b52a1eeed --- /dev/null +++ b/src/main/resources/sql/update_attack_type_dict.sql @@ -0,0 +1,12 @@ +UPDATE sys_data_dictionary_name SET REMARK='ddos 攻击类型' WHERE mark='ATTACK_TYPE'; +DELETE FROM sys_data_dictionary_item WHERE dictionary_id=99; +INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200594,'ICMP_Flood','',0,1,1,99); +INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200595,'IPFRAG_Flood','',0,1,1,99); +INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200596,'SYN_Flood','',0,1,1,99); +INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200597,'ACK_Flood','',0,1,1,99); +INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200598,'RST_Flood','',0,1,1,99); +INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200599,'DNS_Flood','',0,1,1,99); +INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200600,'NTP_Flood','',0,1,1,99); +INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200601,'UDP_Flood','',0,1,1,99); +INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200602,'HTTP_Flood','',0,1,1,99); +INSERT INTO sys_data_dictionary_item (item_code,item_value,item_desc,item_sort,STATUS,TYPE,dictionary_id) VALUES(200603,'SSDP_Flood','',0,1,1,99); \ No newline at end of file diff --git a/src/main/resources/sql/update_cfg_index_info-20180820.sql b/src/main/resources/sql/update_cfg_index_info-20180820.sql new file mode 100644 index 000000000..a00adcfd9 --- /dev/null +++ b/src/main/resources/sql/update_cfg_index_info-20180820.sql @@ -0,0 +1 @@ +alter table task_info add do_log int(11) COMMENT 'do_log:0不需要1记录所有日志2只记录结构化日志。默认是2' \ No newline at end of file diff --git a/src/main/resources/sql/update_function_region_dict_data.sql b/src/main/resources/sql/update_function_region_dict_data.sql new file mode 100644 index 000000000..87237ab84 --- /dev/null +++ b/src/main/resources/sql/update_function_region_dict_data.sql @@ -0,0 +1,64 @@ +#ip地址 +UPDATE function_service_dict SET region_code=1 WHERE function_id=5 AND ACTION IN(16,1); +UPDATE function_service_dict SET region_code=2 WHERE function_id=5 AND ACTION IN(32,96); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=27; +UPDATE function_region_dict SET config_service_type='ipaddr',config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17,1' WHERE dict_id=35; +#ip限流 +UPDATE function_service_dict SET region_code=1 WHERE function_id=302 AND ACTION IN(64); +UPDATE function_region_dict SET config_service_type='ratelimit',config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=67; +#IP复用策略 +UPDATE function_service_dict SET region_code=1 WHERE function_id=300 AND ACTION IN(96); +UPDATE function_region_dict SET config_service_type='ipmulitiplex',config_ip_port_show='1' ,config_ip_type='4,6',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=68; +#IP拦截 +UPDATE function_service_dict SET region_code=1 WHERE function_id=200 AND ACTION IN(1,128,64,80); +UPDATE function_region_dict SET config_service_type='ratelimit',config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=53; +#音视频IP +UPDATE function_service_dict SET region_code=2 WHERE function_id=20 AND ACTION IN(1,16); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=17; +#图片IP +UPDATE function_service_dict SET region_code=1 WHERE function_id=21 AND ACTION IN(1,16); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=24; +#APP IP +UPDATE function_service_dict SET region_code=1 WHERE function_id=405 AND ACTION IN(1); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0,6,17' WHERE dict_id=62; +#IP白名单 +UPDATE function_service_dict SET region_code=1 WHERE function_id=3 AND ACTION IN(128); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0,6,17' WHERE dict_id=7; +#http ip +UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=8 AND ACTION IN(16,1); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=14; +#ssl ip +UPDATE function_service_dict SET region_code='1,2,3,4' WHERE function_id=34 AND ACTION IN(16,1); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=23; +# mail ip +UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=35 AND ACTION IN(16,1); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=33; +# ddos ip +UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=301 AND ACTION IN(32); +UPDATE function_region_dict SET config_ip_port_show='2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=74; +# ftp ip +UPDATE function_service_dict SET region_code='1,2,3' WHERE function_id=51 AND ACTION IN(1,16); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=38; +# pxy control +UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=207 AND ACTION IN(16); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=84; +#pxy redirect +UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=208 AND ACTION IN(48); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=90; +#pxy replace +UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=209 AND ACTION IN(80); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=96; +#pxy monit +UPDATE function_service_dict SET region_code='1,2,3,4,5,6' WHERE function_id=210 AND ACTION IN(1); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=105; +#pxy whitelist +UPDATE function_service_dict SET region_code='1,2,3' WHERE function_id=211 AND ACTION IN(128); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0',config_protocol='0' WHERE dict_id=101; +#voip ip +UPDATE function_service_dict SET region_code='1,2' WHERE function_id=24 AND ACTION IN(1,16); +UPDATE function_region_dict SET config_ip_port_show='1,2' ,config_ip_type='4,6,46,64,10',config_ip_pattern='1,2,3',config_port_pattern='1,2',config_direction='0,1',config_protocol='0,6,17' WHERE dict_id=8; + + + + + diff --git a/src/main/resources/sql/字典修改记录.txt b/src/main/resources/sql/字典修改记录.txt index a8b991713..16b320e35 100644 --- a/src/main/resources/sql/字典修改记录.txt +++ b/src/main/resources/sql/字典修改记录.txt @@ -2,4 +2,11 @@ \u4FEE\u6539\u5B57\u5178LOG_STREAM_TYPE\uFF0C\u5C06\u6807\u8BC60\u30011\u30012\u6539\u4E3A1\u30012\u30013 2018-08-03 -\u589E\u52A0\u5B57\u5178ATTACK_TYPE\uFF0C\u4F9D\u636E\u534F\u8BAE\u7EDF\u8BA1\u5DF2\u6709\u7C7B\u578B \uFF1AUDP-Flood: 1069 \uFF0CSYN-Flood: 1070 \ No newline at end of file +\u589E\u52A0\u5B57\u5178ATTACK_TYPE\uFF0C\u4F9D\u636E\u534F\u8BAE\u7EDF\u8BA1\u5DF2\u6709\u7C7B\u578B \uFF1AUDP-Flood: 1069 \uFF0CSYN-Flood: 1070 + +2018-08-20\uFF08do_log:0\u4E0D\u9700\u89811\u8BB0\u5F55\u6240\u6709\u65E5\u5FD72\u53EA\u8BB0\u5F55\u7ED3\u6784\u5316\u65E5\u5FD7\u3002\u9ED8\u8BA4\u662F2\uFF09 +\u65B0\u589E\u662F\u5426\u8BB0\u5F55\u65E5\u5FD7 DO_LOG +\u6807\u8BC6 \u503C describe \u662F\u5426\u53EF\u7528 \u662F\u5426\u53EF\u7EF4\u62A4 +0 no_log \u4E0D\u8BB0\u5F55\u65E5\u5FD7 \u662F \u662F +1 all_log \u8BB0\u5F55\u6240\u6709\u65E5\u5FD7 \u662F \u662F +2 framework_log \u53EA\u8BB0\u5F55\u7ED3\u6784\u5316\u65E5\u5FD7 \ No newline at end of file