上网行为安全之应用控制技术

2023-11-03 05:50

本文主要是介绍上网行为安全之应用控制技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 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. 自定义准入时,在规则中匹配条件时执行动作是否设置正确

这篇关于上网行为安全之应用控制技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/336029

相关文章

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima