Fortinet FortiGate 實戰課程

階段一:基礎地基 (Level 1) - 單元 1:核心架構與初始化

講師導言

歡迎來到 FortiGate 的世界!很多人問我:「為什麼 FortiGate 這麼受歡迎?」答案很簡單:因為它不僅是個保安,還是個跑得飛快的保安。這歸功於它的「SPU 加速晶片」。今天這堂課,我們要先搞懂它的心臟 (ASIC) 是如何跳動的,接著實際動手把它「叫醒」(初始化)。

Concept 一、核心概念:ASIC 硬體加速 (SPU)

SPU (Security Processing Unit) 是 Fortinet 獨家研發的專用處理器,用來分擔通用 CPU 的工作,實現極致的網路吞吐量與低延遲。

🍳 生活化比喻:繁忙的米其林餐廳廚房

  • General CPU (行政主廚):負責指揮、處理複雜的特殊訂單 (管理層面),腦袋很靈活但做重複動作不夠快。
  • NP - Network Processor (切菜機器人):專門負責快速處理食材的進出、分類 (封包轉發),速度極快,能處理海量訂單。
  • CP - Content Processor (食安檢驗官):專門負責拿顯微鏡檢查食材有沒有壞掉 (病毒)、有沒有藏毒藥 (加密解密),做得很細緻。

Mechanism 二、運作原理

封包處理流程

當封包進入 FortiGate 時,會依據是否為已知連線決定路徑。

  • Slow Path 首包處理: TCP 的第一個 SYN 封包必須由 CPU 建立 Session Table。
  • Fast Path 硬體加速: 一旦 Session 建立並確認可以 Offload,後續封包直接由 NP 轉發,完全繞過 CPU,延遲可低至 2-3 微秒。
  • Content 內容檢測: 若策略開啟 AV/IPS,流量會被導向 CP 進行特徵碼比對與加解密。

關鍵型號與參數

  • NP7 (Network Processor) 負責 L4 Firewall, IPv4/IPv6, Multicast, IPsec VPN 加速。
  • CP9/10 (Content Processor) 負責 SSL/TLS Offloading, IPS/Antivirus Pattern Matching。
  • SoC (System on a Chip) 入門款 (60F/70F) 將 CPU+NP+CP 整合在同一晶片,CP 值高。

Visuals 三、架構視覺化

所有的架構圖皆使用 Mermaid 語法繪製,已調整顯示比例以增加可讀性。

1. FortiGate 內部處理架構 (Parallel Path Processing)

graph TD %% Define Custom Styles for Better Visibility classDef default fill:#fff,stroke:#333,stroke-width:2px; classDef ioNode fill:#212121,stroke:#000,stroke-width:2px,color:#fff,font-weight:bold,padding:10px; classDef npNode fill:#e1f5fe,stroke:#01579b,stroke-width:3px,font-weight:bold,rx:5,ry:5; classDef cpNode fill:#e8f5e9,stroke:#1b5e20,stroke-width:3px,font-weight:bold,rx:5,ry:5; classDef cpuNode fill:#fff3e0,stroke:#e65100,stroke-width:3px,font-weight:bold,rx:5,ry:5; classDef decisionNode fill:#fff,stroke:#333,stroke-width:2px; subgraph FortiGate_Chassis ["FortiGate 機箱內架構"] direction TB Ingress["封包進入介面"]:::ioNode --> Classifier{"封包分類"}:::decisionNode Classifier -- "已知 Session
(Offloaded)" --> NP_Chip["NP 處理器
(Fast Path)"]:::npNode NP_Chip -- "L4 轉發 / NAT / VPN" --> Egress["封包送出介面"]:::ioNode Classifier -- "新 Session
無法 Offload" --> CPU["General CPU
(Slow Path)"]:::cpuNode CPU -- "建立 Session
路由決策" --> Kernel["核心 (Kernel)"]:::cpuNode Kernel -- "需要內容檢測
(AV/IPS)" --> CP_Chip["CP 處理器
(Content Path)"]:::cpNode CP_Chip -- "掃描結果回傳" --> Kernel Kernel --> Egress end

2. 封包生命週期 (Life of a Packet)

sequenceDiagram participant User as 使用者 participant NP as NP (Network) participant CPU as CPU (Kernel) participant CP as CP (Content) participant Internet as 網際網路 Note over User, Internet: 情境:第一次存取 HTTPS 網站 (First Packet) User->>NP: TCP SYN NP->>CPU: 無 Session,送交 CPU CPU->>CPU: 路由查詢, Policy 檢查 CPU->>Internet: 建立連線 (SYN/ACK) Internet-->>CPU: 回應 CPU->>NP: 安裝 Session 規則 (Offload) CPU->>User: 回應 Note over User, Internet: 情境:後續資料傳輸 (Fast Path) User->>NP: HTTP GET (Encrypted) NP->>NP: 匹配 Session (Offloaded) NP->>Internet: 直接轉發 (繞過 CPU) Note over User, Internet: 情境:若是需要解密掃描 (UTM) Internet-->>NP: Encrypted Data NP->>CP: 送交解密與掃描 CP->>CP: IPS/AV 檢查 CP-->>NP: 安全,重新加密 NP->>User: 轉發資料

