From 08706dd2fd7b818d17554f0f8540ba09e48cb8c9 Mon Sep 17 00:00:00 2001 From: zhangdongxu Date: Tue, 21 Aug 2018 15:27:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E7=90=86=E9=99=90=E9=80=9F=20IP(0x202?= =?UTF-8?q?)=E3=80=81=E4=BB=A3=E7=90=86=E9=99=90=E9=80=9F=E5=9F=9F?= =?UTF-8?q?=E5=90=8D(0x203)=E3=80=81PXY=20IP=E6=9B=BF=E6=8D=A2(0x205)?= =?UTF-8?q?=E3=80=81APP=20=E4=B8=BB=E9=A2=98=E7=BD=91=E7=AB=99=E9=85=8D?= =?UTF-8?q?=E7=BD=AE(0x480)=E3=80=81PXY=20=E8=AF=81=E4=B9=A6=E7=AE=A1?= =?UTF-8?q?=E7=90=86(0x208)=E3=80=81PXY=E7=AE=A1=E6=8E=A7=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=AD=96=E7=95=A5(0x260)=E6=B7=BB=E5=8A=A0=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nis/util/ServiceAndRDBIndexReal.java | 21 ++++++++-- .../applicationConfig-rule.properties | 32 +++++++++++---- .../applicationConfig-parser.xml | 27 ++++++++++++ .../maatXml/applicationConfig-maatRedis.xml | 41 ++++++++++++++++++- 4 files changed, 108 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/nis/util/ServiceAndRDBIndexReal.java b/src/main/java/com/nis/util/ServiceAndRDBIndexReal.java index 4fe4233..d656365 100644 --- a/src/main/java/com/nis/util/ServiceAndRDBIndexReal.java +++ b/src/main/java/com/nis/util/ServiceAndRDBIndexReal.java @@ -60,17 +60,30 @@ public class ServiceAndRDBIndexReal { if (unMaatService != null && !unMaatService.trim().equals("")) { String[] split = unMaatService.split(";"); for (String str : split) { - String[] serviceAction = str.split(":"); - serviceActionMap.put(Integer.valueOf(serviceAction[0]), Integer.valueOf(serviceAction[1])); +//回调类删除action zdx20180821 +// String[] serviceAction = str.split(":"); +// serviceActionMap.put(Integer.valueOf(serviceAction[0]), Integer.valueOf(serviceAction[1])); +// +// String serviceType = Configurations.getStringProperty(serviceAction[0], ""); +// if (serviceType != null && !serviceType.trim().equals("")) { +// String[] typeArrs = serviceType.split(";"); +// for (String typeStr : typeArrs) { +// String[] typeArr = typeStr.split(":"); +// String tableNameArr[] = typeArr[1].split(","); +// for (String tableName : tableNameArr) { +// unMaatSercieNameMap.put(Integer.parseInt(serviceAction[0]), tableName.toUpperCase()); +// } +// } +// } - String serviceType = Configurations.getStringProperty(serviceAction[0], ""); + String serviceType = Configurations.getStringProperty(str, ""); if (serviceType != null && !serviceType.trim().equals("")) { String[] typeArrs = serviceType.split(";"); for (String typeStr : typeArrs) { String[] typeArr = typeStr.split(":"); String tableNameArr[] = typeArr[1].split(","); for (String tableName : tableNameArr) { - unMaatSercieNameMap.put(Integer.parseInt(serviceAction[0]), tableName.toUpperCase()); + unMaatSercieNameMap.put(Integer.parseInt(str), tableName.toUpperCase()); } } } diff --git a/src/main/resources/applicationConfig-rule.properties b/src/main/resources/applicationConfig-rule.properties index cc34c8c..74c566f 100644 --- a/src/main/resources/applicationConfig-rule.properties +++ b/src/main/resources/applicationConfig-rule.properties @@ -20,7 +20,7 @@ ##回流 0x60 96 loop ##白名单 0x80 128 whitelist -service=1:128;2:128;16:16;17:16;18:16;19:16;20:16;21:16;22:16;23:16;24:16;26:16;27:16;30:16;31:16;32:16;33:16;34:16;35:16;36:16;128:1;129:1;130:1;131:1;132:1;133:1;134:1;135:1;136:1;137:1;138:1;139:1;140:1;141:1;142:1;143:1;144:1;145:1;147:1;148:1;256:16;257:16;258:16;259:16;260:16;267:16;384:1;385:1;386:1;387:1;388:1;395:1;512:1;513:1;521:128;528:48;544:2;560:80;576:16;592:1;750:128;768:96;1024:1;1026:1;1027:1;1028:1;1029:1;1030:1;1031:1;1040:32;1041:32;1042:32;1056:64;1057:64;1058:64;1059:64;1060:64 +service=1:128;2:128;16:16;17:16;18:16;19:16;20:16;21:16;22:16;23:16;24:16;26:16;27:16;30:16;31:16;32:16;33:16;34:16;35:16;36:16;128:1;129:1;130:1;131:1;132:1;133:1;134:1;135:1;136:1;137:1;138:1;139:1;140:1;141:1;142:1;143:1;144:1;145:1;147:1;148:1;256:16;257:16;258:16;259:16;260:16;267:16;384:1;385:1;386:1;387:1;388:1;395:1;512:1;513:1;514:64;515:64;517:80;521:128;528:48;544:2;560:80;576:16;592:1;750:128;768:96;1024:1;1026:1;1027:1;1028:1;1029:1;1030:1;1031:1;1040:32;1041:32;1042:32;1056:64;1057:64;1058:64;1059:64;1060:64;1152:1 #0x1E 0x8E 有问题:14:NTC_XMPP_REGION,NTC_XMPP_CONT 无表结构 不确定表是不是字符串类 @@ -139,11 +139,18 @@ service=1:128;2:128;16:16;17:16;18:16;19:16;20:16;21:16;22:16;23:16;24:16;26:16; 512=10:PXY_INTERCEPT_COMPILE;11:PXY_INTERCEPT_GROUP;12:PXY_INTERCEPT_IP;14:PXY_CRTL_SUBSCRIBE_ID;18:NTC_IP_RANGE #0x201 PXY拦截域名 513=10:PXY_INTERCEPT_COMPILE;11:PXY_INTERCEPT_GROUP;14:PXY_INTERCEPT_DOMAIN,PXY_CRTL_SUBSCRIBE_ID;18:NTC_IP_RANGE +#0x202 PXY限速IP +514=10:PXY_INTERCEPT_COMPILE;11:PXY_INTERCEPT_GROUP;12:PXY_INTERCEPT_IP;14:PXY_CRTL_SUBSCRIBE_ID;18:NTC_IP_RANGE +#0x203 PXY限速域名 +515=10:PXY_INTERCEPT_COMPILE;11:PXY_INTERCEPT_GROUP;14:PXY_INTERCEPT_DOMAIN,PXY_CRTL_SUBSCRIBE_ID;18:NTC_IP_RANGE +#0x205 基于PXY IP替换 +517=10:PXY_INTERCEPT_COMPILE;11:PXY_INTERCEPT_GROUP;12:PXY_INTERCEPT_IP;13:PXY_INTERCEPT_PKT_BIN;14:PXY_CRTL_SUBSCRIBE_ID;18:NTC_IP_RANGE + #0x209 PXY拦截白名单 521=10:PXY_INTERCEPT_COMPILE;11:PXY_INTERCEPT_GROUP;12:PXY_INTERCEPT_IP;14:PXY_INTERCEPT_DOMAIN,PXY_CRTL_SUBSCRIBE_ID;18:NTC_IP_RANGE #0x210 PXY HTTP重定向 528=10:PXY_CTRL_COMPILE;11:PXY_CTRL_GROUP;12:PXY_CTRL_IP;14:PXY_CTRL_HTTP_URL,PXY_CTRL_HTTP_REQ_BODY,PXY_CRTL_SUBSCRIBE_ID;15:PXY_CTRL_HTTP_REQ_HDR,PXY_CTRL_HTTP_RES_HDR;18:NTC_IP_RANGE -#0x220 PXY HTTP 转发 +#0x220 PXY HTTP转发 544=10:PXY_CTRL_COMPILE;11:PXY_CTRL_GROUP;12:PXY_CTRL_IP;14:PXY_CTRL_HTTP_URL,PXY_CTRL_HTTP_REQ_BODY,PXY_CRTL_SUBSCRIBE_ID;15:PXY_CTRL_HTTP_REQ_HDR,PXY_CTRL_HTTP_RES_HDR;18:NTC_IP_RANGE #0x230 PXY HTTP替换 560=10:PXY_CTRL_COMPILE;11:PXY_CTRL_GROUP;12:PXY_CTRL_IP;14:PXY_CTRL_HTTP_URL,PXY_CTRL_HTTP_REQ_BODY,PXY_CTRL_HTTP_RES_BODY,PXY_CRTL_SUBSCRIBE_ID;15:PXY_CTRL_HTTP_REQ_HDR,PXY_CTRL_HTTP_RES_HDR;18:NTC_IP_RANGE @@ -191,10 +198,12 @@ service=1:128;2:128;16:16;17:16;18:16;19:16;20:16;21:16;22:16;23:16;24:16;26:16; 1059=10:APP_COMPILE;11:APP_GROUP;14:APP_POLICY,APP_SUBSCRIBE_ID;18:NTC_IP_RANGE #0x424 隧道行为限流 1060=10:APP_COMPILE;11:APP_GROUP;14:APP_POLICY,APP_SUBSCRIBE_ID;18:NTC_IP_RANGE +#0x480 APP 主题网站配置 +1152=10:APP_COMPILE;11:APP_GROUP;14:APP_TOPIC_DOMAIN,APP_SUBSCRIBE_ID;18:NTC_IP_RANGE -#格式:业务类型1:动作;业务类型2:动作 ( 用于验证回调类service与action对应关系) -unMaatService=3:32;4:96;5:32;25:32;28:32;64:16;65:16;261:16;262:16;263:16;264:16;265:16;266:16;389:1;390:1;391:1;392:1;393:1;394:1;832:96;1025:1 - +#格式:业务类型1:动作;业务类型2:动作 ( 用于验证回调类service与action对应关系) 删除所有回调类的action属性 zdx20180821 +#unMaatService=3:32;4:96;5:32;25:32;28:32;64:16;65:16;261:16;262:16;263:16;264:16;265:16;266:16;389:1;390:1;391:1;392:1;393:1;394:1;832:96;1025:1 +unMaatService=3;4;5;25;28;64;65;261;262;263;264;265;266;389;390;391;392;393;394;520;608;832;1025 #0x03 IP地址丢弃 3=0:INLINE_IP_CB #0x04 IP地址回流 @@ -239,6 +248,11 @@ unMaatService=3:32;4:96;5:32;25:32;28:32;64:16;65:16;261:16;262:16;263:16;264:16 #0x18A 视频色情监测 394=0:MM_PORN_VIDEO_LEVEL +#0x208 PXY 证书管理 +520=0:PXY_OBJ_KEYRING +#0x260 PXY 管控文件策略 +608=0:PXY_OBJ_FILE + #0x340 IP复用地址池配置(回调) 832=0:IR_STATIC_IP_POOL_CB @@ -262,6 +276,7 @@ unMaatService=3:32;4:96;5:32;25:32;28:32;64:16;65:16;261:16;262:16;263:16;264:16 #0x201 PXY拦截域名 513:4,2,7; #0x400 APP HTTP特征发现 1024:2,6,7; #0x402 APP DOMAIN特征发现 1026:2,6,7; +#0x403 APP 字节特征 1027:2,6,7; #0x404 APP IP特征 1028:2,6,7; #0x410 APP丢弃 1040:2,6,7; #0x411 基础协议丢弃 1041:2,6,7; @@ -274,7 +289,7 @@ unMaatService=3:32;4:96;5:32;25:32;28:32;64:16;65:16;261:16;262:16;263:16;264:16 #0x405 SSL证书特征 1029:2,6,7; #0x406 TCP Session特征 1030:2,6,7; #0x407 Header(L2\L3)特征 1031:2,6,7; - +#0x480 APP 主题网站配置 1152:2,6 ##回调类配置 #0x03 IP地址丢弃 3:7; #0x04 IP地址回流 4:7; @@ -282,7 +297,7 @@ unMaatService=3:32;4:96;5:32;25:32;28:32;64:16;65:16;261:16;262:16;263:16;264:16 #0x19 IPSec丢弃 25:7; #0x340 IP复用地址池配置(回调)832:2,4,5,7 ########## -serviceDBIndex=1:2,3,4,6,7;2:2,3,4,6,7;16:2;17:2;18:2;19:2;20:2;21:2;22:2;23:2;24:2;26:2;27:2;30:2;31:2;32:2;33:2,6,7;34:2;35:2,6,7;36:2,6,7;128:2;129:2;130:2;131:2;132:2;133:2;134:2;135:2;136:2;137:2;138:2;139:2;140:2;141:2;142:2;143:2;144:2;145:2,6,7;147:2,6,7;148:2,6,7;256:3;257:3;258:3;259:3;260:3;267:3;384:3;385:3;386:3;387:3;388:3;395:3;512:4,7;513:4,2,7;521:4;528:4;544:4;560:4;576:4;592:4;750:4;768:5;1024:2,6,7;1024:2;1025:2;1026:2,6,7;1027:2;1028:2,6,7;1029:2,6,7;1030:2,6,7;1031:2,6,7;1040:2,6,7;1041:2,6,7;1042:2,6,7;1056:2,6,7;1057:6,7;1058:6,2,7;1059:2,6,7;1060:2,6,7;3:7;4:7;5:2;25:7;28:7;64:2;65:2;261:8;262:9;263:10;264:11;265:3;266:3;389:3;390:3;391:3;392:3;393:3;394:3;832:2,4,5,7 +serviceDBIndex=1:2,3,4,6,7;2:2,3,4,6,7;16:2;17:2;18:2;19:2;20:2;21:2;22:2;23:2;24:2;26:2;27:2;30:2;31:2;32:2;33:2,6,7;34:2;35:2,6,7;36:2,6,7;128:2;129:2;130:2;131:2;132:2;133:2;134:2;135:2;136:2;137:2;138:2;139:2;140:2;141:2;142:2;143:2;144:2;145:2,6,7;147:2,6,7;148:2,6,7;256:3;257:3;258:3;259:3;260:3;267:3;384:3;385:3;386:3;387:3;388:3;395:3;512:4,7;513:4,2,7;514:4;515:4;517:4;520:4;521:4;528:4;544:4;560:4;576:4;592:4;608:4;750:4;768:5;1024:2,6,7;1024:2;1025:2;1026:2,6,7;1027:2,6,7;1028:2,6,7;1029:2,6,7;1030:2,6,7;1031:2,6,7;1040:2,6,7;1041:2,6,7;1042:2,6,7;1056:2,6,7;1057:6,7;1058:6,2,7;1059:2,6,7;1060:2,6,7;1152:2,6;3:7;4:7;5:2;25:7;28:7;64:2;65:2;261:8;262:9;263:10;264:11;265:3;266:3;389:3;390:3;391:3;392:3;393:3;394:3;832:2,4,5,7 ##maat配置入阀门需要将编译中的部分参数写到域配置中,目前最多包含ACTION,SERVICE,USER_REGION三个属性 @@ -295,10 +310,11 @@ serviceDBIndex=1:2,3,4,6,7;2:2,3,4,6,7;16:2;17:2;18:2;19:2;20:2;21:2;22:2;23:2;2 #0x201 PXY拦截域名 513 #0x400 APP HTTP特征发现 1024 #0x402 APP DOMAIN特征发现 1026 +#0x403 APP 字节特征 1027 #0x404 APP IP特征 1028 #0x410 APP丢弃 1040 #0x420 APP限流 1056 #0x421 IP限流 1057 #0x422 域名限流 1058 -maat2Valve=33:strRegion@ACTION&SERVICE&USER_REGION;35:strRegion@ACTION&SERVICE&USER_REGION;36:strRegion@ACTION&SERVICE&USER_REGION;145:strRegion@ACTION&SERVICE&USER_REGION;147:strRegion@ACTION&SERVICE&USER_REGION;148:strRegion@ACTION&SERVICE&USER_REGION;512:ipRegion@ACTION&SERVICE;513:strRegion@ACTION&SERVICE&USER_REGION;1024:strRegion|strStrRegion@USER_REGION;1026:strRegion|strStrRegion@USER_REGION;1028:ipRegion@USER_REGION;1029:strStrRegion@USER_REGION;1030:numRegion@USER_REGION;1031:strStrRegion@USER_REGION;1040:strRegion@ACTION&SERVICE&USER_REGION;1041:strRegion@ACTION&SERVICE&USER_REGION;1042:strRegion@ACTION&SERVICE&USER_REGION;1056:strRegion@ACTION&SERVICE&USER_REGION;1057:ipRegion@ACTION&SERVICE&USER_REGION;1058:strRegion@ACTION&SERVICE&USER_REGION;1059:strRegion@ACTION&SERVICE&USER_REGION;1060:strRegion@ACTION&SERVICE&USER_REGION +maat2Valve=33:strRegion@ACTION&SERVICE&USER_REGION;35:strRegion@ACTION&SERVICE&USER_REGION;36:strRegion@ACTION&SERVICE&USER_REGION;145:strRegion@ACTION&SERVICE&USER_REGION;147:strRegion@ACTION&SERVICE&USER_REGION;148:strRegion@ACTION&SERVICE&USER_REGION;512:ipRegion@ACTION&SERVICE;513:strRegion@ACTION&SERVICE&USER_REGION;1024:strRegion|strStrRegion@USER_REGION;1026:strRegion|strStrRegion@USER_REGION;1027:strRegion|strStrRegion@USER_REGION;1028:ipRegion@USER_REGION;1029:strStrRegion@USER_REGION;1030:numRegion@USER_REGION;1031:strStrRegion@USER_REGION;1040:strRegion@ACTION&SERVICE&USER_REGION;1041:strRegion@ACTION&SERVICE&USER_REGION;1042:strRegion@ACTION&SERVICE&USER_REGION;1056:strRegion@ACTION&SERVICE&USER_REGION;1057:ipRegion@ACTION&SERVICE&USER_REGION;1058:strRegion@ACTION&SERVICE&USER_REGION;1059:strRegion@ACTION&SERVICE&USER_REGION;1060:strRegion@ACTION&SERVICE&USER_REGION diff --git a/src/main/resources/commonSources/applicationConfig-parser.xml b/src/main/resources/commonSources/applicationConfig-parser.xml index 7c41d3b..da65579 100644 --- a/src/main/resources/commonSources/applicationConfig-parser.xml +++ b/src/main/resources/commonSources/applicationConfig-parser.xml @@ -128,6 +128,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/maatXml/applicationConfig-maatRedis.xml b/src/main/resources/maatXml/applicationConfig-maatRedis.xml index 4c7ea96..580fd68 100644 --- a/src/main/resources/maatXml/applicationConfig-maatRedis.xml +++ b/src/main/resources/maatXml/applicationConfig-maatRedis.xml @@ -136,9 +136,48 @@ MAAT_VERSION_TIMER + + + EFFECTIVE_RULE;:;{un_maat_table_name};,;[cfg_id] + [keyring_id];\t;[service];\t;[keyring_name];\t;[keyring_type];\t;[private_key_file];\t;[publici_key_file];\t;[expire_after];\t;[kublic_key_algo];\t;[crl];\t;[is_valid];\t;[op_time]; 0;\n + + + 1 + MAAT_VERSION + + + MAAT_UPDATE_STATUS + + + MAAT_RULE_TIMER + + + MAAT_VERSION_TIMER + + + + + EFFECTIVE_RULE;:;{un_maat_table_name};,;[cfg_id] + [file_id];\t;[service];\t;[file_desc];\t;[content_type];\t;[content_length];\t;[file_path];\t;[is_valid];\t;[op_time]; 0;\n + + + 1 + MAAT_VERSION + + + MAAT_UPDATE_STATUS + + + + MAAT_RULE_TIMER + + + MAAT_VERSION_TIMER + + + service="1;2;16;17;18;19;20;21;22;23;24;26;27;30;31;32;33;34;35;36;128;129;130;131;132;133;134;135;136;137;138;139;140;141;142;143;144;145;147;148;256;257;258;259;260;267;384;385;386;387;388;395;512;513;514;515;517;521;528;544;560;576;592;750;768;848;1024;1026;1027;1028;1029;1030;1031;1040;1041;1042;1056;1057;1058;1059;1060;1152"> EFFECTIVE_RULE;:;{compile_table_name};,;[compile_id] [compile_id];\t;[service];\t;[action];\t;[do_blacklist];\t;[do_log];\t;[effective_range];\t;[user_region];\t;[is_valid];\t;[group_num];\t;[father_cfg_id];\t;[op_time]; 0;\n