第237篇:防火墙日志与审计方案

关键词

防火墙日志、日志审计、Syslog、会话日志、安全事件、日志存储、合规审计、日志分析


一、防火墙日志类型

1.1 日志分类

防火墙记录多种类型的日志,用于不同审计目的:

防火墙日志分类:

会话日志(Session Log) 记录:源IP/端口、目的IP/端口、协议、时间、动作 用途:流量分析、访问审计 量级:巨大(每秒钟大量会话) 安全日志(Security Log) 记录:IPS/AV/URL过滤/沙箱的检测结果 用途:威胁分析、安全事件溯源 量级:中(只有攻击/违规时产生) 操作日志(Operation Log) 记录:管理员登录/退出、配置变更 用途:管理审计、合规检查 量级:少(只有管理员操作时产生) 系统日志(System Log) 记录:设备启动、CPU/内存告警、接口状态变化 用途:设备运行监控 量级:少(只记录关键事件)

1.2 典型日志示例

会话日志示例:
  2024-03-15 10:00:01 | permit | TCP | 10.0.1.100:50001 → 93.184.216.34:80 | 1234 bytes
  2024-03-15 10:00:02 | permit | UDP | 10.0.1.100:54321 → 8.8.8.8:53 | 78 bytes
  2024-03-15 10:00:03 | deny   | TCP | 10.0.1.200:40001 → 185.22.33.44:4444 | 0 bytes

安全日志示例(IPS):
  2024-03-15 10:00:05 | IPS | CRITICAL | SQL Injection Attempt
  Source: 10.0.1.100 → Destination: 10.0.2.10:80
  Rule: SQL-Injection-SELECT (SID: 12345)
  Action: block + reset

安全日志示例(URL过滤):
  2024-03-15 10:00:10 | URL-Filter | BLOCK | Malware
  User: zhangsan → URL: http://malware.example.com/evil.exe
  Category: Malware Sites
  Action: block

操作日志示例:
  2024-03-15 09:30:00 | OPER | admin | Login successful (SSH, 10.0.100.10)
  2024-03-15 09:35:00 | OPER | admin | Configuration change: add security-policy rule

二、日志采集与传输

2.1 Syslog 协议

Syslog(RFC 5424/3164)是网络设备日志传输的标准协议:

Syslog 传输架构:

防火墙 → Syslog (UDP 514 / TCP 1468) → 日志服务器

Syslog 消息格式:
  <PRI>Timestamp Hostname App[PID]: Message

  <134>2024-03-15T10:00:01Z FW-01 USG6600[1000]: 
    session log: permit TCP 10.0.1.100:50001 -> 93.184.216.34:80

  PRI = Facility(16) * 8 + Severity(6) = 134
  Facility: 16 (local0)
  Severity: 6 (Informational)

Syslog 严重级别:
  0   Emergency      系统不可用
  1   Alert          立即处理
  2   Critical       关键状态
  3   Error          错误
  4   Warning        警告
  5   Notice         正常但重要的事件
  6   Informational  信息性消息
  7   Debug          调试信息

2.2 华为防火墙 Syslog 配置

# 华为 USG 防火墙 Syslog 配置

# 日志服务器配置
info-center loghost 10.0.100.50                  # Syslog 服务器
info-center loghost source-address 10.0.0.1      # 源 IP
info-center loghost channel 4 port 514           # UDP 514
info-center timestamp log loghost                # 日志时间戳

# 日志通道配置
info-center loghost channel 4
 # 设置通道 4 的日志级别
 info-center source default channel 4 log level informational
 info-center source session channel 4 log level informational
 info-center source attack channel 4 log level alert
!

# 会话日志配置(重要——默认不记录)
firewall session log
 session-log enable                               # 使能会话日志
 session-log log-type all                         # 记录所有会话
 session-log log-interval 180                     # 长会话每 180 秒记录一次
 session-log log-buffer 512                       # 日志缓存大小
!

# 安全日志配置
firewall defend log enable                        # 攻击防御日志
firewall log session log-type all                 # 记录阻断和允许的会话

2.3 日志传输的可靠性

