将 Palo Alto 或 FortiGate 日志导入可供分析的文件的可靠方式是 syslog。将防火墙的日志转发到运行 rsyslog 的小型 Linux 收集器,然后导出收集器的文件。对于已经在设备上的历史记录,FortiGate 可以从其 GUI 下载原始日志。在 PAN-OS 上,历史记录的实际来源通常是 Panorama、Strata Logging Service 或 SIEM。
防火墙监控所有进出连接,现在它们自身也成为目标。它们的日志回答了”那台主机与谁通信?” 和 “谁在凌晨3点登录到防火墙?” Prime Core 有 2093 条用于防火墙日志的检测规则,映射到 554 个 MITRE ATT&CK 技术。其中包括:通过常见协议的指挥与控制 (T1071)、通过替代通道的数据泄露 (T1048) 和网络扫描 (T1046)。
开始之前
检查实际记录的内容。 防火墙仅记录其规则指示的内容,默认设置比人们想象的更少。
- 在 PAN-OS 上,预定义的 intrazone-default 和 interzone-default 规则不默认记录。落到其上的被拒绝交通不会留下痕迹,除非有人覆盖了它们以进行记录。
- 在 FortiGate 上,记录设置是每个策略(仅安全事件或所有会话)设置的。默认情况下,命中隐式拒绝策略的流量未被记录。
检查历史记录存放在哪里。 设备上的存储有限,会进行轮换。没有磁盘的较小型号 FortiGate 日志记录在内存中,重启会清除这些记录。如果您运行 Panorama、Strata Logging Service、FortiAnalyzer 或 FortiCloud,它们几乎肯定比防火墙保存更多历史记录。从那里开始。
不要忘记防火墙自身的日志。 管理员登录和配置更改(在 PAN-OS 上是系统和配置日志,在 FortiGate 上是事件日志)与流量一样重要,因为边缘设备已成为常见的入口点。
路径A:将 syslog 转发给收集器
这会从现在开始捕捉事件,是您在下次事件发生前应设置好的配置。
在 Linux 收集器上,创建 /etc/rsyslog.d/10-firewall.conf:
module(load="imudp")
input(type="imudp" port="514" ruleset="firewall")
ruleset(name="firewall") {
action(type="omfile" file="/var/log/firewall/fw.log")
}
然后重启 rsyslog,并使用 ss -ulpn | grep 514 检查其监听。开放防火墙管理或日志记录接口到收集器的 UDP 514,除此之外不再开放。
在 PAN-OS 上:
- 设备 → 服务器配置文件 → Syslog:添加收集器,UDP,端口514。
- 对象 → 日志转发:创建一个发送流量和威胁日志到该 syslog 配置文件的配置文件。
- 将配置文件附加到您的安全规则中。单独地,将系统和配置日志转发到 设备 → 日志设置.
- 提交。
在 FortiGate 上 (CLI):
config log syslogd setting
set status enable
set server "10.0.0.50"
set port 514
set format default
end
默认格式写入键=值对。当您需要分析一部分时,从收集器的文件中提取:
grep '2026-10-19' /var/log/firewall/fw.log > fw_1019.log
日期的外观取决于供应商格式,因此调整模式以匹配。
路径 B:从设备中获取历史记录
FortiGate: in 日志 & 报告,打开您需要的日志视图(转发流量、安全事件、系统事件),过滤时间范围,并下载原始日志,此为键=值行的文本文件。
如何从 FortiGate GUI 下载日志
- 登录到 FortiGate Web UI。 [1]
- 前往 日志 & 报告 在左侧导航菜单。 [1]
- 选择所需的日志类别(例如, 流量日志 > 转发流量 or 系统事件)。 [1, 2]
- 设置时间过滤器或选择特定日志行(按住 Ctrl 以选择多行)。 [1, 2]
- 点击 下载 (or 下载原始日志)图标。 [1, 2]
- 选择您的格式(文本文档, CSV,或 JSON,取决于您的 FortiOS 版本)或选择 下载并合并 以处理大型日志集(v7.6+)。 [1]
注意: 直接 GUI 下载有硬限制(通常设备上 400,000 条日志,或通过 FortiGate Cloud 2,000–40,000 条)。对于更大的备份,请使用 CLI 命令 execute backup disk/memory alllogs ftp/tftp。 [1, 2]
需要注意什么
| 模式 | 可能意味着什么 |
|---|---|
| 对同一个罕见外部 IP 的定期出站会话 | 指挥与控制信标 |
| 一个内部主机发送比平时多得多的字节出去 | 数据泄露 |
| 短时间内从一个来源到多个目标端口的流量 | 扫描,来自外部或被攻陷的内部主机 |
| 威胁日志命中(入侵防御系统,防病毒,间谍软件,URL 过滤) | 防火墙自身的检测;检查之后发生了什么 |
| 从不寻常的 IP 登录到防火墙的管理员登录,奇怪时间的配置更改 | 有人在操作防火墙自身 |
上传、净化和审查到 LogTotal
- 上传。 打开 logtotal.com 并放入文件。
- 净化。 在继续前查看。
- 审查。
当出现问题时
| 症状 | 可能的原因 | Fix |
|---|---|---|
| 日志中没有被拒绝的流量 | 默认规则不记录 | 在默认和隐式拒绝规则上启用记录 |
| 收集器未接收任何内容 | 网络 ACL、错误端口或协议,rsyslog 未监听,或 (PAN-OS) 配置文件未附加或未提交 | 检查每一跳;在收集器上使用 tcpdump -n udp port 514 |
| FortiGate 日志在重启后消失 | 仅内存日志记录在无盘模型上 | 转发到 syslog 或 FortiAnalyzer |
| 时间戳与其他来源不匹配 | 防火墙时区或 NTP | 修复 NTP;注意设备时区 |
| 日志长行被截断 | UDP 消息大小限制 | 切换到 TCP syslog |
FAQ
我应该从 Panorama 或 FortiAnalyzer 导出吗?
如果有的话,通常应该。他们保留更多历史记录,并覆盖多台防火墙。
那么 Cisco、Check Point、Juniper 呢?
syslog-collector 方法适用于所有这些,将提供其各自的指南。