跳轉到

Management API / 自動化

大量建物件、批次改規則、跟 CI/CD 或 Terraform 整合 —— 用滑鼠點 SmartConsole 點到天亮不如寫 API。Check Point 的 Management API 讓你用 mgmt_cli 或 REST 自動化幾乎所有管理操作。

先啟用 API

SmartConsole → Manage & Settings → Blades → Management API → Advanced Settings,選存取範圍:

  • Management server only(只允許本機 mgmt_cli
  • All IP addresses that can be used for GUI clients(等同 Trusted Clients)
  • All IP addresses

改完要 Publish,再到 Management 上 api restart 生效。

兩個前提

  • 管理員的 Permission Profile 要勾「Management API Login」才能用 API 登入。
  • RAM > 4GB 的 Management Server 開機會自動啟動 API
api status     # 看 "Overall API Status: Started" 與 readiness test SUCCESSFUL
api restart

通訊走 HTTPS TCP 443,端點格式:https://<Mgmt-IP>/web_api/<command>(如 /web_api/login/web_api/add-host)。

mgmt_cli 標準工作流程

關鍵觀念:用 session file 把多個動作累積起來,最後一次 publish(不帶 session 的單行指令會自動 publish)。

# 1) 登入(本機 root 免帳密),把 session 存檔
mgmt_cli -r true -f json login > session.txt

# 2) 用 -s 帶 session 做事(可累積很多筆)
mgmt_cli add host name "web01" ip-address 172.30.30.1 color green -s session.txt
mgmt_cli add access-rule layer "Network" position top \
        name "allow-web01" source "web01" destination "Any" \
        service "https" action "Accept" -s session.txt

# 3) 一次發布
mgmt_cli -s session.txt publish

# 4) 安裝策略並登出
mgmt_cli -s session.txt install-policy policy-package "Standard" access true
mgmt_cli -s session.txt logout

常用旗標:

旗標 意義
-r true 本機 root 免帳密登入
-u <user> -p <pass> 帳密登入
-s <file> 讀取 session id(批次累積)
-f json / -f table 輸出格式
-m <server> 指定遠端 Management
-d <domain> MDS 指定 Domain

好用的查詢指令

  • show changes — 看自某時間點以來的改動
  • where-used object-name "web01" — 查某物件被哪些規則用到(刪物件前必查)
  • 完整指令物件參考:官方 Management API Reference(login / publish / add-* / install-policy …)。

進階整合

  • Terraform / Ansible:Check Point 有官方 Terraform Provider 與 Ansible 模組,把整套策略當「程式碼」管理(Infrastructure as Code)。
  • R82 VSNext:Virtual Gateway / Virtual Switch 可純用 Gaia REST API 建立、修改、刪除,大規模佈署更快。

小結

  • 先在 SmartConsole 啟用 Management API + api restart,管理員要有 API Login 權限。
  • mgmt_clisession file 批次累積 → 一次 publish → install-policy
  • 刪物件前用 where-used、查改動用 show changes
  • 進一步可接 Terraform / Ansible 做 IaC,R82 VSNext 全 REST API 化。