用户认证与应用控制技术
一、需求背景
认证可分为多种类型,主要依据认证方式和接入方式划分。例如:
- 有线认证与无线认证
- 基于MAC地址的认证(唯一标识存储设备)
- 基于协议(如 - 1X)的认证
根据用户数据存储位置,认证可分为两类:
- 本地用户认证(如学校学号登录,仅限本地使用)
- 远程用户认证(如宽带账号拨号,无地域限制)
二、认证的管控
认证流程如下:
- 首次开机上网时需提交用户名和密码,若与本地或远程数据库匹配则认证通过。
- 认证通过后,安全设备可基于用户身份实施管控:
- 权限管控:限制用户访问内网服务器或特定内容(如企业网络中区分员工网络与访客网络)。
- 安全隔离:控制网页访问权限或应用程序使用权限(如屏蔽特定协议或游戏)。
应用程序协议特征:
- 微信、QQ等应用协议固定,可通过应用特征识别库进行管控。
- 浏览器协议复杂性:所有网站均使用超文本传输协议(HTTP),需额外技术实现差异化管控。
三、HTTP协议简介
1.什么是超文本
超文本传输协议(HTTP)为客户端-服务器架构协议,核心概念包括:
- 超文本(Hypertext):包含超链接与元素标记的文本(如HTML/XML格式)。
- 超链接功能:通过URL实现文档间跳转,无需额外操作。
2.什么是URL
统一资源定位符(URL)用于唯一标识万维网文档,由三部分组成:
- 协议(如HTTPS)
- 主机与端口(如cn.b.com,默认端口可省略)
- 文件名(如index.html)
示例解析:
- https://cn.b.com/index.html
- 协议:HTTPS
- 主机:cn.b.com(通过DNS解析为IP地址)
- 文件:index.html
3.什么是超文本传输协议HTTP
HTTP协议功能为按URL指示将超文本文档从主机传输至客户端,实现超链接跳转。
1) 工作原理
HTTP工作流程:
- 客户端解析URL:通过DNS获取服务器IP地址。
- 建立TCP连接:与服务器80端口三次握手。
- 发送请求报文:指定需请求的页面或文档。
- 服务器响应:返回对应文档数据。
- 断开连接:客户端接收数据后渲染页面。
2) HTTP请求方法
请求方法 | 参数位置 | 适用场景 |
GET | URL中 | 简单页面访问(无数据提交) |
POST | 请求正文(表单数据) | 登录、文件上传等需提交数据 |
- POST请求方法
HTTP报文结构:
- 请求头:控制信息(如请求方法、目标URL、浏览器类型)。
- 请求正文(仅POST):用户提交的数据(如表单内容)。
GET与POST对比示例:
- GET请求:参数暴露于URL(如/index.html?user=test),无请求正文。
- POST请求:参数隐藏于请求正文(如username=admin&password=123),需空白行分隔头与正文。
3) HTTP响应
HTTP响应中最重要的部分是状态码,由三位数字组成。状态码的第一位数字表示响应的大类:
- 1xx:通知消息,表示服务器正在处理请求,例如100表示服务器正在处理客户请求
- 2xx:请求成功,例如200表示请求已成功处理
- 3xx:页面重定向,例如301表示页面位置已永久改变
- 4xx:客户端错误,例如403表示禁止访问,404表示资源不存在
- 5xx:服务器错误,例如500表示服务器内部错误
状态码的后两位数字用于定义具体原因。在正常网页访问中,常见的状态码是200。HTTP响应格式分为两部分:
- 响应头:从第一行开始连续的行均为响应头
- 响应正文:从第一个空白行开始后的内容为响应正文,浏览器会将其渲染为页面
4) HTTP头部
HTTP头部字段概述
- HTTP头部字段包含请求和响应两部分,以下为常用字段说明。
- 请求头部字段
- User-Agent:标识浏览器和平台信息
- Accept:声明客户端可接收的页面类型、字符集或编码语言
- Host:指定服务器的域名或IP地址,从URL中提取
- Referer:表示当前请求的来源页面
- Cookie:用于服务器标识用户身份信息
- Date:消息发送的时间和日期
- 响应头部字段
- Server:通常不对外发送服务器信息,以避免安全风险
- Server字段的安全性问题
字段 | 风险说明 | 示例 |
Server | 泄露服务器软件及版本信息 | Apache/ - - 6 (Unix) PHP/ - - 40 |
风险后果 | 攻击者可利用已知漏洞定向攻击 | 应避免发送或简化该字段内容 |
- 其他重要头部字段说明
- Content-Encoding:声明正文的编码方式
- Content-Language:指定正文的语言类型
- Content-Length:标注正文的长度
- Content-Type:定义正文的媒体类型
- Location:用于重定向时指定新地址
- Set-Cookie:服务器向客户端发送的身份标识信息,有效期由服务器设定
四、用户和用户组管理
网页认证流程如下:
- 域名解析:必须优先完成,否则客户端无法定位服务器
- TCP三次握手:建立与服务器的连接
- HTTP请求:发送GET或POST请求
- 拦截与重定向:上网行为管理设备拦截请求并返回302重定向报文,强制跳转至认证页面
- 认证通过后:设备仅记录流量并实施访问控制,不再拦截
两种认证方式对比:
类型 | 拦截范围 | 依赖条件 |
网页认证 | 仅拦截HTTP请求 | 需独立DNS解析 |
APP认证 | 拦截所有数据包 | 需安装专用客户端软件 |
网桥模式部署要点:
- 上网行为管理设备不支持NAT功能,需依赖防火墙或路由器
- 设备接口可配置多IP地址以实现管理功能
- 透明模式下对下层设备不可见
1.用户和用户组管理概述
用户和用户组管理在不同安全设备中存在差异,但统一采用树形结构进行管理。
2.树形结构管理用户
树形结构支持用户权限继承和上网策略继承功能。
3.用户和组策略继承
4.用户和组的添加、编辑、移动和删除
- 用户创建方式:支持单个新建或批量导入,批量导入需使用设备兼容的Excel格式文件。
- 终端绑定:用户可绑定多个终端物理地址,绑定后仅限当前账户登录。
- 批量创建规则:组内用户名称需以逗号分隔。
5.单点登录与IP地址作为用户名
非认证场景下可将IP地址作为用户名,用于日志记录或行为管控等操作。
6.用户搜索与注销
支持通过用户名、IP或MAC地址搜索用户,但临时用户或非认证用户无法强制注销。
7.注销用户的特殊情况
- 注销条件:仅限实名用户,支持无流量时强制注销或按预设时间(如下班时间)注销。
- 特殊场景:移动端虚拟MAC地址变动可能导致自动注销,需注意虚拟地址轮替机制。
五、应用控制技术
上网行为管理针对内网应用分为两类:
- 浏览器(多服务器连接)
- APP应用程序(固定服务器连接)
- 自定义内网应用(未公开发布)
1.应用特征识别技术
1) 禁用聊天工具
控制类型 | 实现方式 | 限制条件 |
单一应用禁用 | 阻断目标端口(如QQ的TCP 8080端口) | 需精准识别协议及端口 |
账号级过滤 | 解析应用层数据中的账号字段 | 依赖未加密的账号明文传输 |
深度行为检测技术
- 深度行为检测技术可通过识别报文中的QQ号进行放通或拦截操作,识别号在报文修改后仍可被检测。
- 应用特征识别库
应用特征识别技术的介绍
- 应用特征识别技术可根据号码属性(企业/个人)实现差异化控制:
- 企业号码允许通过
- 非企业号码拒绝访问
- 该技术可限制仅允许企业内部特定应用访问。
深度行为检测的概念
- 深度行为检测作用于应用层,不同应用程序的数据组装方式具有差异性。防火墙内置应用特征识别库,通过特征字段差异实现应用识别。
深度行为检测的分类
- 深度行为检测分为两类:
- 深度包检测(DPI)
- 深度流检测(DFI)
- 其中DPI可进一步细分为三种技术。
基于特征字的检测技术
- DPI的三种实现技术:
- 基于特征字检测:通过识别数据包特定字段(如QQ号、设备代理信息)实现控制
- 基于应用网关检测 - 基于行为模式检测
- 特征字检测典型案例:
- 识别终端类型(Windows/Linux/iOS/Android等)
- 限制设备访问权限(仅允许电脑上网)
- 需持续更新应用特征识别库以应对协议变更。
应用特征识别库的更新与升级
- 应用程序协议更新时需同步升级特征识别库,该技术优势在于可快速适配新协议或协议修改。
基于应用层网关的检测技术
- 应用层网关(ALG)检测技术核心功能:
- | 技术要点 | 实现原理 | 典型应用 |
- |--------------|--------------|--------------|
- | 多通道协议处理 | 解析控制连接数据定位数据连接 | FTP/视频会议等双TCP连接协议 |
- | 流量识别 | 通过控制流协商参数识别数据流 | VoIP(RTP)、文件传输等 |
例题:VoIP视频协议数据流抓包分析
- VoIP协议分析示例:
- 控制连接:H.245协议(端口5001)协商传输参数
- 数据连接:RTP协议实际传输数据(端口2006/5000)
- ALG技术通过解析控制连接报文实现数据流精准识别。
2.深度流检测技术
- 深度流检测技术(DFI)通过分析流量特征实现精确分类,但无法识别加密流量内容。
- DPI(深度包检测)技术可精细控制特定账号操作,但存在无法识别自定义内网应用(如内部OA系统)的局限性。
- VPN加密流量仅能通过数据包特征(如包长、连接时长)进行分类,加密不会改变数据流的数学模型特征。
六、结束
1.深度流检测技术(DFI)
- 深度行为检测的六个核心优点包括异常流量发现与分类,策略丰富性是其区别于普通检测的关键。
- DFI技术无法识别加密流量内容,但可通过数据包特征(如平均包大小)实现分类。
2.基于应用层网关的检测技术
检测场景 | 技术方案 | 局限性 | 典型案例 |
自定义内网应用 | DPI特征匹配 | 无法识别非公开协议 | 企业内部OA系统 |
VPN加密流量 | 数据包特征分析(如包长) | 无法解密内容 | 两点间加密隧道通信 |
HTTP网站封堵 | URL分类库匹配host字段 | 需放行三次握手报文 | 视频网站访问控制 |
HTTPS流量 | 无法直接识别内容 | 依赖证书或中间人解密 | 现代加密网页访问 |
3.HTTP报文中URL字段
- URL由协议、域名/端口、文件目录三部分组成,在HTTP报文中对应多个字段组合。
- 域名识别是封堵关键,仅需匹配host字段即可实现访问控制,无需解析完整URL。
4.封堵HTTP网站
- 封堵HTTP网站需先完成TCP三次握手,否则无法获取host字段信息。
- 阻断策略应包含重定向至拒绝页面,明确告知用户访问禁止后再发送RST断开连接。
- 单向流量经过设备时控制能力有限,无法主动干预未建立连接的通信。
5.HTTPS协议
HTTPS是基于SSL的超文本传输协议,采用SSL加密技术。后续发展中,SSL更名为TLS,目前常见版本为TLS - 2或 - 3。SSL与TLS本质相同,仅为命名差异。
八、HTTPS协议简介
TLS与SSL为同一协议的不同名称,需注意协议标识差异。
1.SSL加密
SSL加密机制包含以下核心要素:
- 非对称密钥加密与对称密钥加密结合使用
- 数字证书用于服务器与客户端身份验证
1) 加密方式
加密技术分为两类:
- 对称密钥加密:计算负担轻,适用于大数据量加密
- 非对称密钥加密:包含公钥与私钥体系,公钥由私钥生成但不可逆推
- 非对称加密实现双重功能:
- 数据保护:公钥加密、私钥解密
- 身份认证:私钥加密、公钥解密
非对称密钥加密
- 通信双方交换公钥后:
- 数据加密流程:发送方使用接收方公钥加密,接收方使用自身私钥解密
- 身份验证流程:发送方使用自身私钥加密,接收方通过公钥解密验证身份
对称密钥加密
- 非对称加密存在中间人攻击风险:攻击者可截获并替换通信双方公钥,导致加密体系失效。
2) 公司要加密体制的缺陷
中间人攻击原理如下表:
攻击环节 | 攻击手段 | 后果 |
公钥交换阶段 | 替换双方公钥 | 获取加解密能力 |
数据传输阶段 | 拦截并篡改数据 | 破坏通信机密性 |
3) 数字证书
数字证书包含服务器公钥与身份信息,由CA机构颁发。
实例操作
- 浏览器证书查看路径:地址栏锁形图标→"连接安全"→"证书"。证书显示内容包括颁发对象、颁发机构及公钥信息。
数字证书认证技术原理
- 证书防伪机制包含:
- CA私钥加密:确保证书完整性
- 服务器私钥签名:验证身份真实性
- 双向认证体系:客户端验证服务器证书,服务器验证客户端证书(浏览器内置)。
数字证书
- 数字证书认证技术是经授权中心签发的包含公钥的文件,包含身份验证的结构信息及持有者的公钥信息。利用CA的私钥对内容加密生成证书,CA的公钥公开,通过CA公钥解密可获取对应公钥信息。
数字证书认证流程:
- 数据完整性验证:通过哈希算法计算信息摘要,确保数据未被篡改
- 加密传输:使用私钥对摘要签名后,将签名、信息及证书用对称密钥加密
- 密钥保护:对称密钥通过接收方公钥加密后与证书一并传输
- 接收端验证:接收方通过私钥解密获取对称密钥,解密数据后验证签名与证书有效性
九、HTTPS原理
SSL加密原理基于公钥体系,通过数字证书保障公钥安全性。
1.Client hello
客户端hello报文包含以下关键参数:
- SSL版本号:需与服务器协商一致
- 加密套件列表:含身份认证方式、加密算法、校验算法及密钥过期时间
- 客户端随机数:用于后续对称密钥生成
- 会话ID:用于会话恢复
- 压缩算法列表:可选参数
协商规则:
- 选择双方支持的最高SSL版本
- 优先选择安全性最强的加密套件
2.Server Hello
服务器响应流程:
- 从客户端参数中选择双方兼容的最高SSL版本
- 选定加密套件与压缩算法(若存在)
- 返回服务器随机数及会话ID
- 关键点:双方随机数将参与后续对称密钥计算
3.Server Certificate
服务器向客户端发送数字证书,包含:
- 服务器公钥:用于后续密钥交换
- 证书有效性:客户端需验证证书有效期,过期将触发安全警告
4.Client Certificate
双向认证流程:
- 服务器请求客户端证书
- 客户端发送证书供服务器验证
- 服务器缓存客户端公钥用于后续通信
5.Client Key Exchange
客户端生成48位预主密钥(随机数),通过服务器公钥加密传输。安全性保障:仅服务器私钥可解密获取该密钥。
6.改变加密约定消息
密钥生成机制:
- 结合预主密钥、客户端随机数、服务器随机数通过DH算法计算对称密钥
- DH算法特性:利用非对称密钥保护对称密钥的生成与传递
7.KEY的传递
1) DH算法
DH算法核心原理:
步骤 | 操作 | 安全逻辑 |
密钥交换 | 双方交换公钥 | 建立非对称通信基础 |
密钥计算 | 使用己方私钥与对方公钥生成对称密钥 | 确保第三方无法推算密钥 |
密钥强化 | 多层加密或动态参数混合计算 | 延长密钥安全周期 |
优化措施:通过多次哈希计算或引入动态ID提升密钥破解难度。