应用控制技术

一、 应用特征识别技术

1.传统行为检测技术

1.1 五元组检测原理

1.2 配置思路

1.3 效果展示

需求背景2

1.4 传统行为检测的缺陷

无法识别应用层内容:若应用更换端口(如QQ改用随机端口)或伪装协议(如HTTPS加密),传统方法失效。

无法精细控制:例如需求二中需放行特定QQ账号,五元组无法识别账号信息(位于应用层Data字段)。

2.深度行为检测技术

2.1 产生原因

  • 核心问题

    • 传统技术无法识别精细的数据包应用和行为,无法识别经过伪装的数据包,无法满足现在的安全需求和可视需求。

  • 解决方案:深度行为检测分为两类:

    • DPI(深度包检测):解析应用层内容。

    • DFI(深度流检测):分析流量行为模式。

2.2 深度行为检测技术有点

2.3 DPI(深度包检测)

1. 基于特征字的检测技术

  • 原理:通过匹配数据包应用层的特征字符串识别应用。

  • 优势:支持协议扩展(更新特征库即可识别新应用)。

2.基于应用层网关的检测技术

  • 原理

    1. 先解析控制流(如VoIP的H.245信令)。

    2. 从中提取数据流信息(如IP、端口)。

3.基于行为模式的检测
  • 原理:通过分析用户行为频率而非协议内容识别应用。

  • 优势:适用于加密流量或协议无特征的场景。

2.4 DFI技术(深度流检测)

1. 原理
  • 分析流量行为特征(非内容):

    • 包长度、连接速率、会话持续时间等。

2.5 DPI vs DFI对比

维度DPIDFI
识别依据应用层内容特征流量行为模式
加密流量支持无法识别加密内容可识别(行为不变)
精细度高(精确到具体应用)低(仅分类,如P2P)
性能消耗高(需解析每个包)低(仅统计流特征)


二、 HTTP识别控制技术

1.需求背景

❓HTTP报文中,哪个字段是表示URL?-Host字段

❓封堵HTTP网站,是否需要先放通三次握手的报文?-是

2.HTTP协议特性

  • 明文传输:所有内容(URL、表单数据、Cookie)均未加密

  • 关键字段

    • Host 字段:标识访问的域名(如 Host: www.youku.com)。

    • User-Agent 字段:标识客户端类型(PC/手机/浏览器)。

    • 会话流程

3.HTTP识别工作原理

1. 识别关键点:Host字段

  • 抓包分析

    • 用户访问 www.youku.com 时,GET请求包中必含 Host: www.youku.com

    • 设备通过深度包检测(DPI) 提取该字段,匹配URL规则库。

  • 技术依赖

    • 实时更新URL规则库(包含视频网站域名列表)。

2. 封堵前的必要条件

  • 问题:是否需要放通TCP三次握手?

    • 答案:是!

    • 原因:只有完成三次握手,客户端才能向服务器发送 HTTP 的 GET 请求(封堵必须在应用层完成)。若不放通三次握手,连接无法建立,设备就无法捕获到包含目标 URL 的应用层数据,也就无法准确识别需要封堵的网站,后续的封堵操作(如发送 302 重定向报文和 RST 包)便无从谈起。

4.HTTP控制技术原理

