本文主要是介绍上网行为安全之应用控制技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 1.应用特征识别技术
- (1)需求例1
- 配置思路
- 效果显示
- (2)需求例二
- 配置思路
- 效果
- 应用特征识别技术
- 传统行为检测与深度行为检测的比较
- 深度行为检测技术
- (1)深度包检测技术(DPI)
- A基于特征字的检测技术
- B基于应用网关的检测技术(ALG)
- C基于行为模式的检测技术
- (2)深度流检测技术(DFI)
- (3) 深度流检测(DFI)技术分析
- 2.HTTP识别控制技术
- 需求例1
- 配置思路
- 效果展示
- HTTP识别工作原理
- HTTP控制工作原理
- 3.HTTPS识别控制技术
- 需求例1
- HTTPS协议
- HTTPS协议简介
- URL格式
- HTTPS原理
- 第一阶段握手
- 第二阶段握手
- 第三阶段握手
- 排错思路
- 总结
- 4.自定义应用识别技术
- 4.1应用特征配置思路
- 4.2URL自定义配置思路
- 4.3对象自定义总结
- 4.4对象自定义作用
- 4.5上网权限策略排查思路
- 4.6审计策略排查思路
- 4.7准入策略排查思路
1.应用特征识别技术
(1)需求例1
全天不允许使用QQ等聊天工具
案例网络拓扑图
数据包五元组
传统行为检测原理:传统的网络设备根据根据数据包的五元组(源IP,目的IP, 源端口,目的端口,协议)这些特征等来识别应用并进行丢弃、转发、接收、 处理等行为。
通过识别协议为UDP,端口为8000,从而识别出是QQ聊天的应用,将该类数 据包全部丢弃,实现封堵的目的
配置思路
1、 新增【上网策略】-【上网权限策略】-【策略设置】-【应用控制】在应 用里面勾选IM,生效时间全天,移动终端设备里面勾选通讯聊天,动作拒绝, 在【适用对象】选择办公区,即对办工区的所有用户关联上这条控制策略。
2、新增【上网策略】-【上网审计策略】-【应用审计】添加,勾选所有选项, 在【适用对象】选择办公区,即对办工区的所有用户关联上这条识别策略。
效果显示
办公区员工通过设备上网时,登录QQ已经不能在登录了,登录又如下提 示,在我们的上网行为监控里面可以记录QQ已经被拒绝,并审计了一些办公 区用户的访问应用的行为。
(2)需求例二
全天只允许特定QQ账号上网, 不允许其他QQ账号上网
怎么实现上述需求?
答:需通过一种安全特征识别技术来实现
配置思路
1、 新增【上网策略】-【上网权限策略】-【策略设置】-【应用控制】在应 用里面勾选IM,生效时间全天,移动终端设备里面勾选通讯聊天,动作拒绝, 在【适用对象】选择办公区,即对办工区的所有用户关联上这条控制策略。
2、新增【上网策略】-【上网审计策略】-【应用审计】添加,勾选所有选项, 在【适用对象】选择办公区,即对办工区的所有用户关联上这条识别策略。
3、新增【上网策略】-【上网权限策略】-【策略设置】-【应用控制】-【QQ 白名单】,将允许的QQ用户加入QQ白名单。
效果
办公区员工通过设备上网时,一般用户登录QQ已经不能在登录, 登录又如下提示,在我们的上网行为监控里面可以记录QQ已经被拒绝,并审 计了一些办公区用户的访问应用的行为。但是白名单用户可以正常登录
应用特征识别技术
•从数据包中可以看到,QQ用户的字段在应用层OICQ协议的Data字段
•该需求需要识别特定的QQ用户,而传统的行为检测只能对链路层、网络层、 传输层进行数据处理,不能对应用层进行操作。
传统行为检测与深度行为检测的比较
深度行为检测技术
产生背景:传统技术无法识别精细的数据包应用和行为,无法识别经过伪装的 数据包,无法满足现在的安全需求和可视需求
技术优点
(1)可视化全网
(2)流量精细化管理
(3)减少或延迟带宽投入, 降低网络运营成本
(4)及时发现和抑制异常流量
(5)透视全网服务质量,保障 关键业务质量
(6)丰富的 QoS 提供能力
(1)深度包检测技术(DPI)
深度包检测不仅检测源地址、目的地址、源端口、目的端口以及协议类型,还增加了应用层分析,另外识别各种应用及其内容
A基于特征字的检测技术
客户需求::在客户局域网中只允许电脑上网,不允许手机上网
需求分析:该需求需要能够识别哪些上网数据是手机端发出的,哪些是PC端 发出的。通过数据包分析,发现手机和电脑在同时上网的时候(同时使用 HTTP协议)会在HTTP协议的User-Agent字段区分出手机数据和PC数据。
了解基于特征的识别技术知识
1.不同的应用通常依赖于不同的协议,而不同的协议都有其特殊的特征,这些特征可能是特定的端口、特定的字符串或者特定的 Bit 序列。
2.基于“特征字”的识别技术通过对业务流中特定数据报文中的特征信息的检测以确定业务流承载的应用和内容。
3.通过对应用特征信息的升级(例如http数据包中的User-Agent的位置),基于特征的识别技术可以很方便的进行功能扩展,实现对新协议的检测。
B基于应用网关的检测技术(ALG)
客户需求:禁用VoIP视频
需求分析:VoIP视频协议是先使用控制信令来协商数据的传输,之后进行数据 流的传输。VoIP视频数据交换过程抓包如下
VoIP视频协议的数据流可以看到是基于UDP的,跟踪数据流,发现该数据没有 任何特征,但是VoIP在进行数据传输前是有控制信令来协商数据的传输
知识
1.某些应用的控制流和数据流是分离的,数据流没有任何特征。这种情况下,我 们就需要采用应用层网关识别技术。
2.应用层网关需要先识别出控制流,根据的协议,对控制流进行解析,从协议内 容中识别出相应的业务流
C基于行为模式的检测技术
基于对终端已经实施的行为的分析,判断出用户正在进行的动作或者即将实施的动作。
行为模式识别技术通常用于无法根据协议判断的业务的识别
例子:垃圾邮件行为模式识别 SPAM(垃圾邮件)业务流和普通的 Email 业务流从 Email 的内容上看是完全一致的,只有通过对用户行为的分析,才能够准确的识别出SPAM 业务
(2)深度流检测技术(DFI)
DFI采用的是一种基于流量行为的应用识别技术,即不同的应用类型体现在会话连接或数据流上的状态等各有不同。
基于流的行为特征,通过与已建立的应用数据流的数据模型对比,判断流的应用类型或业务
DFI技术正是基于这一系列流量的行为特征,建立流量特征模型,通过分析会话连接流的包长、连接速率、传输字节量、包与包之间的间隔等信息来与流量模型对比,从而实现鉴别应用类型。
(3) 深度流检测(DFI)技术分析
DFI仅对流量行为分析,因此只能对应用类型进行笼统分类,如对满足P2P 流量模型的应用统一识别为P2P流量,对符合网络语音流量模型的类型统一归类为VOIP流量,但是无法判断该流量是否采用H.323或其他协议。
如果数据包是经过加密传输的,则采用DPI方式的流控技术则不能识别其具体应用,而DFI方式的流控技术则不受影响,因为应用流的状态行为特征不会因加密而根本改变。
2.HTTP识别控制技术
需求例1
IT部上班时间不允许访问视频网站
配置思路
1、 新增【上网策略】-【上网权限策略】-【策略设置】-【应用控制】
在应用里面访问网站-娱乐在线影音及下载勾选,生效时间上班时间,动作拒绝。
2、在【适用对象】选择IT部,即对IT部的所有用户关联上这条控制策略。
效果展示
(1)在终端设备打开www.youku.com,可以看到已经打不开,并跳转拒绝 页面。
(2)【上网行为监控】可以查看访问youku的拒绝日志。
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.htm
3.HTTPS识别控制技术
需求例1
公共上网区的用户禁止访问淘宝
HTTPS协议
HTTPS协议简介
全称Hypertext Transfer Protocol over Secure Socket Layer,是 HTTP的安全版,HTTPS默认使用TCP端口443,也可以指定其他的TCP端口。
HTTPS中S,实际上是SSL(Secure Sockets Layer)协议。
SSL是Netscape公司发明的一种用于WEB的安全传输协议。 随着时间 的推移由于Netscape失去了市场份额,它将SSL的维护工作移交给因特网工 程任务组(IETF)。第一个后Netscape版本被重新命名为安全传输层协议 (TLS), TLS (Transport Layer Security :RFC 2246)是基于SSL上研发的, 但是与SSLv3.0有细微的差别。因此,SSL协议有时也称为TLS协议。目前常 用的是TLSv1.0的协议。
URL格式
https//:URL 例如:https://www.baidu.com
HTTPS原理
下面对于四次握手进行细致分析
第一阶段握手
Client hello
客户端给服务器端发个hello的问候,问候里包含有它使用的SSL版本号、加 密套件列表,压缩算法列表,客户端随机数,sessionid = 0;
服务器收到客户端的问候后,会从客户端提供的版本号中选出双方都支持 的最高版本, 从加密套件列表选择一种支持也安全性强的加密套件,从压 缩算法列表选择压缩算法(一般为空)。
第二阶段握手
Server hello
服务器端将上述选择的加密套件,压缩算法(NULL),且计算一个session_id, 和服务器端随机数发送给客户端
客户端收到serverhello的报文会将加密套件,压缩算法(NULL), session_id,和服务器端随机数缓存起来。接着继续握手过程
Server Certificate
服务器端将自己的证书发送给客户端,证明自己的身份。证书中包含有服务 器的身份信息,以及服务器的公钥
客户端收到Certificate报文会验证该证书是否过期,并将服务器的公钥缓存起来
Client Certificate Requst
如果是SSL的双向认证的话 ,那么服务器端会向客户端发送client cert request 消息,索要客户端的证书,证书中包含有server端支持的证书类 型,和所信任的所有证书发行机构(CA(Certificate Authority))列表
客户端收到Client Certificate Requst报文将消息中的证书类型列表和可信 任证书发行机构列表保存下来,可在后面发送客户端证书时候拿来筛选证书 用。
Server Hello done
服务器端通知客户端这一步的握手消息发送完成。等待客户端确认。
第三阶段握手
Client Certificate
客户端从之前收到server 端发的 cert request 消息中的支持的证书类型列 表和信任的根 CA (Certificate Authentication)列表中选择满足条件的第 一个证书发送给服务器。
服务器端会缓存客户端的公钥。
Client Key Exchang
若为RSA加密,客户端则产生一个 48 位随机数作为 pre-master(预主密 钥) 并用服务器公钥加密后发出去。
服务器端缓存预主密钥。
Certificate verify
Certificate verify这个消息中要包含一个签名,签名里头内容就是 从 client hello 开始到目前为止所有握手消息(不包括本消息)的摘要, 然后用客户端的私钥加密
由于之前的Client Certificate消息中包含有客户端的公钥,因此用公钥解 密该消息,验证客户端的真实性。
Change Cipher Spec
[Change Cipher Spec]该消息只有一个值为1的字节。不属于握手协议, 和握手协议同一级别的改变加密约定协议。发送该消息的作用是为了告诉 对方接下来的消息将采用新协商的加密套件和密钥进行通信
在发送该消息的同时,客户端会把之前的客户端随机数,服务器端随机数、 以及预主钥产生一个主密钥。并将主密钥进行密钥导出(服务器端的写 MAC密钥、客户端写MAC密钥、服务器端的写密钥、客户端的写密钥), 该过程只在本地进行,不发送给对方。
Client finished Message
这是客户端SSL协商成功结束的消息。也是第一个用协商好的密钥加密的 消息。会把从client hello一直到现在的数据摘要,用客户端密钥加密,发 送给服务器。确保握手过程的完整性和机密性。
排错思路
HTTPS网站不能正常封堵的排查思路
① URL库是否更新到最新版本
② 该https网站是否在应用识别库或URL 规则库中
③ 策略是否配置正确
④ 策略的适用用户是否在线
⑤ 该用户是否在全局排除地址中
⑥ 是否开启了直通
⑦ 抓包分析ServerName是否正确,是否 对应该HTTPS网站
总结
HTTPS网站和HTTP网站封堵的相同点和不同点
相同点 | 封堵对象的获取:都 是通过获取服务器的标 识进行封堵HTTP和 HTTPS网站 |
---|---|
不同点 | 封堵对象的获取:针对HTTP是获取三次握手 后的GET请求包中的HOST字段来识别服务器; 针对HTTPS是在四次握手的第一阶段,获取客 户机发送Client hello包中的Servername字段 来识别服务器 |
相同点 | 封堵行为:都是发送 RST包来断开PC和服务 器的TCP连接 |
不同点 | 针对HTTP是先发送重定向包,再 发送RST;针对HTTPS是直接发送RST结束TCP 连接不发重定向包 |
4.自定义应用识别技术
上网行为管理已经内置规则库已经覆盖常见的应用和网站,并已 半个月为周期的持续更新,但难免有部分不常见的应用和网站没有更 新。在这种环境下面,只要我们提供应用的特征或者URL就可以通过自 定义进行识别和控制。
4.1应用特征配置思路
在【对象定义】-【自定义应用】可以对应用的数据包方向、协议、目标 端口、目标ip、匹配的目标域名识别,只要能确定应用的这些特征,我们就可 以识别和控制这些应用。
【注意】这些特征需要尽可能的精确,例如:只填写了端口80,其他条件匹配 所有,就会造成所有的HTTP80端口的数据都会识别成这个自定义的应用
4.2URL自定义配置思路
在【对象定义】-【URL分类库】可以自定义URL,如下图所示,支持匹配 URL和域名关键字。
4.3对象自定义总结
对象自定义的总结
1. 自定义准入规则:可以定义运行了某个进程才允许(或不允许)上网
2. 自定义应用(封堵或审计精准的应用)
3. 自定义URL(封堵或审计精准的URL)
4. 自定义关键字(用作关键字过滤或审计)
5. …
4.4对象自定义作用
对象自定义的作用:
对于精准的应用等进行精准的管控,保证在99.99%的日常 应用能被sangfor内置识别库识别的基础上,对0.01%的应用进行精准的管控
4.5上网权限策略排查思路
1、检查设备部署,如是旁路模式部署,设备本身只能对一些TCP的应用做控制
2、【实时状态】-【在线用户列表】查看策略对应的用户是否在线
3、检查规则库“应用识别”“URL库”“审计规则库”是否为最新
4、检查上网权限策略是否与用户关联,检查用户是否关联了多条上网权限策略,注意策略 的叠加顺序--------->>> 自上而下优先级递减
5、检查【系统诊断】-【上网故障排除】是否开启直通;开启直通,则不生效;
【系统配置】-【全局排除地址 】是否有排除内网PC的ip、目标域名、目标IP等
6、检查是否有自定义应用,禁用或删除自定义的应用看策略是否正常
7、给用户关联一条【上网审计策略】,开启所有应用的审计,进入【内置数据中心】,检查 数据中心识别到的应用和实际使用的应用是否对应。如不对应那回滚下应用识别规则库 再重新更新规则库
8、如数据中心没有识别内网PC任何的应用,此时注意检查客户是否有其它的上网线路,抓 包分析用户流量是否经过AC
4.6审计策略排查思路
1、检查【导航菜单】-【策略管理】-【上网审计策略】-勾选【应用审计】, 并且选择了对应的需要审计的内容
2、检查【上网审计策略】-【使用对象】是否正常匹配,可以在【导航菜单】【在线用户管理】找到相应用户,查看用户匹配的策略是否有上网审计策略
3、对于https的网站或者加密邮件,是否有开启【导航菜单】-【策略管理】【上网策略】-【SSL内容识别】并加入相关网址并匹配对应用户
4、检查【导航菜单】-【系统配置】-【全局排除地址】是否将用户全局排除
5、在数据中心里面,查询的时间是否正确
4.7准入策略排查思路
1. 检查是否开启直通,全局地址排除
2. 终端是否支持准入系统(只有window PC支持准入系统)
3. 准入策略关联的用户是否在线,适用终端和区域是否正确
4. 自定义准入时,在规则中匹配条件时执行动作是否设置正确
这篇关于上网行为安全之应用控制技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!