IPSpoofing配置批量审核操作增加欺骗IP池配置处理,修正图片样例批量审核功能

This commit is contained in:
zhangwenqing
2019-04-22 17:23:03 +08:00
parent 77c7649b6a
commit f773c95c0b
5 changed files with 124 additions and 6 deletions

View File

@@ -3444,6 +3444,8 @@ public class BaseController {
} }
BaseCfg batchCfg = new BaseCfg(); BaseCfg batchCfg = new BaseCfg();
batchCfg.setIsValid(-1);
batchCfg.setIsAudit(0);
batchCfg.setEditTime(new Date()); batchCfg.setEditTime(new Date());
batchCfg.setEditorId(UserUtils.getUser().getId()); batchCfg.setEditorId(UserUtils.getUser().getId());

View File

@@ -815,6 +815,19 @@
</foreach> </foreach>
</where> </where>
</when> </when>
<when test="tableName == 'pxy_obj_spoofing_ip_pool'" >
UPDATE ${tableName} SET
is_valid = #{entity.isValid,jdbcType=INTEGER},
is_audit = #{entity.isAudit,jdbcType=INTEGER},
auditor_id = #{entity.auditorId,jdbcType=INTEGER},
audit_time = #{entity.auditTime,jdbcType=TIMESTAMP}
<where>
AND cfg_id IN
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
#{compileId}
</foreach>
</where>
</when>
<otherwise> <otherwise>
update ${tableName} set is_audit = #{entity.isAudit,jdbcType=INTEGER}, update ${tableName} set is_audit = #{entity.isAudit,jdbcType=INTEGER},
auditor_id = #{entity.auditorId,jdbcType=INTEGER}, auditor_id = #{entity.auditorId,jdbcType=INTEGER},
@@ -1030,7 +1043,13 @@
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")"> <foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
#{compileId} #{compileId}
</foreach> </foreach>
</when> </when>
<when test="tableName == 'pxy_obj_spoofing_ip_pool'" >
AND cfg_id IN
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
#{compileId}
</foreach>
</when>
<otherwise> <otherwise>
AND compile_id IN AND compile_id IN
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")"> <foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">

View File

