FortiGate DoS 策略配置
2025/10/29大约 5 分钟
FortiGate DoS 策略配置
重要
要阻止 DoS 攻击,在位于攻击者和希望保护的所有资源之间的 FortiGate 设备上应用 DoS 策略。 DoS 过滤比包处理过程更早完成,由内核处理。FortiGate 的防 SYN Flood 攻击采用了业界最新的 syncookie 技术,在很少占用系统资源的情况下,可以有效地抵御 SYN Flood 等 DDOS 攻击对受保护服务器的攻击。从而阻止外部的恶意攻击,保护设备和内网,当检测到此类扫描探测时,向用户进行报警提示。
网络需求
Web 服务器 192.168.1.2,映射到外网地址 202.1.1.11,对互联网开放 HTTP 服务,从而增加了服务器被攻击的风险,需要开启 DDoS 功能对服务器进行保护。对所有来自互联网的访问进行 DDOS 防护。
网络拓扑

配置要点
- 定义服务器地址
- 定义 DDoS 策略
配置步骤
通过 GUI 配置
定义服务器地址,进入策略 & 对象 → 地址,新建地址对象,名称配置为“server”,地址类型选择子网:ip/掩码为“202.1.1.8/29”,点击“确认”,该地址范围既包括了服务器地址(202.1.1.11)也包括了防火墙的外网口地址(202.1.1.10)。

配置 DoS 策略齐前,需要确保在系统配置 → 可见功能中开启了 DoS 策略。

一条 DoS 策略可以包含一个或多个异常配置,通过访问 GUI 的“策略 & 对象” → “IPv4 DoS 策略”或“IPv6 DoS 策略”页面,点击“新建”按钮,并配置参数。

具体参数可以参考如下表格。
| 参数 | 说明 |
|---|---|
| 名称 | 输入策略名称。 |
| 流入接口 | 选择 DoS 策略工作的接口。 |
| 源地址 | 选择攻击流量的源地址。 |
| 目标地址 | 选择攻击流量的目标地址。 此处的地址应为与 FortiGate 接口相关联的地址,例如接口地址、接口第二地址、VIP 地址。 |
| 服务 | 选择攻击流量的目标服务或服务组。 可以配置为 ALL,或为了节省 FortiGate 资源,只选择 FortiGate 接口会应答的服务。 |
| L3 异常 L4 异常 | 配置异常: Logging:启用/禁用特定异常或所有异常的日志记录。当操作为“阻断”或“监视器”时,将记录异常流量。 动作:选择达到阈值时需要执行的操作: 禁用:不检查异常流量。 阻断:阻断异常流量。 监视器:允许异常流量,但是如果启用了 logging,则记录日志信息。 Threshold:触发异常动作需要达到的流量速率或并发数阈值。 |
| 注释 | 可选项。 |
- 启用此策略,然后点击确认。

通过 CLI 配置
相关 CLI 命令。
config firewall DoS-policy edit 1 set name "DoS_Policy" set interface "port2" set srcaddr "all" set dstaddr "server" set service "ALL" config anomaly edit "tcp_syn_flood" set status enable set action block set threshold 2000 next edit "tcp_port_scan" set status enable set action block set threshold 1000 next edit "tcp_src_session" set status enable set action block set threshold 5000 next edit "tcp_dst_session" set status enable set action block set threshold 5000 next edit "udp_flood" set status enable set action block set threshold 2000 next edit "udp_scan" set status enable set action block set threshold 2000 next edit "udp_src_session" set status enable set action block set threshold 5000 next edit "udp_dst_session" set status enable set action block set threshold 5000 next edit "icmp_flood" set status enable set action block set threshold 250 next edit "icmp_sweep" set status enable set action block set threshold 100 next edit "icmp_src_session" set status enable set action block set threshold 300 next edit "icmp_dst_session" set status enable set action block set threshold 1000 next edit "ip_src_session" set status enable set log enable set action block set threshold 5000 next edit "ip_dst_session" set status enable set log enable set action block set threshold 5000 next edit "sctp_flood" set status enable set action block set threshold 2000 next edit "sctp_scan" set status enable set action block set threshold 1000 next edit "sctp_src_session" set status enable set action block set threshold 5000 next edit "sctp_dst_session" set status enable set action block set threshold 5000 next end next end具体参数可以参考如下表格。
| 参数 | 说明 |
|---|---|
name <string> | 策略名称。 |
interface <string> | DoS 策略工作的接口。 |
srcaddr <string> | 攻击流量的源地址。 |
dstaddr <string> | 攻击流量的目标地址。 此处的地址应为与 FortiGate 接口相关联的地址,例如接口地址、接口第二地址、VIP 地址。 |
service <string> | 攻击流量的目标服务或服务组。 可以配置为 ALL,或为了节省 FortiGate 资源,只选择 FortiGate 接口会应答的服务。 |
| status {enable or disable} | 启用或关闭该异常。 |
| log {enable or disable} | 启用/禁用特定异常或所有异常的日志记录。当操作为“阻断”或“监视器”时,将记录异常流量。 |
| action {pass or block} | 选择达到阈值时需要执行的操作: pass:允许异常流量,但是如果启用了 logging,则记录日志信息。 block:阻断异常流量。 |
| quarantine {none or attacker} | Quarantine 方法: none:关闭 Quarantine 功能。 attacker:阻断所有来自攻击者 IP 的流量,然后将攻击者 IP 加入用户黑名单。 |
| quarantine-expiry <###d##h##m> | 设置 Quarantine 的时长,格式为天、分钟、分钟(###d##h##m),范围 1m - 364d23h59m, 默认为 5m)。该配置仅在 Quarantine 被配置为 attacker 时可用。 |
| quarantine-log {enable or disable} | 启用或禁用 Quarantine 日志(默认禁用),该配置仅在 Quarantine 被配置为 attacker 时可用。 |
threshold <integer> | 触发异常动作需要达到的流量速率或并发数阈值。 |