第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 解密方案

八、思考

  1. 防火墙反病毒和终端杀毒软件有什么不同?各自的优势和劣势是什么?
  2. 反病毒检测的完整流程是怎样的?包含哪些关键步骤?
  3. URL 过滤如何知道一个网站是否属于恶意站点?本地没有分类怎么办?
  4. HTTPS 加密流量下,URL 过滤遇到什么挑战?如何解决?
  5. 如果企业员工反映某个正常业务网站被 URL 过滤阻断了,如何排查和处理?

下篇预告:第209篇《SSL VPN 远程接入方案》——基于浏览器的零客户端远程接入方案,详解 SSL VPN 的工作原理和部署场景。