第208篇:防火墙反病毒与 URL 过滤
关键词
反病毒、防火墙 AV、URL 过滤、Web 分类、内容安全、文件过滤、恶意 URL、防病毒引擎
一、反病毒(Anti-Virus)概述
1.1 防火墙反病毒的定位
防火墙的反病毒(AV)功能在网络边界处检测并阻断恶意文件传输:
传统防病毒 vs 防火墙防病毒:
传统防病毒:终端安装 防火墙防病毒:网络边界
客户端 A: AV ──┐ ┌──────────┐
客户端 B: AV ──┤ │ 防火墙 AV │ ← 网络层阻断
客户端 C: AV ──┤ └──────────┘
↓ ↓
各自扫描 集中扫描一次
数据中心 ↓
阻断所有客户端
优势:
1. 在恶意文件到达用户前即阻断
2. 集中管理,无需每台终端部署
3. 补充分布式防病毒的盲区(零日漏洞窗口期)
1.2 支持的协议
防火墙反病毒支持对以下协议的流量进行深度检测:
协议 传输方向 文件类型
──────────────────────────────────
HTTP 下载/上传 可执行文件(.exe)、压缩包(.zip)、Office 文档
FTP 下载/上传 所有文件类型
SMTP 接收邮件 邮件附件
POP3 接收邮件 邮件附件
IMAP 接收邮件 邮件附件
NFS/SMB 文件共享 共享文件
常见检测文件大小上限:默认 10MB(可调整)
二、反病毒工作原理
2.1 检测流程
防火墙反病毒的文件检测流程:
┌──────────────┐
│ 网络流量 │
└──────┬───────┘
│
┌──────┴───────┐
│ 协议识别 │
│ HTTP/FTP/ │
│ SMTP... │
└──────┬───────┘
│
┌──────┴───────┐
│ 文件还原 │
│ TCP 重组 │
│ + 协议解码 │
└──────┬───────┘
│
┌──────┴───────┐
│ 文件类型识别 │
│ 魔数 + 扩展名 │
└──────┬───────┘
│
┌──────┴───────┐
│ 病毒扫描 │
│ 特征匹配 │
│ 启发式分析 │
└──────┬───────┘
│
| ┌─────┴─────┐ ┌────┴─────┐ ┌────┴──────┐ | ||||
| 无病毒 正常转发 | 发现病毒 阻断+告警 | 无法识别 放行+记录 |
2.2 反病毒引擎
华为防火墙使用双引擎反病毒架构:
引擎 1:签名引擎(Signature-based)
原理:匹配已知病毒的特征码
优点:准确率高,误报低
缺点:无法检测未知病毒
需要:定期更新病毒库
引擎 2:行为引擎(Heuristic/Behavior)
原理:分析文件行为特征
优点:可检测变种和未知病毒
缺点:误报率高
适用:配合签名引擎使用
2.3 配置示例
# 创建反病毒配置文件
antivirus-profile name Web_AV
# HTTP 协议检测
http
action virus-block alert # 发现病毒阻断并告警
action worm-block alert # 蠕虫阻断
action trojan-block alert # 木马阻断
decompress zip max-file 100 # 解压 ZIP,最多 100 个文件
decompress zip max-depth 5 # 最大嵌套层数 5
exclude file-type mp4 avi # 跳过视频文件(节省性能)
!
# FTP 协议检测
ftp
action virus-block alert
exclude file-type txt log # 跳过文本文件
!
# 邮件协议检测
smtp
action virus-block alert
pop3
action virus-block alert
!
# 应用安全策略
security-policy
rule name Internet_Access
source-zone trust
destination-zone untrust
action permit
profile antivirus Web_AV # 关联反病毒配置
三、反病毒性能与优化
3.1 性能开销
反病毒是最消耗资源的安全功能之一:
场景 吞吐量 说明
─────────────────────────────────────────
不启用 AV 10 Gbps 纯转发
启用 AV(HTTP) 3-5 Gbps 文件重组 + 扫描
启用 AV(全协议) 2-3 Gbps 所有协议
大文件扫描 1-2 Gbps 10MB+ 文件
优化技巧:
1. 排除可信站点的文件扫描
2. 排除大文件(>10MB)
3. 只扫描风险较高的协议(HTTP/FTP)
4. 对内部流量跳过 AV 检测
3.2 白名单配置
# AV 白名单配置:跳过可信站点的扫描
antivirus-profile name Web_AV
http
exclude server-address 10.0.0.0 mask 255.0.0.0 # 内网更新服务器
exclude server-address download.microsoft.com # 微软更新
exclude file-type mp4 avi mkv # 视频文件
!
# 白名单的好处
# - 提升性能(减少不必要的扫描)
# - 避免误报(可信源的文件)
# - 大文件跳过(节省缓冲内存)
四、URL 过滤概述
4.1 URL 过滤的作用
URL 过滤根据 URL 的类别、来源、内容,控制用户的 Web 访问:
┌─────────────────────────────────────────────────┐
│ 用户 HTTP 请求 │
│ GET http://www.example.com/malware.exe │
└─────────────────────┬───────────────────────────┘
│
┌───────┴─────────┐
│ URL 分类查询 │
│ 预分类:恶意站点 │
└───────┬─────────┘
│
┌───────┴─────────┐
│ 匹配 URL 过滤策略 │
│ 类别:恶意站点 │
│ 动作:阻断 │
└───────┬─────────┘
│
阻断并返回提示页
4.2 URL 分类体系
华为 URL 过滤的预分类体系(100+ 种分类):
高风险类别(建议阻断):
Malware / 恶意站点
Phishing / 钓鱼
Hacking / 黑客站点
Drugs / 毒品
Violence / 暴力
Gambling / 赌博
工作相关类别(建议放行):
Business / 商业
Technology / 科技
Education / 教育
Government / 政府
News / 新闻
个人类别(可选控制):
Social_Network / 社交网络
Video_Sharing / 视频
Games / 游戏
Shopping / 购物
Streaming_Media / 流媒体
4.3 URL 过滤配置
# 创建 URL 过滤配置文件
url-filter profile name Web_Filter
# 阻断高风险类别
block categories Malware Phishing Hacking Violence
# 告警类别(记录日志但不阻断)
alert categories Social_Network Video_Sharing Games
# 允许类别
allow categories Business Technology Education
# 未分类的 URL 默认动作
default-action allow # 未分类默认允许
!
# 自定义 URL 分类(黑白名单)
url-filter category-name Trusted_Sites
match url *.huawei.com
match url *.microsoft.com
!
url-filter category-name Blocked_Sites
match url *.gaming.com
match url *.torrent.com
!
# 应用安全策略
security-policy
rule name Internet_Access
source-zone trust
destination-zone untrust
source-address 10.0.0.0 mask 255.255.255.0
action permit
profile url-filter Web_Filter # 关联 URL 过滤
五、URL 过滤的实现机制
5.1 远程分类查询
URL 过滤依赖于远程分类数据库:
本地防火墙 华为云分类中心
│ │
HTTP GET example.com │ │
───────────────────→ │ │
│ 查询域名分类 │
│ ──────────────────────────→ │
│ │
│ 返回分类:Business │
│ ←────────────────────────── │
│ │
│ 本地匹配策略:Business=允许 │
│ │
HTTP 放行 │ │
←─────────────────── │ │
# 配置远程查询
url-filter
server url http://url-filter.huawei.com/query
fallback allow # 查询失败时默认动作
!
# 本地缓存
# 最近查询过的 URL 会缓存到本地(默认 24 小时)
# 可缓存约 100 万条记录
5.2 HTTPS 过滤的挑战
HTTPS 加密流量给 URL 过滤带来的挑战:
问题:HTTPS 加密后,防火墙看不到 HTTP 请求的 URL
只能看到 TLS SNI(Server Name Indication)中的域名
解决方案:
1. 基于 SNI 过滤
url-filter profile name Web_Filter
block domain *.torrent.com # 基于域名阻断
block domain *.gambling.com
2. SSL 解密(中间人代理)
防火墙作为中间人解密 HTTPS
解密后才能做精细的 URL 过滤
→ 详见第 231 篇《SSL 解密与加密流量检测》
3. 混合方案
已知恶意域名 → SNI 过滤
未知站点 → SSL 解密后检测
六、应用场景案例
6.1 企业上网行为管理
企业策略要求:
工作时间:允许访问业务和科技类站点
限制社交网络和视频(告警 + 限速)
阻断恶意、赌博、暴力站点
休息时间:放宽限制
配置:
url-filter profile name Work_Hours
block categories Malware Phishing Hacking Gambling Violence
alert categories Social_Network Video_Sharing Games Shopping
allow categories Business Technology Education News
default-action allow
!
# 基于时间的策略
time-range work-hours
period 09:00 to 18:00 working-day
!
security-policy
rule name Work_Hours_Control
source-zone trust
destination-zone untrust
time-range work-hours
action permit
profile url-filter Work_Hours
七、总结
| 知识点 | 核心要点 |
|---|---|
| 反病毒定位 | 网络边界阻断恶意文件传输 |
| 支持协议 | HTTP/FTP/SMTP/POP3/IMAP |
| 检测引擎 | 签名引擎(已知病毒)+ 行为引擎(未知病毒) |
| 性能影响 | AV 启用后吞吐下降 50-70% |
| URL 过滤 | 基于 URL 类别控制 Web 访问 |
| 分类体系 | 100+ 类,可自定义黑白名单 |
| HTTPS 挑战 | SNI 过滤 + SSL 解密方案 |
八、思考
- 防火墙反病毒和终端杀毒软件有什么不同?各自的优势和劣势是什么?
- 反病毒检测的完整流程是怎样的?包含哪些关键步骤?
- URL 过滤如何知道一个网站是否属于恶意站点?本地没有分类怎么办?
- HTTPS 加密流量下,URL 过滤遇到什么挑战?如何解决?
- 如果企业员工反映某个正常业务网站被 URL 过滤阻断了,如何排查和处理?
下篇预告:第209篇《SSL VPN 远程接入方案》——基于浏览器的零客户端远程接入方案,详解 SSL VPN 的工作原理和部署场景。