Syslog UDP 的问题:
  └─ UDP 不可靠 → 日志可能丢失(尤其在高峰时段)
  └─ 无确认机制 → 发送端不知道是否到达

解决方案:

方案 1:Syslog over TCP(可靠传输)
  # 防火墙配置 TCP 传输
  info-center loghost 10.0.100.50 port 1468 transport tcp
  #
  # 日志服务器(rsyslog)配置
  $ModLoad imtcp
  $InputTCPServerRun 1468

方案 2:本地缓存 + 批量上传
  # 防火墙本地缓存日志
  info-center logbuffer size 1024
  display logbuffer                                 # 查看本地缓存
  #
  # 日志缓存满时自动上传
  info-center logbuffer export interval 60          # 每 60 秒上传一次

方案 3:双日志服务器
  # 主备日志服务器
  info-center loghost 10.0.100.50
  info-center loghost 10.0.100.51

三、日志存储与管理

3.1 存储需求估算

日志存储量估算:

          日均日志量      保留周期      所需存储
  ────────────────────────────────────────────────
  小型企业:     500MB      90 天         45 GB
  中型企业:     5 GB       180 天        900 GB
  大型企业:     50 GB      365 天        18 TB
  运营商级:     500 GB     365 天        180 TB

估算公式:
  日志量 = 活跃用户数 × 日均会话数 × 日志大小 × 保留天数

  示例:500 用户,每人每天 2000 会话,每日志 500 字节
  500 × 2000 × 500B = 500MB/天
  500MB × 365 天 = ~180 GB/年

优化方法:
  1. 只记录阻断日志(不记录允许日志)
  2. 聚合重复日志(相同源目聚合为统计)
  3. 分级存储(热存储 30 天 + 冷存储长期)

3.2 华为日志管理方案

华为 SecoManager / eLog 日志管理:

                ┌──────────────────┐
                │   防火墙集群      │
                │  Syslog 发送      │
                └────────┬─────────┘
                         │
                ┌────────┴─────────┐
                │  eLog / Syslog    │
                │  日志采集器       │
                │  (接收+解析+索引) │
                └────────┬─────────┘
                         │
┌────┴────┐ ┌────┴────┐ ┌────┴────┐
日志存储 Elastic Search 日志分析 SecoMgr 关联分析 告警展示 Web UI 仪表盘

功能: 1. 多设备日志统一采集 2. 实时日志搜索 3. 日志报表生成 4. 基于日志的告警 5. 长期归档存储


四、日志审计的内容

4.1 日常审计检查项

防火墙日志审计检查清单:

每日检查:

□ 阻断日志中新增的目的 IP 是否可疑 □ 高峰时段会话数是否超阈值 □ 管理员操作日志是否正常 □ 设备系统日志是否有异常告警

每周检查:

□ 汇总本周 TOP 10 阻断源 IP □ 检查 URL 过滤 TOP 阻断分类 □ 检查 IPS 签名命中趋势 □ 非工作时间异常活动检查

每月检查:

□ 生成月度安全审计报告 □ 检查日志存储使用量 □ 回顾未处理的安全事件 □ 更新安全策略(基于日志分析)

4.2 合规审计要求

等保 2.0 日志审计要求(三级系统):

控制点 1:日志记录
  ├─ 应记录网络设备的运行日志、安全事件日志
  ├─ 内容:时间、用户、类型、源目 IP、操作等
  └─ 安全事件的日志记录时间应在 1 秒以内

控制点 2:日志保护
  ├─ 日志记录应受到保护,防止被删除、修改或覆盖
  ├─ 日志服务器应有冗余(双机或 RAID)
  └─ 日志的访问权限应受控

控制点 3:日志存储
  ├─ 日志保存时间不少于 6 个月
  ├─ 日志存储空间应满足要求
  └─ 日志应定期归档

控制点 4:日志审计
  ├─ 应对日志进行审计分析
  ├─ 审计记录应保护,避免被删除
  └─ 审计人员权限与运维人员分离

五、日志分析实战

5.1 日志查询命令

# 华为防火墙本地日志查询