@@ -40,6 +40,7 @@ import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.NtcSubscribeIdCfg; import com.nis.domain.configuration.NtcSubscribeIdCfg;
import com.nis.domain.configuration.PxyObjKeyring; import com.nis.domain.configuration.PxyObjKeyring;
import com.nis.domain.configuration.PxyObjSpoofingIpPool;
import com.nis.domain.configuration.PxyObjTrustedCaCert; import com.nis.domain.configuration.PxyObjTrustedCaCert;
import com.nis.domain.configuration.PxyObjTrustedCaCrl; import com.nis.domain.configuration.PxyObjTrustedCaCrl;
import com.nis.domain.maat.GroupReuseAddBean; import com.nis.domain.maat.GroupReuseAddBean;
@@ -61,6 +62,7 @@ import com.nis.util.StringUtil;
import com.nis.web.dao.configuration.AreaIpCfgDao; import com.nis.web.dao.configuration.AreaIpCfgDao;
import com.nis.web.dao.configuration.CommonPolicyDao; import com.nis.web.dao.configuration.CommonPolicyDao;
import com.nis.web.dao.configuration.ConfigSynchronizationDao; import com.nis.web.dao.configuration.ConfigSynchronizationDao;
import com.nis.web.dao.configuration.PxyObjSpoofingIpPoolDao;
import com.nis.web.dao.configuration.StringCfgDao; import com.nis.web.dao.configuration.StringCfgDao;
import com.nis.web.dao.configuration.WebsiteCfgDao; import com.nis.web.dao.configuration.WebsiteCfgDao;
import com.nis.web.security.UserUtils; import com.nis.web.security.UserUtils;
@@ -73,6 +75,8 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
protected CommonPolicyDao commonPolicyDao; protected CommonPolicyDao commonPolicyDao;
@Autowired @Autowired
protected ConfigSynchronizationDao synchronizationDao; protected ConfigSynchronizationDao synchronizationDao;
@Autowired
protected PxyObjSpoofingIpPoolDao pxyObjSpoofingIpPoolDao;
/** /**
* maat配置批量失效 * maat配置批量失效
@@ -101,8 +105,12 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
maatBean = new ToMaatBean(); maatBean = new ToMaatBean();
configCompileList = new ArrayList(); configCompileList = new ArrayList();
List<Integer> compileIds = new ArrayList(); List<Integer> compileIds = new ArrayList();
List<String> spoofingPoolCfgIds = new ArrayList();
for(BaseCfg cfg:list){ for(BaseCfg cfg:list){
compileIds.add(cfg.getCompileId()); compileIds.add(cfg.getCompileId());
if(entity.getServiceId().equals(518)){ // IP_Spoofing
spoofingPoolCfgIds.add(cfg.getUserRegion3());
}
} }
if(!StringUtil.isEmpty(compileIds) && !StringUtil.isEmpty(entity.getTableName())) { if(!StringUtil.isEmpty(compileIds) && !StringUtil.isEmpty(entity.getTableName())) {
@@ -147,9 +155,39 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
if(cfgList!=null){ if(cfgList!=null){
for(Map<String,Object> m:cfgList){ for(Map<String,Object> m:cfgList){
String tableName = m.get("tableName").toString(); String tableName = m.get("tableName").toString();
commonPolicyDao.auditCfgBatch( tableName, entity,compileIds,null); if(tableName.equals("pxy_obj_spoofing_ip_pool")) {
commonPolicyDao.auditCfgBatch( tableName, entity,spoofingPoolCfgIds,null);
}else {
commonPolicyDao.auditCfgBatch( tableName, entity,compileIds,null);
}
} }
} }
if(entity.getServiceId().equals(518)){// IP仿冒策略
List<PxyObjSpoofingIpPool> poolList = new ArrayList<PxyObjSpoofingIpPool>();
String json="";
for (String cfgId : spoofingPoolCfgIds) {
PxyObjSpoofingIpPool pool = pxyObjSpoofingIpPoolDao.getPxyObjSpoofingIpPool(Long.parseLong(cfgId));
PxyObjSpoofingIpPool cfg = new PxyObjSpoofingIpPool();
cfg.setIsValid(0);
cfg.setCompileId(pool.getCompileId());
cfg.setServiceId(pool.getServiceId());
poolList.add(cfg);
}
// 调用服务接口取消配置
json=gsonToJson(poolList);
logger.info("欺骗IP池配置批量失效参数"+json);
// 调用服务接口取消配置
try {
ToMaatResult result = ConfigServiceUtil.put(json, 2);
logger.info("欺骗IP池配置批量失效响应信息"+result.getMsg());
} catch (Exception e) {
logger.info("欺骗IP池配置批量失效失败");
throw e;
}
}
for(BaseCfg cfg:list){ for(BaseCfg cfg:list){
maatCfg = new MaatCfg(); maatCfg = new MaatCfg();
maatCfg.setCompileId(cfg.getCompileId()); maatCfg.setCompileId(cfg.getCompileId());
@@ -300,7 +338,7 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
if(entity.getIsAudit()==1){ if(entity.getIsAudit()==1){
//调用服务接口下发配置数据 //调用服务接口下发配置数据
String json=gsonToJson(auditList); String json=gsonToJson(notAuditList);
//logger.warn("批量下发配置参数:"+json); //logger.warn("批量下发配置参数:"+json);
//调用服务接口下发配置 //调用服务接口下发配置
ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json); ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json);
@@ -337,6 +375,7 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
// 1.获取所有配置的编译ID // 1.获取所有配置的编译ID
List<Integer> compileIds = new ArrayList(); List<Integer> compileIds = new ArrayList();
List<String> spoofingPoolCfgIds = new ArrayList();
for(BaseCfg cfg:list){ for(BaseCfg cfg:list){
if(entity.getServiceId().equals(1028)) { if(entity.getServiceId().equals(1028)) {
compileIds.add(Integer.parseInt(cfg.getUserRegion1())); compileIds.add(Integer.parseInt(cfg.getUserRegion1()));
@@ -345,6 +384,10 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
}else { }else {
compileIds.add(cfg.getCompileId()); compileIds.add(cfg.getCompileId());
} }
if(entity.getServiceId().equals(518)){ // IP_Spoofing
spoofingPoolCfgIds.add(cfg.getUserRegion3());
}
} }
// 2.更新配置审核状态(主表) // 2.更新配置审核状态(主表)
@@ -358,7 +401,11 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
if(cfgList!=null){ if(cfgList!=null){
for(Map<String,Object> m:cfgList){ for(Map<String,Object> m:cfgList){
String tableName = m.get("tableName").toString(); String tableName = m.get("tableName").toString();
commonPolicyDao.auditCfgBatch( tableName, entity,compileIds,null); if(tableName.equals("pxy_obj_spoofing_ip_pool")) {
commonPolicyDao.auditCfgBatch( tableName, entity,spoofingPoolCfgIds,null);
}else {
commonPolicyDao.auditCfgBatch( tableName, entity,compileIds,null);
}
} }
} }
@@ -374,6 +421,7 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
List<BaseCfg> list, boolean hasData) { List<BaseCfg> list, boolean hasData) {
// 1.获取所有配置的编译ID // 1.获取所有配置的编译ID
List<Integer> compileIds = new ArrayList(); List<Integer> compileIds = new ArrayList();
List<String> spoofingPoolCfgIds = new ArrayList();
for(BaseCfg cfg:list){ for(BaseCfg cfg:list){
if(entity.getServiceId().equals(1028)) { if(entity.getServiceId().equals(1028)) {
compileIds.add(Integer.parseInt(cfg.getUserRegion1())); compileIds.add(Integer.parseInt(cfg.getUserRegion1()));
@@ -382,6 +430,11 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
}else { }else {
compileIds.add(cfg.getCompileId()); compileIds.add(cfg.getCompileId());
} }
if(entity.getServiceId().equals(518)){ // IP_Spoofing
spoofingPoolCfgIds.add(cfg.getUserRegion3());
}
cfg.setIsValid(-1); cfg.setIsValid(-1);
cfg.setIsAudit(0); cfg.setIsAudit(0);
} }
@@ -397,7 +450,11 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
if(cfgList != null){ if(cfgList != null){
for(Map<String,Object> m : cfgList){ for(Map<String,Object> m : cfgList){
String tableName = m.get("tableName").toString(); String tableName = m.get("tableName").toString();
commonPolicyDao.deleteCfgBatch(tableName, entity, compileIds); if(tableName.equals("pxy_obj_spoofing_ip_pool")) {
commonPolicyDao.deleteCfgBatch(tableName, entity, spoofingPoolCfgIds);
}else {
commonPolicyDao.deleteCfgBatch(tableName, entity, compileIds);
}
} }
} }

View File

@@ -69,6 +69,7 @@ import com.nis.web.dao.basics.AsnGroupInfoDao;
import com.nis.web.dao.configuration.AppCfgDao; import com.nis.web.dao.configuration.AppCfgDao;
import com.nis.web.dao.configuration.CommonPolicyDao; import com.nis.web.dao.configuration.CommonPolicyDao;
import com.nis.web.dao.configuration.ConfigSynchronizationDao; import com.nis.web.dao.configuration.ConfigSynchronizationDao;
import com.nis.web.dao.configuration.PxyObjSpoofingIpPoolDao;
import com.nis.web.dao.specific.ConfigGroupInfoDao; import com.nis.web.dao.specific.ConfigGroupInfoDao;
import com.nis.web.dao.specific.SpecificServiceCfgDao; import com.nis.web.dao.specific.SpecificServiceCfgDao;
import com.nis.web.security.UserUtils; import com.nis.web.security.UserUtils;
@@ -94,6 +95,9 @@ public class ConfigSynchronizationService extends BaseService{
protected AsnGroupInfoDao asnGroupInfoDao; protected AsnGroupInfoDao asnGroupInfoDao;
@Autowired @Autowired
protected AppCfgDao appCfgDao; protected AppCfgDao appCfgDao;
@Autowired
protected PxyObjSpoofingIpPoolDao pxyObjSpoofingIpPoolDao;
private boolean lastServiceTag = false;//标识是否是最后一个同步业务 private boolean lastServiceTag = false;//标识是否是最后一个同步业务
private boolean isFinished = false; private boolean isFinished = false;
/** /**
@@ -293,8 +297,12 @@ public class ConfigSynchronizationService extends BaseService{
configCompileList = new ArrayList(); configCompileList = new ArrayList();
List<Integer> compileIds = new ArrayList(); List<Integer> compileIds = new ArrayList();
List<String> asnGroupIds = new ArrayList(); List<String> asnGroupIds = new ArrayList();
List<String> spoofingPoolCfgIds = new ArrayList();
for(CfgIndexInfo cfg:list){ for(CfgIndexInfo cfg:list){
compileIds.add(cfg.getCompileId()); compileIds.add(cfg.getCompileId());
if(entity.getServiceId().equals(518)){ // IP_Spoofing
spoofingPoolCfgIds.add(cfg.getUserRegion3());
}
/*if(entity.getServiceId().equals(37)||entity.getServiceId().equals(149)){ /*if(entity.getServiceId().equals(37)||entity.getServiceId().equals(149)){
asnGroupIds.add(cfg.getUserRegion4()); asnGroupIds.add(cfg.getUserRegion4());
}*/ }*/
@@ -335,12 +343,43 @@ public class ConfigSynchronizationService extends BaseService{
if(!StringUtil.isEmpty(asnGroupIds)) { if(!StringUtil.isEmpty(asnGroupIds)) {
commonPolicyDao.auditCfgBatch(tableName, entity,asnGroupIds,null); commonPolicyDao.auditCfgBatch(tableName, entity,asnGroupIds,null);
} }
}else if(tableName.equals("pxy_obj_spoofing_ip_pool")) {
if(!StringUtil.isEmpty(spoofingPoolCfgIds)) {
commonPolicyDao.auditCfgBatch(tableName, entity,spoofingPoolCfgIds,null);
}
}else{ }else{
commonPolicyDao.auditCfgBatch( tableName, entity,compileIds,null); commonPolicyDao.auditCfgBatch( tableName, entity,compileIds,null);
} }
} }
} }
} }
if(entity.getServiceId().equals(518)){// IP仿冒策略
List<PxyObjSpoofingIpPool> poolList = new ArrayList<PxyObjSpoofingIpPool>();
String json="";
for (String cfgId : spoofingPoolCfgIds) {
PxyObjSpoofingIpPool pool = new PxyObjSpoofingIpPool();
pool = pxyObjSpoofingIpPoolDao.getPxyObjSpoofingIpPool(Long.parseLong(cfgId));
pool.setAreaEffectiveIds("0");
pool.setGroupId(pool.getCfgId().intValue());// 界面端的配置ID作为策略分组ID
poolList.add(pool);
}
// 调用服务接口下发配置数据
json=gsonToJson(poolList);
// logger.info("欺骗IP池配置批量下发配置参数"+json);
// 调用服务接口下发配置
try {
ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json);
if(result!=null){
logger.info("欺骗IP池配置批量下发响应信息"+result.getMsg());
}
} catch (Exception e) {
logger.error("欺骗IP池配置批量下发失败",e);
throw e;
}
}
//批量获取regionId,groupId(相同编译下的IP类配置多条ip只获取一个组号分组复用的域配置不需要重新获取regionId,groupId //批量获取regionId,groupId(相同编译下的IP类配置多条ip只获取一个组号分组复用的域配置不需要重新获取regionId,groupId
List<Integer> regionIds = ConfigServiceUtil.getId(3, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size()); List<Integer> regionIds = ConfigServiceUtil.getId(3, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size());
List<Integer> groupIds = ConfigServiceUtil.getId(2, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size()); List<Integer> groupIds = ConfigServiceUtil.getId(2, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size());
@@ -478,7 +517,7 @@ public class ConfigSynchronizationService extends BaseService{
String json=gsonToJson(maatBean); String json=gsonToJson(maatBean);
//调用服务接口下发配置数据 //调用服务接口下发配置数据
if(isUpdateCfg) { if(isUpdateCfg) {
// logger.info("配置批量下发:"+json); logger.info("配置批量下发:"+json);
//调用服务接口同步回调类配置 //调用服务接口同步回调类配置
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json); ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
if(result!=null){ if(result!=null){

View File

@@ -35,6 +35,7 @@
<!-- IP Spoofing --> <!-- IP Spoofing -->
<service id="518" functionId="214" serviceType="1" tableName="cfg_index_info" className="CfgIndexInfo" desc="IP Spoofing"> <service id="518" functionId="214" serviceType="1" tableName="cfg_index_info" className="CfgIndexInfo" desc="IP Spoofing">
<serviceCfg cfgType="1" tableName="ip_port_cfg" ></serviceCfg> <serviceCfg cfgType="1" tableName="ip_port_cfg" ></serviceCfg>
<serviceCfg cfgType="6" tableName="pxy_obj_spoofing_ip_pool" ></serviceCfg>
<!-- <serviceCfg cfgType="2" tableName="intercept_pkt_bin" ></serviceCfg> --> <!-- <serviceCfg cfgType="2" tableName="intercept_pkt_bin" ></serviceCfg> -->
<userRegion regionKey="nat_type" regionColumn="userRegion1" userRegionPosition="0"></userRegion> <userRegion regionKey="nat_type" regionColumn="userRegion1" userRegionPosition="0"></userRegion>
<userRegion regionKey="spoofing_ip_pool" regionColumn="userRegion3" userRegionPosition="0"></userRegion> <userRegion regionKey="spoofing_ip_pool" regionColumn="userRegion3" userRegionPosition="0"></userRegion>