在 FortiGate 中配置 Spamhaus DROP 列表:实现恶意网段自动同步与拦截

通过 FortiGate 外部连接器 (External Connectors) 自动化集成 Spamhaus DROP 威胁情报。该方案通过 curljq 提取恶意 CIDR 网段,并利用防火墙的 Threat Feed 功能实现动态同步,旨在为企业边界安全提供一层自动化的“零误伤”过滤屏障。

一、 环境准备:获取并整理 DROP 列表

Spamhaus 提供的 DROP (Don’t Route Or Peer) 列表包含了由恶意组织控制的网段。其原始格式为 JSON,需转换为 FortiGate 兼容的纯文本。

1. 原始格式预览

{"cidr":"1.10.16.0/20","sblid":"SBL256894","rir":"apnic"}
{"cidr":"1.19.0.0/16","sblid":"SBL434604","rir":"apnic"}

2. 数据提取脚本

在你的 Web 服务器(或中转服务器)上运行以下命令,提取 cidr 字段并生成纯文本:

# 下载、解析并保存为文本文件
curl -s https://www.spamhaus.org/drop/drop_v4.json | jq -r '.cidr' > spamhaus_drop.txt

注意:FortiGate 无法直接解析该 JSON 文件,因此必须通过上述步骤将其托管在内部或公网的 HTTP/HTTPS 服务器上。

二、 FortiGate 配置步骤

1. 创建外部连接器 (Threat Feed)

  1. 登录 FortiGate,进入 Security Fabric > External Connectors
  2. 点击 Create New,在 Threat Feeds 类别下选择 IP Address
  3. 参数配置详情:
  • Name: Spamhaus_DROP
  • URL: http://yourserver.com/spamhaus_drop.txt
  • Refresh Rate: 设置为 60 分钟(平衡实时性与服务器负载)。

2. 状态验证

保存配置后,在列表中观察连接器图标状态:

  • 绿色箭头:连接正常。
  • 红色感叹号:请检查 FortiGate 是否有权限访问该 URL,或 DNS 解析是否正常。
  • 查看内容:右键点击连接器选择 View Entries,确认是否已成功拉取 IP 列表。

三、 应用安全策略

获取列表后,必须将其应用到安全策略中才会生效。

  1. 进入 Policy & Objects > Firewall Policy
  2. 创建一条新的拦截策略:
  • Name: Deny_Spamhaus_Inbound
  • Incoming Interface: WAN (外部接口)
  • Source: 选择刚才创建的动态对象 Spamhaus_DROP
  • Destination: All
  • Service: ALL
  • Action: DENY
  1. 关键操作:在策略列表中,手动将该策略 移至顶端 (Top)

提示:为了防范内网主机被感染后回连 C&C 服务器,建议额外创建一条 SourceInternalDestinationSpamhaus_DROP 的拦截策略。


四、 自动化更新

为了确保列表始终最新,建议在 Web 服务器上设置 Crontab 定时任务:

# 每小时自动更新一次列表
0 * * * * curl -s https://www.spamhaus.org/drop/drop_v4.json | jq -r '.cidr' > /var/www/html/spamhaus_drop.txt

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注