Use Case 四、實務應用場景

案例:跨國企業的高流量 VPN 閘道

情境描述: 某製造業需要在台灣總部與越南工廠之間建立 Site-to-Site VPN,傳輸大量的 CAD 設計圖檔 (大檔案) 與 VoIP 語音 (即時性)。

👍 SPU 的優勢

開啟 NP Offloading 後,IPsec 加解密由 NP 晶片處理。CPU 使用率維持在 5% 以下,即便傳輸 10Gbps 的大檔,VoIP 電話也不會斷訊或延遲 (Jitter 極低)。

👎 若無 SPU (純軟體防火牆)

所有加解密由 CPU 運算。當檔案傳輸開始時,CPU 飆升至 90%,導致 VoIP 封包排隊等待,通話產生機器音或斷線。

Concept 五、核心概念:管理介面與初始化

初始化是將全新出廠的 FortiGate 連接上線,並賦予其管理權限與基礎網路身分的過程。

📱 生活化比喻:剛買的新手機

  • Console 連線 (工程模式):手機螢幕壞了也能透過這條線下指令修復,最底層的控制。
  • Mgmt/GUI 介面 (觸控桌面):圖形化好操作,大部分設定都在這裡點一點就好。
  • Default IP (原廠預設密碼):大家都一樣 (192.168.1.99),第一件事就是要改掉它。

連接方式與預設值

GUI (網頁)

IP: 192.168.1.99
URL: https://192.168.1.99
User: admin
Pwd: (空)

通常使用 MGMT 埠或 Port 1。需將電腦設為同網段 (如 192.168.1.100) 才能連接。

CLI (Console)

Baud Rate: 9600
Data bits: 8
Parity: None, Stop: 1

使用 RJ-45 to DB9/USB 線材。這是 Out-of-Band 管理,救機專用。

3. 初始化連接拓樸圖

graph LR subgraph Admin_PC ["管理員電腦"] PC_NIC["網卡 IP: 192.168.1.100"] Terminal["終端機軟體 PuTTY"] end subgraph FortiGate ["FortiGate 防火牆"] Mgmt_Port["MGMT / Port1
IP: 192.168.1.99"] Console_Port["Console Port
Serial"] end PC_NIC -- "Ethernet (HTTPS/SSH)" --> Mgmt_Port Terminal -- "Console Cable (Serial)" --> Console_Port style Admin_PC fill:#f5f5f5,stroke:#333,stroke-width:1px style FortiGate fill:#ffebee,stroke:#C01923,stroke-width:2px

情境:誤設策略導致「把自己鎖在外面」

新手管理員在調整 Trusted Host (信任主機) 設定時,不小心輸入錯誤的 IP 範圍,導致原本的管理電腦無法透過 HTTPS 連線登入。

解決方案:Console 救援

這時候 GUI 已經無法存取。管理員必須拿起 Console 線 直接連接設備背後的 Console Port。因為 Console 存取通常不受 Trusted Host 或防火牆 Policy 限制 (是實體層存取),管理員可以登入 CLI,下指令 `unset trusted-hosts` 或修正 IP,成功救回設備控制權。

Configuration 六、實戰設定範例:管理 IP 與存取控制

完成硬體連接後,第一步是將 FortiGate 設定為符合企業網路環境的 IP,並透過 Trusted Host 鎖定來源,確保管理介面安全。

1. 修改介面 IP & 開放存取

GUI 路徑: Network > Interfaces > 編輯介面 (如 port1)
  • IP/Netmask: 設定介面 IP (例如 192.168.100.254/24)。
  • Administrative Access: 勾選允許的管理方式。
    • HTTPS: 網頁管理 (加密)
    • SSH: 指令管理 (加密)
    • PING: 測試連通性
    • HTTP/TELNET: 不建議開啟 (明文)

# CLI 設定範例

config system interface

edit "port1"

set mode static

set ip 192.168.100.254 255.255.255.0

set allowaccess ping https ssh

next

end

2. 限制來源 IP (Trusted Host)

GUI 路徑: System > Administrators > 編輯 admin

Trusted Host 是 FortiGate 最重要的基礎防護。設定後,只有列表中的 IP 能看到登入頁面,其他來源會直接連線逾時 (Drop)。

注意:若設定錯誤,所有人都會被阻擋在外 (包含你自己)!

# CLI 設定範例 (限制 admin 帳號)

config system admin

edit "admin"

# 允許內網網管網段

set trustedhost1 192.168.100.0 255.255.255.0

# 允許特定公網 IP

set trustedhost2 203.0.113.10 255.255.255.255

next

end

Quiz 七、隨堂測驗

請點擊您認為正確的選項,系統將會顯示解析。