上网行为管理:应用控制技术
需求一
全天不允许使用QQ等聊天工具
**传统行为检测原理:**传统的网络设备根据根据数据包的五元组(源IP,目的IP,源端口,目的端口,协议)这些特征等来识别应用并进行丢弃、转发、接收、处理等行为。
通过识别协议为UDP,端口为8000,从而识别出是QQ聊天的应用,将该类数据包全部丢弃,实现封堵的目的
配置思路
1、 新增【上网策略】-【上网权限策略】-【策略设置】-【应用控制】在应用里面勾选IM,生效时间全天,移动终端设备里面勾选通讯聊天,动作拒绝,在【适用对象】选择办公区,即对办工区的所有用户关联上这条控制策略。
2、新增【上网策略】-【上网审计策略】-【应用审计】添加,勾选所有选项,在【适用对象】选择办公区,即对办工区的所有用户关联上这条识别策略。
效果
办公区员工通过设备上网时,登录QQ已经不能在登录了,登录又如下提示,在我们的上网行为监控里面可以记录QQ已经被拒绝,并审计了一些办公区用户的访问应用的行为。
需求二
全天只允许特定QQ账号上网
不允许其他QQ账号上网
应用特征识别技术
从数据包中可以看到,QQ用户的字段在应用层OICQ协议的Data字段。
该需求需要识别特定的QQ用户,而传统的行为检测只能对链路层、网络层、传输层进行数据处理,不能对应用层进行操作。
因此需要可以对应用层进行处理的深度行为检测技术
传统行为检测 VS 深度行为检测
深度行为检测技术
**产生背景:**传统技术无法识别精细的数据包应用和行为,无法识别经过伪装的数据包,无法满足现在的安全需求和可视需求
优点:
(1)可视化全网
(2)流量精细化管理
(3)减少或延迟带宽投入,降低网络运营成本
(4)及时发现和抑制异常流量
(5)透视全网服务质量,保障关键业务质量
(6)丰富的 QoS 提供能力
深度包检测技术(DPI)
深度包检测不仅检测源地址、目的地址、源端口、目的端口以及协议类型,还增加了应用层分析,另外识别各种应用及其内容
深度流检测技术(DFI)
DFI采用的是一种基于流量行为的应用识别技术,即不同的应用类型体现在会话连接或数据流上的状态等各有不同。基于流的行为特征,通过与已建立的应用数据流的数据模型对比,判断流的应用类型或业务。
举例:
RTP流 | P2P流 | |
---|---|---|
平均包长 | 一般在130~220byte | 一般在450bytes之上 |
下载时长 | 较短 | 较长 |
连接速率 | 较低(一般是20~84kbit/s) | 较高 |
会话保持时间 | 较长 | 较短 |
DFI技术正是基于这一系列流量的行为特征,建立流量特征模型,通过分析会话连接流的包长、连接速率、传输字节量、包与包之间的间隔等信息来与流量模型对比,从而实现鉴别应用类型。
深度包检测(DPI)VS 深度流检测(DFI)
•DFI仅对流量行为分析,因此只能对应用类型进行笼统分类,如对满足P2P流量模型的应用统一识别为P2P流量,对符合网络语音流量模型的类型统一归类为VOIP流量,但是无法判断该流量是否采用H.323或其他协议。
•如果数据包是经过加密传输的,则采用DPI方式的流控技术则不能识别其具体应用,而DFI方式的流控技术则不受影响,因为应用流的状态行为特征不会因加密而根本改变。
配置思路
1、新增【上网策略】-【上网权限策略】-【策略设置】-【应用控制】-【QQ白名单】,将允许的QQ用户加入QQ白名单,在【适用对象】选择办公区,即对办工区的所有用户关联上这条控制策略。
2、新增【上网策略】-【上网审计策略】-【应用审计】添加,勾选所有选项,在【适用对象】选择办公区,即对办工区的所有用户关联上这条识别策略。
3、登录在白名单内的QQ号,可以正常登录;登录在白名单之外的QQ号,登录失败。
效果
办公区员工通过设备上网时,一般用户登录QQ已经不能在登录(左图),登录有如下提示,在我们的上网行为监控里面可以记录QQ已经被拒绝,并审计了一些办公区用户的访问应用的行为。但是白名单用户可以正常登录(右图)
需求三
IT部上班时间不允许访问视频网站
HTTP识别工作原理
HTTP网站识别,终端设备通过DNS解析域名后,跟网站服务器三次握手完成,发给get请求,在get请求数据包中的host字段,就是我们访问网站的具体URL,我们通过抓取这个字段来识别终端用户是访问的哪个网站,例如,我在终端设备访问www.youku.com,抓包就可以得到如下数据包。
HTTP控制原理
如果我们对该url做封堵,终端设备在发出get请求后(即完成HTTP识别), 设备会伪装成网站服务器向终端设备发一个状态码302的数据包,源ip是网站服务器的ip地址(实际是我们设备发送的,我们设备发送的标识是ip.id为 0x5826),数据包中的内容是告知终端设备访问网站服务器的拒绝界面。如下图所示:访问http://10.1.3.40:80/disable/disable.html
配置思路
1、 新增【上网策略】-【上网权限策略】-【策略设置】-【应用控制】在应用里面访问网站-娱乐在线影音及下载勾选,生效时间上班时间,动作拒绝。
2、在【适用对象】选择IT部,即对IT部的所有用户关联上这条控制策略。
效果
(1)在终端设备打开www.youku.com,可以看到已经打不开,并跳转拒绝页面。
(2)【上网行为监控】可以查看访问youku的拒绝日志。
需求背景四
公共上网区的用户禁止访问百度
HTTPS识别工作原理
HTTPS网站识别,终端设备通过DNS解析域名后,跟网站服务器三次握手完成,终端开始发Client hello报文(SSL握手的第一阶段),在此报文中的server_name 字段包含所访问的域名,上网行为管理提取Server_Name字段来识别https的网站。如下图所示:在终端设备访问https://www.baidu.com抓取到的数据包。
HTTPS控制工作原理
对HTTPS网站封堵,终端设备在发送Client hello报文后,我们识别到该网站,然后同http封堵一样,伪装网站服务器给终端设备发送RST包(ip.id也是0x5826),断开终端设备与网站服务器之间的连接,从而控制HTTPS网站的访问。
与HTTP封堵的区别:HTTPS整个过程都是加密的,在没有做SSL中间人劫持的时候是无法劫持和伪造具体数据包的,从而无法实现重定向到拒绝界面。
配置
1、 新增【上网策略】-【上网权限策略】-【策略设置】-【应用控制】在应用里面勾选访问网站-web应用-搜索引擎,生效全天,动作拒绝。
2、在【适用对象】选择公共上网区,即对公共上网区的所有用户关联上这条控制策略。
效果
1、在终端设备打开https://www.baidu.com,可以看到已经打不开,并跳转拒绝页面。
2、【上网行为监控】可以查看访问www.baidu.com的拒绝日志。
自定义应用方法
上网行为管理已经内置规则库已经覆盖常见的应用和网站,并已半个月为周期的持续更新,但难免有部分不常见的应用和网站没有更新。在这种环境下面,只要我们提供应用的特征或者url就可以通过自定义进行识别和控制。
自定义应用思路
在【对象定义】-【自定义应用】可以对应用的数据包方向、协议、目标端口、目标ip、匹配的目标域名识别,只要能确定应用的这些特征,我们就可以识别和控制这些应用。
【注意】这些特征需要尽可能的精确,例如:只填写了端口80,其他条件匹配所有,就会造成所有的HTTP80端口的数据都会识别成这个自定义的应用
URL自定义思路
在【对象定义】-【URL分类库】可以自定义URL,如下图所示,支持匹配URL和域名关键字。