跳轉到

八、網路需求與對外連線

這章在講什麼:這套系統到底需不需要連網際網路、要開哪些防火牆規則。

一句話先講:完全不通外網的內部網路也能正常用。這章其餘篇幅是在告訴您「哪些功能才會用到外網」,以及「排查時看到某些網址,其實它根本沒去連」。

什麼時候看:規劃防火牆規則時、資安單位要求提供對外連線清單時、或懷疑某個功能是不是被網路擋住時。


8.1 結論:完全封閉的網路(air-gap)可以正常運作

封閉網路(air-gap) 指的是這台機器完全連不到網際網路,只在貴單位內部網路裡。這在政府與金融機關很常見,本系統完整支援。

Guidant AI 落地部署版的設計前提就是「客戶環境可能完全沒有外網」。在下列條件下,系統的核心功能全部可用:

  1. 人機驗證已停用(安裝程式自動處理,您不需要做任何事,見 8.3)
  2. 不使用 AI 功能、Google 雲端硬碟同步、Telegram 通知(這些本來就要外部服務)
  3. 授權走離線開通(機器碼 → 原廠簽發 → 匯入,見 第三章

除了人機驗證以外,沒有任何「必須開通否則系統不能用」的對外連線。


8.2 對內的網路需求

結論:使用者只需要連到主機的一個入口,其餘都是內網對內網。

誰連到誰 需要什麼
使用者 → 主機 80 與 443(或安裝時指定的其他埠)。這是唯一的對外入口
主機 → 貴單位內部 若使用寄信功能,需能連到貴單位的郵件伺服器(SMTP,通常在內網);若使用 LDAP 帳號驗證,需能連到貴單位的目錄伺服器
檢測 Agent → 主機 若使用檢測 Agent(見 第十章 10.5):Agent 主機要能連到本系統的 443(與使用者走同一個入口,不需要額外開埠)。Agent 會定期回報狀態並接收派工
主機 → 檢測 Agent Agent 負責保管檔案時(儲存設定選「使用 Agent 服務」),本系統會反向連到該台 Agent 取送檔案。實際埠號依 Agent 安裝時的設定
主機 → 貴單位 log 伺服器 若啟用 log 轉發(見 第十章 10.6):需能連到貴單位的 log 平台(rsyslog/Graylog/ELK),埠號與傳輸方式(UDP 或 TCP)依畫面上的設定。連不上時不影響系統運作,本機紀錄照常寫入
服務之間 全部在容器內部網路,不對外開放任何埠

埠(port) 是主機上的「門牌號碼」——同一台機器可以跑很多服務,靠埠號區分誰是誰。

SMTP 是寄信用的通訊協定,貴單位的郵件伺服器就是用它收送信。

LDAP 是企業的帳號目錄服務,用來集中管理員工帳號。接上之後使用者就能用公司既有帳號登入。

檢測 Agent 是安裝在貴單位其他主機上的小程式,替本系統做主機組態檢測、或替本系統保管檔案。


8.3 Cloudflare 人機驗證(唯一需要處理的項目,已自動處理)

結論:這件事安裝程式已經替您關掉了,您不需要做任何事。 以下是說明它為什麼重要。

系統的登入頁在雲端版本會使用 Cloudflare 的人機驗證。這是落地部署版唯一「不處理就會壞掉」的對外連線——封閉網路下連不到 Cloudflare 時,登入會直接失敗(不是「跳過驗證」而是「驗不過」),而且症狀出現在裝完機第一次要登入的那一刻。

人機驗證 就是網站上那種「證明你不是機器人」的檢查。Cloudflare 是提供這項服務的外部廠商,所以它需要連外網才能運作。

落地部署版已預設停用,安裝程式自動寫入設定,您不需要做任何事。

若貴單位的環境其實有外網、想啟用

這是前後端一對的開關,只關一邊都會壞,所以啟用也必須兩邊一起:

  1. 修改 <資料目錄>/guidant.env,把 TURNSTILE_ENABLED=false 改成 true,並填入真實的 TURNSTILE_SECRET_KEY
  2. 前端的對應設定是在打包時就烙進產物的,需要原廠提供啟用版的前端映像檔

也就是說,第 2 步不是您這邊改設定能解決的——網頁那一半的開關在出貨前就固定了。因此若有這個需求,請聯繫原廠。


8.4 系統會連的外部網址(依功能啟用與否)

以下都是功能不啟用就不會連。封閉網路環境不啟用這些功能即可,不會影響其他部分。

會連到的外部網址 拿來做什麼 什麼時候才會連 不啟用會怎樣
api.anthropic.com AI 助理、證據自動分類 使用者主動操作(送出對話、按分類)且已設定 API 金鑰時 不會連。⚠️ 但沒設定金鑰時按下 AI 功能,會等到逾時才回一句籠統的錯誤訊息——請告知使用者未購買/未設定 AI 功能時不要使用該入口
oauth2.googleapis.com
www.googleapis.com
drive.google.com
Google 雲端硬碟證據同步 需在後台完成雲端硬碟整合授權 未整合即完全不連
api.telegram.org Telegram 通知管道 需在通知設定填入 bot token 未設定即不使用該管道
原廠授權伺服器 ① 線上開通(序號換授權檔)② 系統完整性事件回報 有網路時 ① 已有離線開通路徑(見第三章)
② 連不到完全不影響系統運作(設計上就是「連得到才回報」,絕不阻塞)
貴單位的郵件伺服器 系統寄信(密碼重設、到期通知) 需在後台填 SMTP 設定 未設定即不寄信。⚠️ 這通常在貴單位內網,不算外網
被檢測的主機 主機組態檢測 貴單位自行新增檢測目標 ⚠️ 這是對貴單位自己內網主機的連線,不是對外網
貴單位的檢測 Agent 主機 檢測派工與檔案存取 已接入檢測 Agent 時 ⚠️ 同上,是內網連線。未接 Agent 即不連

表格最後三列標了 ⚠️ 的項目常被誤會成「對外連線」而在資安審查時被卡住。它們連的都是貴單位自己內網的機器,不會出去網際網路。

前端不載入任何外部資源

系統網頁的字型與程式碼全部打包在映像檔內,沒有任何 CDN 或 Google Fonts 引用。封閉網路下頁面外觀與載入速度都不受影響。

CDN 是把網頁素材(字型、圖示、程式碼)放在外部伺服器供瀏覽器下載的服務。很多網站靠它,但封閉網路下會整頁跑版——本系統刻意不用。


8.5 防火牆規劃建議

結論:只需要開「使用者進得來」這一條,出站可以完全不開。

建議的最小開通清單(完全封閉網路):

入站:  使用者網段 → 主機 443(與 80,若要用自動轉址)
        (若使用檢測 Agent)Agent 主機網段 → 主機 443
出站:  無
        (若需寄信)→ 內部郵件伺服器的 SMTP 埠
        (若使用 LDAP 驗證)→ 內部目錄伺服器
        (若使用檢測 Agent 保管檔案)→ Agent 主機的服務埠

括號內的項目都是內網對內網,不是對外網連線。

若要開放部分外網,按實際要用的功能逐項開通即可(對照 8.4 的表)。除人機驗證外,沒有任何項目是「不開就不能用」的。


8.6 看起來像對外連線、其實不是

排查時可能會在系統的設定或紀錄裡看到這些網址,它們不會產生任何網路連線。看到不必緊張,也不需要為它們開防火牆。

排查時看到的字串 它實際上是什麼
www.omg.org/spec/BPMN/...camunda.org/schema/...bpmn.io/schema/... 流程圖檔案格式的命名空間宣告,只是一組唯一識別字串,不會被連線
csrc.nist.gov/ns/oscalietf.org/rfc/rfc4122 同上,合規標準格式的命名空間
drive.google.com/drive/folders/<id> 給使用者點擊的顯示連結,由使用者的瀏覽器開啟,不是伺服器發出的連線。封閉網路下點了打不開屬預期

命名空間 只是一組唯一識別字串,用來標明「這份檔案遵循哪一套格式規格」。它長得像網址純粹是業界慣例(借網域名稱來保證不重複),系統不會真的去連那個網址