具体实施方式
图1是本发明一个实施例的网络行为管理系统框图。该系统包括ICG审计模块110、策略模块120、延迟及控制模块130。
图1中,策略模块120位于数据通路上,其用于控制经过该策略模块120的数据包是直接通过该数据通路还是通过该延迟及控制模块130进行延迟处理。其中,该数据通路是传输网络中数据包的一条通路。
具体地,该策略模块120根据其内置策略允许一部分数据包通过该数据通路,而阻止或暂时阻止另一部分数据包通过该数据通路,且将此部分数据包(被阻止或被暂时阻止的数据包)发送至该控制模块130。该控制模块130首先对此部分数据包(被阻止或被暂时阻止的数据包)进行延迟处理,然后再基于该ICG审计模块110的审计结果,对此部分数据包做控制和处理。其中,该策略模块120中内置策略为IP地址方式,和/或网卡端口方式,和/或应用类型方式。例如,IP地址从0.0.0.1到0.0.0.10的所有终端发送的数据包均需要经过该延迟及控制模块130进行延迟处理,而其他数据包则直接通过该数据通路。又如,网卡端口从1到10的所有终端发送的数据包均需要经过该延迟及控制模块130进行延迟处理,而其他数据包则直接通过该数据通路。还如,应用类型为论坛发帖的所有数据包均需要经过该延迟及控制模块130进行延迟处理,而其他应用类型数据包则直接通过该数据通路。该应用类型种类有多种,如访问非法网站类、炒股类、观看在线视频类、网络聊天类、收发电子邮件类、论坛发帖类、玩网络游戏类等。
由于数据包本身就携带IP地址、网卡端口号,因此,该策略模块120可以直接识别出每一数据包的IP地址、网卡端口号。然而,任何数据包中都不直接携带该数据包的应用类型,基于此种情况,图2给出了具体解决方案。图2是本发明另一个实施例的网络行为管理系统框图。该图2是在图1基础上,增加了一个DPI设备,该DPI设备(深度包检测设备)用于确定经过其数据包的应用类型。
需要说明的是,策略模块120中的内置策略不限于以上所述几种方式,即可以是除IP地址方式、网卡端口方式、应用类型方式以外的任何一种策略。
较佳地,该策略模块120的内置策略由ICG审计模块110来配置,即该ICG审计模块110具有配置该策略模块120内置策略的功能。
此外,该策略模块120还可以用于实时检测网络环境,具有异常状况处理机制。举例如,该策略模块120可以实时检测系统中各CPU负载情况,检测网络流量,检测ICG审计模块110是否正常工作等。
因此,该ICG审计模块110还可以配置该策略模块120所检测网络环境的具体功能,如配置该ICG审计模块110是否需要具有检测网络中CPU负载情况的功能,是否需要具有检测网络流量的功能,是否需要具有检测该ICG审计模块的功能等。
该ICG审计模块110不仅可以配置该策略模块120所具有功能,而且还可以关闭该策略模块120。在关闭该策略模块120后,该策略模块120无任何功能,即其不对数据通路上的任何数据包做处理或控制,而是直接将所有数据包放行。
该ICG审计模块110除了可以用于配置该策略模块120所具有功能之外,还用于从该策略模块120中复制经由该策略模块120的且符合其内置策略的数据包,并对该数据包进行应用层内容审计。即该ICG审计模块110是一个应用层内容审计模块,其能够审计出数据包应用层内容。
具体地,该ICG审计模块110能够识别出用户是否访问非法网站,用户是否在炒股、观看视频、上网聊天,且能够审查出用户收发电子邮件中的邮件内容、用户通过聊天工作进行聊天的内容、用户在论坛上发帖的内容等应用层信息。因此,用户可以通过向该ICG审计模块110中设置何种类型数据包为非法数据包,即何种网络活动为非法网络活动,以完成对企业内网的精细化管理。举例如,用户可以设置玩网络游戏、观看在线视频为非法网络活动,从而提高员工工作效率。
该延迟及控制模块130用于接收来自策略模块120的数据包,并对该数据包进行延迟处理,并且基于来自ICG审计模块110对该数据包所作出的审计结果,对该数据包进行控制和处理。且该控制和处理结果有多种,举例如,一种是放行该数据包,即将该数据包发送至数据通路后继续传输;另一种是阻止该数据包,或直接丢弃该数据包;还有一种是修改数据包内容,如修改数据包内容为提示信息内容,而不是原本网页内容,然后再将该修改后的数据包发送至请求方;再有一种是对数据包所属连接进行控制,如控制TCP连接。该延迟及控制模块130对数据包所作出的控制和处理有多种,在此不一一列举。
若系统中仅有一个CPU(处理器),则该延迟及控制模块130中的延迟队列数量为1个。并且该延迟及控制模块130对数据包进行延迟处理的方式为,首先接收该数据包;然后将该数据包放入到该延迟队列中,并对该数据包进行延迟处理;最后再将该数据包从该延迟队列中发送出去。
若系统中的CPU数量为多个,则该延迟及控制模块130中的延迟队列数量也是多个,且该延迟队列数量也该CPU数量相同,并且延迟队列与CPU是一一对应的,参见图3。
图3是本发明一个实施例的多个CPU与多个延迟队列一一对应的关系示意图。图3中,CPU_1与延迟队列_1相对应,CPU_2与延迟队列_2相对应,......,CPU_n与延迟队列_n相对应。也就是说,CPU_1处理的数据包通过该延迟及控制模块130时,该延迟及控制模块130将其放入到延迟队列_1进行延迟处理;同样,CPU_2处理的数据包通过该延迟及控制模块130时,该延迟及控制模块130将该数据包放入到延迟队列_2中进行延迟处理;......;CPU_n处理的数据包通过该延迟及控制模块130时,该延迟及控制模块130将该数据包放入到延迟队列_n中进行延迟处理。因此,此种CPU与延迟队列一一对应的方式,不需要同步,避免了竞争,提高了系统性能。
较佳地,该延迟及控制模块130中延迟队列数量可根据系统CPU数量子适应配置。
图4是本发明一个实施例的网络行为管理流程图。
在步骤410,策略模块120依据ICG审计模块110的配置策略,实时检测经过该策略模块120的数据包。
在步骤420,一旦检测到有数据包符合该策略模块120的内置策略,则该策略模块120复制该数据包,再将该复制的数据包存储起来,然后通知该ICG审计模块110来取该复制的数据包,或者该ICG审计模块定期到该策略模块120中获取该复制数据包。然后,该策略模块120再将该数据包发送至该延迟及控制模块130。
举例如,该策略模块120中的内置策略为IP地址为0.0.0.1的终端所发送数据包需要经过该延迟及控制模块130进行延迟处理,则该策略模块120实时检测经过其数据包所属终端IP地址是否为0.0.0.1,如果是,则复制该数据包,并将该复制数据包存储起来,然后再将该数据包发送至该延迟及控制模块130。
在步骤430,该ICG审计模块110获取到该复制数据包之后,对该数据包进行应用层内容审计,识别出该数据包是否为非法数据包,然后再将该识别结果发送至该延迟及控制模块130。
举例如,若用户在ICG审计模块110中设置玩网络游戏为非法网络活动,且该ICG审计模块110审计出该数据包也为玩网络游戏数据包时,则判定出该数据包为非法数据包,并将该数据包是非法数据包这一审计结果发送至该延迟及控制模块130。
在步骤440,该延迟及控制模块130接收来自该策略模块110的数据包,并对该数据包进行延迟处理,如延迟一毫秒,在此期间内该延迟及控制模块130等待接收该ICG审计模块110的审计结果,并在接收到该ICG审计模块120的审计结果后,即在得到该数据包是否为非法数据包这一结果后,根据该结果对该数据包进行处理。
一个例子中,该延迟及控制模块130通过延迟队列方式对数据包进行延迟处理。另一个例子中,该延迟时间可以由用户自行配置。
此外,若该延迟及控制模块130在延迟时间内(如一毫秒)并未收到该ICG审计模块110的审计结果,即若该ICG审计模块110审计数据包所需时间超过系统设定的延迟时间,则该延迟及控制模块130直接将该数据包发送至该数据通路,以防止其影响网络速度。
在步骤441,如果该延迟及控制模块130接收到来自该ICG审计模块110的审计结果为该数据包是非法数据包,则该延迟及控制模块130阻止该数据包的传输,或丢弃该数据包,或者断开该数据包所属连接。
在步骤442,如果该延迟及控制模块130接收到来自该ICG审计模块110的审计结果为该数据包是合法数据包,则该延迟及控制模块130放行该数据包,即其将该数据包发送至该数据通路继续传输。
需要说明的是,对数据包进行应用层审计不限于采用ICG设备,即可以采用任意一种能够审计应用层数据包的设备。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由所述的权利要求书进行限定。