# 查看会话日志
display firewall session log
  Time                SrcIP:Port       DstIP:Port           Action  Bytes
  2024-03-15 10:00   10.0.1.100:50001 93.184.216.34:80     permit  1234

# 查看日志缓冲区(最近的日志)
display logbuffer
  May 15 10:00:01 2024 FW-01 %%01SESSION/6/PERMIT(p): 
    session log: permit TCP 10.0.1.100:50001 -> 93.184.216.34:80

# 查看阻断日志汇总
display firewall log deny
  Top 10 Deny Sources:
    IP               Count
    10.0.1.200       1542              ← 异常,可能是被攻击
    192.168.1.50     523
    10.0.1.150       321

# 按时间段查询
display logbuffer time 10:00:00 to 11:00:00

# 搜索特定 IP
display logbuffer | include 10.0.1.100

5.2 常见日志分析工具

日志分析工具对比:

工具                   类型            特点
────────────────────────────────────────────────
ELK Stack           开源              搜索强、可视化好
(Elasticsearch+
 Logstash+
 Kibana)

Splunk              商业              功能全面、成本高
华为 SecoManager    华为方案          与华为设备深度集成
Grafana + Loki      开源              轻量级、适合指标展示
Graylog             开源              开箱即用、SQL 查询

使用 ELK 分析防火墙日志示例:

  Logstash 配置(输入):
    input {
      syslog {
        port => 514
        type => "firewall-log"
      }
    }

  Elasticsearch 查询(查找 TOP 攻击源):
    GET /firewall-logs-*/_search
    {
      "query": {"match": {"action": "deny"}},
      "aggs": {"top_sources": {"terms": {"field": "src_ip", "size": 10}}}
    }

六、日志审计最佳实践

6.1 实施建议

日志审计实施步骤:

1. 规划
   ├─ 确定日志保留周期(等保 6 个月,企业建议 12 个月)
   ├─ 计算存储需求
   └─ 选择日志平台

2. 部署
   ├─ 防火墙配置 Syslog
   ├─ 日志服务器搭建
   ├─ 日志分类存储
   └─ 配置告警规则

3. 日常运营
   ├─ 每日:检查异常日志
   ├─ 每周:生成安全报告
   ├─ 每月:全面审计
   └─ 每季度:回顾日志存储和策略

4. 应急
   ├─ 安全事件发生后第一时间冻结日志
   ├─ 日志完整性校验
   └─ 日志作为取证依据

6.2 常见问题

常见日志问题:

问题 1:日志量太大
  原因:记录所有 permit 会话日志
  解决:选择性记录(只记录 deny + 指定 permit)
        使用采样

问题 2:时钟不同步
  原因:防火墙与日志服务器时间不一致
  解决:配置 NTP 同步
  # 华为防火墙 NTP
  ntp-service unicast-server 10.0.100.10

问题 3:日志丢失
  原因:UDP 传输、高峰时段丢包
  解决:使用 TCP 传输、增加日志缓存

问题 4:日志不一致
  原因:不同设备的时间格式不同
  解决:统一使用 UTC 时间格式
  info-center timestamp log loghost utc

七、总结

知识点 核心要点
日志类型 会话/安全/操作/系统四类
Syslog UDP 514 / TCP 1468,标准化日志传输
会话日志 记录所有连接,量最大但最有用
安全日志 IPS/URL/AV 检测结果
存储估算 每用户每天约 1MB 日志
合规要求 等保 2.0:保存 6 个月,保护完整性
NTP 同步 日志审计的基础

八、思考

  1. 防火墙的四种日志类型分别是什么?各自记录哪些内容?
  2. Syslog UDP 传输日志有哪些风险?如何解决日志传输的可靠性问题?
  3. 如何估算企业防火墙日志存储需求?500 名员工、保留 180 天需要多大存储?
  4. 等保 2.0 对日志审计有哪些具体要求?日志保留时间是多少?
  5. 当发现防火墙日志出现大量阻断记录,且来源 IP 集中在某几台内网 IP 时,可能是什么问题?应该如何排查?

下篇预告:第238篇《日志服务器 Syslog 与安全事件关联》——集中日志管理平台搭建,多源日志关联分析,安全事件发现和告警。