1. 主动拦截:302重定向

  • 流程

    1. 用户发送GET请求(含违规Host字段)。

    2. 设备伪装成目标服务器,向客户端发送 302重定向响应

      • 源IP = 目标网站IP(欺骗客户端)

      • 内容:跳转到拒绝页面(如 http://10.1.3.40/disable.htm)。

    3. 客户端自动加载拒绝页面,显示管控提示。

  • 技术关键

    • 伪造数据包的IP标识(IP.ID = 0x5826)用于设备识别自身发出的包。

2. 与普通防火墙的区别

控制方式传统防火墙HTTP深度控制
层级网络层(IP/端口)应用层(HTTP内容)
动作丢弃或允许数据包伪造响应欺骗客户端
效果连接超时显示定制化拒绝页面

3.配置思路

数据包单向经过设备时,无法有效控制,核心逻辑是 “控制依赖双向交互的完整信息” 

不管是 HTTP 封堵、HTTPS 拦截,还是其他应用控制,本质是 “识别请求→回包干预→断开连接” 的完整流程:

  1. 设备先 “看到” 客户端发的请求(比如 HTTP 的 GET 包、HTTPS 的 Client Hello 包 );
  2. 基于请求识别应用 / 网站,再伪装服务器发 “拒绝包”(HTTP 发 302 重定向,HTTPS 发 RST );
  3. 最后发 RST 包断开连接,让客户端无法继续访问。

但这一切的前提是:设备能同时 “看到请求” 和 “回包给客户端” ,也就是需要 双向的数据包交互 。

三、HTTPS识别控制技术

1.需求背景

2.HTTPS简介

3.HTTPS握手过程

【前提】客户端发起连接:TCP 三次握手(为 HTTPS 铺路)

终端要访问 HTTPS 网站(比如 https://www.baidu.com ),得先和服务器完成 TCP 三次握手 ,建立基础的网络连接:

  1. 客户端发 SYN 包(请求连接),告诉服务器 “我要连你,这是我的初始序列号(ISN)”;
  2. 服务器回 SYN+ACK 包(同意连接),说 “好的,你的请求我收到了,这是我的 ISN,确认你的序列号”;
  3. 客户端回 ACK 包(确认连接),说 “收到你的确认,咱们连接建立啦”。

这一步和 HTTP 一样,是所有网络通信的基础。只有 TCP 连接建好,HTTPS 握手才能开始 ,对应 PPT 里 “控制需要放通 TCP 三次握手” 的逻辑 —— 不放通的话,后面啥都干不了。

阶段 1:客户端发起握手(Client Hello)

谁发? 客户端(浏览器 / APP)
发什么? Client Hello 报文,包含 5 类核心信息:

  1. TLS 版本:客户端支持的最高 TLS 版本(如 TLS 1.3),限制协商范围。
  2. 加密套件列表:客户端支持的加密算法组合(如 TLS_AES_256_GCM_SHA384),包含密钥交换、对称加密、哈希算法。
  3. 客户端随机数(Client Random):随机生成的字符串,用于后续生成会话密钥。
  4. Session ID:若客户端想复用之前的会话(Session Resumption),会带上旧 ID,否则为 0(新会话)。
  5. 压缩算法列表:可选的流量压缩算法(现代 TLS 已弱化,因安全风险)。

目的:告诉服务器 “我支持这些加密方式,想和你安全通信,这是我的初始信息”。

阶段 2:服务器响应握手(Server Hello 系列)

谁发? 服务器
发什么? 5 个连续报文,逐步确认握手参数、验证身份:

1. Server Hello
  • 选参数:服务器从客户端列表中,选双方兼容的 TLS 版本加密套件压缩算法
  • 给随机数:服务器生成 Server Random(另一随机数,用于会话密钥)。
  • 给 Session ID:若同意复用会话,返回旧 ID;否则给新 ID。
2. Server Certificate(服务器证书)
  • 发证书链:服务器向客户端提供数字证书,包含:
    • 域名(如 www.baidu.com)、服务器公钥、有效期、CA 机构签名。
    • 若启用 双向认证(客户端也需证明身份),这一步只是 “服务器先亮证”。
3. Client Certificate Request(可选,双向认证时触发)
  • 要求客户端证书:若服务器开启双向认证(如银行、企业内网),会要求客户端提供证书,验证 “你是谁”。
  • 指定证书类型:告诉客户端 “我接受这些类型的证书(如 RSA、ECDSA)、这些 CA 签发的证书”。
4. Server Hello Done
  • 结束服务器响应:告诉客户端 “我的握手消息发完了,该你回应了”。

阶段 3:客户端回应握手(Client 系列)

谁发? 客户端
发什么? 5 个报文(双向认证时更多),完成身份验证、密钥交换:

1. Client Certificate(可选,双向认证时触发)
  • 提交客户端证书:若服务器要求双向认证,客户端发送自己的证书(含公钥、身份信息),证明 “我是合法用户”。
2. Client Key Exchange
  • 交换预主密钥:客户端生成 preMasterKey(预主密钥),用 服务器证书的公钥 加密,发给服务器。
  • 核心逻辑:只有服务器能用 私钥 解密,保证 “预主密钥只有双方知道”。
3. Certificate Verify(可选,双向认证时触发)
  • 证明私钥持有:客户端用自己证书的 私钥,加密 “之前握手消息的哈希值”,发给服务器。
  • 服务器验证:用客户端证书的公钥解密,若哈希匹配,说明 “客户端确实持有证书私钥,身份合法”。
4. Change Cipher Spec
  • 启用加密:告诉服务器 “从现在起,我发的消息都用 会话密钥 加密啦”。
5. Client Finished
  • 验证握手完整性:客户端用 会话密钥 加密 “所有握手消息的哈希值”,发给服务器。
  • 目的:证明 “握手过程未被篡改,参数协商正确”。

阶段 4:服务器确认握手(Server 收尾)

谁发? 服务器
发什么? 2 个报文,完成最终验证:

1. Change Cipher Spec
  • 启用加密:告诉客户端 “我也用会话密钥加密消息啦”。
2. Server Finished
  • 验证握手完整性:服务器用 会话密钥 加密 “所有握手消息的哈希值”,发给客户端。
  • 客户端验证:解密后对比哈希,若一致,说明 “握手完成,加密信道可用”。

阶段 5:加密通信(真正的 HTTPS 数据传输)

当双方交换 Finished 报文并验证通过后,TLS 握手正式完成,进入 应用数据传输阶段

  • 加密规则:所有 HTTP 层数据(GET/POST 请求、响应体),都会用 会话密钥 加密。
  • 完整性保护:每个数据包带 MAC(消息认证码),用会话密钥生成,检测 “数据是否被篡改”。
  • 通信流程
    • 客户端发 加密的 HTTPS 请求(如获取网页、提交表单)。
    • 服务器解密、处理请求,加密 HTTP 响应(如 HTML、JSON 数据)返回。
    • 客户端解密响应,渲染页面或执行业务逻辑。

    具体介绍:

    4.HTTPS 识别工作原理

    1. Client Hello中的明文字段
    • 核心字段Server Name Indication (SNI)

      • 作用:客户端在握手初期声明目标域名(如 www.baidu.com)。

      • 位置:TLS握手第一阶段(Client Hello扩展字段)。

    5.HTTPS控制技术:精准阻断连接

    1. 核心原理:伪装RST阻断(Page 46)

    • 控制流程

      1. 设备捕获Client Hello包,提取SNI字段(如 www.taobao.com)。

      2. 若域名在封堵列表,设备伪装成目标服务器,向客户端发送 TCP RST包

        • 伪造源IP = 目标服务器IP(如淘宝IP)

        • 特殊标记:IP.ID = 0x5826(标识设备伪造)

      3. 客户端收到RST,立即断开TCP连接,无法继续SSL握手。

    • 用户感知:浏览器显示 “连接重置”(如Chrome的ERR_CONNECTION_RESET)。

    2. 与HTTP控制的本质区别 

    控制方式HTTPHTTPS
    识别点GET请求的Host字段Client Hello的SNI字段
    拦截手段302重定向 + RST直接RST断连
    用户界面定制化拒绝页面浏览器默认报错
    加密影响依赖SNI明文

    ⚠️ 关键限制HTTPS无法返回自定义拒绝页面(加密信道未建立,无法注入内容)。

    ⚠️说明:

    在 HTTPS 的访问控制里,识别是通过 Client Hello 的 SNI 字段。但由于在 SSL/TLS 握手的初始阶段,虽然 Client Hello 报文里有可供识别的信息(如 SNI 字段 ),然而此时加密信道尚未完全建立好,后续的数据传输通道是加密的。设备无法像在 HTTP 中那样,直接修改传输中的数据包内容来注入自定义的拒绝页面信息。因为一旦设备尝试修改数据包内容,由于加密机制的存在,数据的完整性会被破坏,客户端和服务器之间无法正常完成握手流程,也无法将自定义的拒绝页面信息正确呈现给用户 。(自定义拒绝页面信息需要在通信连接建立后,通过 HTTP 或 HTTPS 协议传输给客户端进行显示)所以,设备只能直接发送 RST 包断开连接,用户端看到的就是浏览器原生的报错信息,而不是像 HTTP 控制那样能展示定制化的拒绝页面。

    6.配置思路

    HTTPS网站不能正常封堵,应该如何排查?

    HTTPS网站和HTTP网站封堵的相同点和不同点?



    四、 自定义应用识别技术

    1.自定义应用方法

    2.自定义应用思路

    3.URL自定义思路

    4.对象自定义总结

    ❓上网权限策略排查思路

    核心目标:解决“策略不生效”问题(如该封堵的未封堵)
    分步深度排查
    1. 部署模式验证(最高优先级)

      • 关键问题:是否旁路部署?

        • 检测方法

          # 检查设备部署模式
          show running-config | include deploy-mode
        • 影响:旁路模式仅能控制 TCP 应用(如 HTTP),无法管控 UDP 或加密流量

        • 解决方案:切换为网桥/网关模式

      • 用户在线状态核查

        • 关键命令

          # 查看目标用户是否在线
          display firewall session table | include 192.168.1.100
        • 隐藏问题:用户可能通过 VPN/4G 绕行

      • 规则库更新检查

        • 三库联动验证

          规则库更新命令(示例)影响范围
          应用识别库update app-dbIM/P2P/流媒体等识别
          URL分类库update url-db网站分类管控
          审计规则库update audit-db敏感行为识别
        • 最佳实践:设置定时更新任务(每周一凌晨)

      • 策略关联与优先级

        • 经典错误:多条策略冲突

        • 排查工具

          # 查看用户关联策略及优先级
          display user-policy-binding 192.168.1.100 
        • 优先级规则:从上至下匹配,第一条命中即生效

      • 全局干扰项排查

        • 两大杀手

          • 直通模式:临时放行所有流量(测试后未关闭)

            show system troubleshoot-mode  # 检查直通状态
          • 全局排除地址:配置错误导致目标 IP 被放行

            show global-exclude-address    # 检查排除列表
      • 应用识别验证

        • 黄金操作:关联全审计策略 → 分析内置数据中心日志

        • 日志分析重点

          • 识别到的应用名是否准确(如将钉钉识别为“其他加密流量”)

          • 流量是否被错误分类(如淘宝流量被标记为“未知应用”)

      • 流量绕行检测

        • 终极验证:在用户 PC 执行路由跟踪

          tracert www.taobao.com  # 确认是否经过AC设备IP
        • 典型绕行场景

          • 双网卡(有线+WiFi)

          • 代理/VPN 软件

    ❓审计策略排查思路

    核心目标:解决“审计记录缺失”问题
    分步深度排查
    1. 审计策略基础配置

      • 必查项

        • 是否勾选 “应用审计”

        • 是否选择具体审计内容(如文件传输/网页访问)?

      • 经典错误:启用策略但未选择审计类型

    2. 用户策略匹配验证

      • 操作路径

        # 查看在线用户策略匹配情况
        display online-user detail user@domain.com
      • 输出关键项Matched Audit Policy: Yes/No

    3. 加密流量特殊处理

      • HTTPS/加密邮件审计要求

        • 必须启用 SSL 内容识别

          show ssl-decrypt policy  # 检查解密策略
        • 目标域名必须加入解密列表

        • 客户端必须信任设备 CA 证书

    4. 全局排除地址干扰

      • 排查命令

        show global-exclude-address | include 192.168.1.100
      • 影响:被排除地址不会产生任何日志

    5. 时间范围陷阱

      • 场景:查询 “今天” 日志但数据中心时区错误

      • 解决方案

        # 校准设备与数据中心时区
        display clock  # 查看设备时间
        display log-server timezone  # 查看日志服务器时区

    ❓准入策略排查思路

    核心目标:解决“终端无法上网”或“策略不执行”问题
    分步深度排查
    1. 全局干扰项优先排查

      • 必查两项

        bash

        show system troubleshoot-mode  # 直通模式
        show global-exclude-address    # 全局排除
      • 影响:直通模式下所有准入策略失效

    2. 终端兼容性验证

      • 不支持场景

        • 非 Windows 设备(Mac/Linux/手机)

        • Windows Server 操作系统

        • 精简版 WinPE 系统

      • 检测方法

        # 查看终端类型(需终端安装Agent)
        display endpoint type 192.168.1.100
    3. 用户在线与区域匹配

      • 关键命令

        # 检查用户是否在线及策略匹配
        display准入-user-status 192.168.1.100
      • 输出分析

        • Policy Applied: Yes/No

        • Match Location: Office-WiFi(需与策略区域一致)

    4. 自定义准入规则诊断

      • 经典错误:进程名匹配错误

        # 查看进程识别结果
        display endpoint-process 192.168.1.100
      • 进程名规范

        • 带后缀:chrome.exe(非 chrome

        • 大小写敏感:Teams.exe ≠ teams.exe

      • 动作配置:检查 “允许/拒绝” 动作是否设反

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    如若转载,请注明出处:http://www.pswp.cn/bicheng/93887.shtml
    繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93887.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    当MySQL的int不够用了

    关于int的长度很多时候看到int(8)这样的定义,其实这是工具导出的不专业。int是范围,不是长度。在开发有了共识(知道这个长度不算数,要看范围)以后,上来就是所有的类型都是bigint。int的范围int的取值范围是…

    让AI学会“边做边想“:ReAct的实战指南

    小智的求职困境有个叫小智的AI助手,它刚从"大语言模型大学"毕业,满怀信心地去应聘一家咨询公司的智能助理职位。面试官问:"北京和上海哪个城市人口更多?"小智立刻回答:"根据我的知识&#xf…

    vue优化有哪些手段?

    vue本身存在的方法 v-if 和v-show 的合理运用,频繁使用的组件使用v-show,不频繁的使用v-if,来减少dom的渲染路由懒加载 采用()>import(index.vue)当路由被访问的时候才回去加载使用keep-alive缓存页面,减少没必要的重复渲染同时也可以减少服务器的压力使用computed缓存数据,…

    【图像算法 - 14】精准识别路面墙体裂缝:基于YOLO12与OpenCV的实例分割智能检测实战(附完整代码)

    摘要: 裂缝是结构健康的重要隐患,传统人工巡检耗时耗力且易遗漏。本文将带您利用当前最先进的YOLO12实例分割模型,构建一个高效、准确、更高精度的裂缝检测系统。我们将从数据准备、模型训练到结果可视化,手把手实现一个完整的项目…

    “让机器人更智慧 让具身体更智能”北京世界机器人大会行业洞察

    2025年8月8日,世界机器人大会在北京盛大开幕。本届大会以“让机器人更智慧 让具身体更智能”为主题,由中国电子学会、世界机器人合作组织主办,包括开幕式、闭幕式、论坛等。同期举办世界机器人博览会、世界机器人大赛等活动,打造了…

    PHP如何使用JpGraph生成折线图?

    JpGraph是一个功能强大的PHP图表库,它通过封装GD库函数,为开发者提供了简单高效的数据可视化解决方案。作为专门用于绘制统计图的面向对象库,JpGraph支持创建折线图、柱状图、饼图等20余种图表类型,并能自动处理坐标轴、刻度、图例…

    超级云平台:重构数字生态的“超级连接器“

    在数字经济浪潮席卷全球的今天,企业数字化转型已从"选择题"变为"必答题"。然而,传统云服务模式因技术壁垒高、资源分散、协同效率低等问题,让许多企业在数字化转型中陷入"上云易、用云难"的困境。 在此背景下,一种以"全域资源整合+智能…

    https如何保证传递参数的安全

    HTTPS 并非直接“加密参数”,而是通过一整套加密传输机制,确保客户端与服务器之间所有通信内容(包括 URL 参数、表单数据、Cookie 等)在传输过程中不被窃听、篡改或伪造。其核心安全保障来自以下技术实现: 一、核心加密…

    OpenHarmony之打造全场景智联基座的“分布式星链 ”WLAN子系统

    1. 技术架构概览 无线局域网(Wireless Local Area Networks,WLAN),是通过无线电、红外光信号或者其他技术发送和接收数据的局域网,用户可以通过WLAN实现结点之间无物理连接的网络通讯。常用于用户携带可移动终端的办公、公众环境中。 WLAN组件子系统为用户提供WLAN基础功…

    JMeter(入门篇)

    一.简介 JMeter 是 Apache 组织使用 Java 开发的一款测试工具。 1、可以用于对服务器、网络或对象模拟巨大的负载 2、通过创建带有断言的脚本来验证程序是否能返回期望的结果 二.优缺点 优点: 开源、免费 跨平台 支持多协议 小巧 功能强大 缺点&#xff…

    Lecture 12: Concurrency 5

    回顾:并行用餐哲学家读者/作者问题哲学家进餐问题方案三:最大化并行需要一个更复杂的解决方案来实现最大的并行性 解决方案使用:state[N]:每个哲学家的当前状态(THINKING, HUNGRY, EATING&#…

    UniApp 微信小程序之间跳转指南

    概述 在UniApp开发中,经常需要实现从当前小程序跳转到其他微信小程序的功能。本文档详细介绍了如何在UniApp中实现微信小程序之间的跳转。 核心API uni.navigateToMiniProgram() 这是UniApp提供的用于跳转到其他微信小程序的核心API。 基本语法 uni.navigateToMiniP…

    基于SpringBoot+Vue的养老院管理系统的设计与实现 智能养老系统 养老架构管理 养老小程序

    🔥作者:it毕设实战小研🔥 💖简介:java、微信小程序、安卓;定制开发,远程调试 代码讲解,文档指导,ppt制作💖 精彩专栏推荐订阅:在下方专栏&#x1…

    TRAE调教指南:用6A工作流项目规则+5S敏捷个人规则打造高效AI开发流程

    TRAE调教指南:用6A工作流项目规则5S敏捷个人规则打造高效AI开发流程 引言:从"AI瞎写"到"精准交付"的实战手册一、什么是Rules:让AI"听话"的底层逻辑1. 告别重复指令疲劳2. 实现"千人千面"的个性化适…

    【C语言】gets和getchar的区别

    在C语言中,gets和getchar是两个用于输入的标准函数,它们在功能和用法上有所不同。 功能上: gets函数主要用于读取一行字符串,直到遇到换行符(回车键)为止。它会自动过滤掉换行符,不会将其读入到…

    【数据结构与算法】数据结构初阶:详解二叉树(一)

    🔥个人主页:胡萝卜3.0 🎬作者简介:C研发方向学习者 📖个人专栏: 《C语言》《数据结构》 《C干货分享》 ⭐️人生格言:不试试怎么知道自己行不行 正片开始之前,我们来了解一下我们即…

    工具测试 - marker (Convert PDF to markdown + JSON quickly with high accuracy)

    参考链接如下:: 参考链接:https://github.com/datalab-to/marker?tabreadme-ov-file#llm-services 底层的OCR模型:https://github.com/datalab-to/surya 作用:开源免费🆓,多 GPU 推理、生成效…

    STM32HAL 快速入门(七):GPIO 输入之光敏传感器控制蜂鸣器

    STM32HAL 快速入门(七):GPIO 输入之光敏传感器控制蜂鸣器 前言 大家好,这里是 Hello_Embed。上一篇我们用 GPIO 输入模式实现了按键控制 LED,本篇将进阶到 “光敏传感器控制蜂鸣器”—— 通过读取光敏传感器的信号&…

    windows环境,安装kafka

    步骤 1: 准备工作 确保已安装 Java:Kafka 需要 Java 运行时环境 (JRE) 或 Java 开发工具包 (JDK) 来运行。请确认您的系统上已安装了 Java,并且 JAVA_HOME 环境变量正确配置。 解压 Kafka:将下载的 Kafka 压缩包解压到一个目录,比…

    机器翻译60天修炼专栏介绍和目录

    文章目录 第一章:机器翻译基础认知与语言学铺垫 第二章:经典机器翻译模型(统计机器翻译) 第三章:神经网络基础与词向量技术 第四章:神经机器翻译(NMT)基础架构 第五章:NMT模型进阶与训练实践 第六章:预训练模型与机器翻译应用 第七章:研究前沿与综合项目 导论:学习…