參加完 2025 資安大會後,感覺透過限制 IP 來源的防護政策還是有一定的效果,因此就在評估對現有 FortiGate VPN 增加相關設定。首先已確認 FortiGate 可以設定以 國家/ 地理位址 做為辨識的「位址物件」,所以後續就剩相關政策的設定與套用。
原先 AI 建議可以在《防火牆政策》設定 Wan → IPSec 來過濾,但實際測試並沒有擋下來,猜測是因為當建置 IPSec VPN 後,FortiGate 會在《進入本機流量政策 (Local-In)》加入一個政策,允許任何 IP 透過 IPSec 連入而造成《防火牆政策》無效,因此要阻擋的話,也需要從這個 Local In Policy 下手了。

Mi versión de firmware es 7.4.7,En la interfaz gráfica,Local In Policy solo se puede visualizar,No se puede modificar,Por lo tanto, después de crear los 'objetos de dirección' de los países relevantes,el siguiente paso es ingresar a la 'consola CLI',y realizar cambios en Local In Policy mediante comandos。
(Según la documentación oficial,7.6.0 después se puede configurar a través de GUI。)
[Entorno FortiGate]
- Versión de firmware:7.4.7
- Método de conexión VPN:IPSec
- Propósito de la configuración:Solo se permiten conexiones IPSec VPN desde IPs de países específicos。
[Consola CLI]
Primero, una breve explicación,En cuanto a la prioridad,Generalmente, primero se configuran las reglas de 'permitir',,y luego se configura 'rechazar todo',Pero como quiero confirmar primero que 'Rechazar todo' funcione,Entonces primero configuraré la regla de 'Rechazar',Cuando todo esté configurado, usaré 'mover' para ajustar el orden de las políticas。
1. Rechazar conexiones IPSec VPN de todas las IPs
config firewall local-in-policy
edit 1
set intf "virtual-wan-link" # virtual-wan-link 為 Interface 的名稱
set srcaddr "all"
set dstaddr "all"
set action deny
set service "IKE" "ESP"
set schedule "always"
next
end
2. Permitir conexiones IPSec VPN solo desde IPs de países específicos
config firewall local-in-policy
edit 2
set intf "virtual-wan-link"
set srcaddr "Country-Allow"
set dstaddr "all"
set action accept
set service "IKE" "ESP"
set schedule "always"
next
end
3. 調整 local-in-policy 順序
config firewall local-in-policy move 2 before 1 end
4. 查看最後設定結果
show firewall local-in-policy
[Episodio Extra]
在測試的過程,如果有想觀察相關流量狀況,可以透過以下指令進行。
1. 用 sniffer 觀察任何進入 500, 4500 port 的流量
diag sniffer packet any 'port 500 or port 4500' 4 # 4 最詳細,1 最簡單 // 按 CTRL + C 結束
2. 用 debug 模式觀察來自 123.123.123.123 的前 100 筆流量
diag debug reset diag debug flow filter addr 123.123.123.123 diag debug flow trace start 100 diag debug enable diag debug disable diag debug reset
3. 用 debug 模式觀察 IKE 流量
diag debug reset diag debug console timestamp enable diag debug application ike -1 # 等級從 1 ~ 15,-1 代表最詳細 diag debug enable diag debug disable diag debug reset
《相關連結》
- FortiGate-Local-in policy介紹與設定 – Andy的IT技術分享網站
- How to move the order local-in policy For… – Fortinet Community







