九、網路需求與對外連線¶
這章在講什麼:Agent 需要通到哪裡、防火牆要開哪幾道門。
就像新單位進駐要辦門禁——不是每扇門都要開,只要開對的那兩扇。這章把「哪兩扇、往哪個方向、不開會怎樣」講清楚。
什麼時候看:規劃或申請防火牆規則時。這章主要給網管人員看。
結論先講:Agent 只需要與 Guidant AI 平台雙向通訊,不需要連上網際網路。
只要 Agent 這一台機器連得到平台、平台也連得回這一台機器,就夠了。貴單位其餘的內部主機完全不需要對外開放。
9.1 必要的連線只有兩條¶
方向要分清楚:一條是 Agent 主動往外撥(像員工打電話回公司),另一條是平台主動連進來(像公司回撥給員工)。兩條是不同的方向,防火牆要分開設定。
Guidant AI 平台 Agent 主機
┌──────────────┐ ┌────────────────┐
│ │ ① Agent 主動連出 │ │
│ │ ◀──────────────────────│ │
│ │ 443(或平台實際的埠) │ │
│ │ │ │
│ │ ② 平台連回 Agent │ │
│ │ ──────────────────────▶│ 8443 │
└──────────────┘ └────────────────┘
| 這條連線 | 誰發起 | 連去哪 | 埠 | 拿來做什麼 | 沒開會怎樣 |
|---|---|---|---|---|---|
| ① 連出 | Agent 主機 | 平台 | 平台的 https 埠(通常 443) | 註冊、心跳、領取工作、下載檢測內容 | Agent 完全無法上線 |
| ② 連入 | 平台 | Agent 主機 | 8443 | 平台回頭取證據檔 | 註冊與心跳正常、平台顯示在線,但下載或預覽證據檔會失敗 |
⚠️ 只開①不開②是最常見的設定疏漏,因為症狀不會在裝機當下出現——一切看起來都正常,直到有人要下載證據檔。兩條都要開。
說得再白一點:只開①的話,裝機那天您會看到 Agent 上線、心跳正常、檢測任務也跑得動,一切跡象都顯示成功。缺口要等到幾天後有人第一次想打開證據檔時才爆出來,那時已經很難聯想到是裝機當天漏開了一道門。申請防火牆時請一次把兩條都寫進去。
防火牆規則的來源/目的地都可以收窄到平台的實際位址,不需要對整個網際網路開放。
防火牆放行:在防火牆上明確允許「從某位址、到某位址、走某個埠」的連線通過。沒有明確放行的連線,預設一律被擋。
9.2 Agent 還會連到哪些地方¶
除了平台之外,Agent 會連的都是貴單位自己的機器,不會連到外面:
| 它會連到哪 | 埠 | 什麼時候會連 |
|---|---|---|
| 受測主機 | 22(SSH)或 5985/5986(WinRM) | 執行組態檢測任務時 |
| 執行主機 | 22(SSH) | 執行 Nmap 任務時 |
| 貴單位自建的 SonarQube/OpenVAS/ZAP | 各自的服務埠 | 執行對應的檢測任務時 |
| 貴單位自有的物件儲存 | 各自的服務埠 | 有切換過儲存位置時(見 第六章) |
這些連線的目的地全部由貴單位自己在平台上設定,Agent 不會連到任何未經設定的位址。
9.3 封閉網路(air-gap)可以正常運作¶
封閉網路(air-gap):完全連不到網際網路、只有內部網路的環境。政府與金融機關很常見。
可以,Agent 完全支援。 一般人擔心的那幾件事,逐項回答:
| 一般人會擔心的事 | 實際情況 |
|---|---|
| 安裝要下載東西嗎 | ❌ 不用。出貨包內含全部映像檔,安裝離線自足 |
| 檢測引擎要連外下載嗎 | ❌ 不用。CINC/GCB 引擎已包在出貨包內 |
| 檢測內容(profile)要從網路抓嗎 | ❌ 不用。由平台透過既有的加密通道下發(已實測驗證,掃描全程零外部網域連線) |
| 升級要連外嗎 | ❌ 不用。新版出貨包用隨身碟帶進來即可 |
| 授權要連外驗證嗎 | ❌ 不用 |
唯一需要網際網路的是「安裝 Docker Engine」那一步,而且那一步也有離線做法(見 1.3)。
平台本身若也是落地部署在貴單位內部,那整套系統可以完全不接觸網際網路。
封閉網路的一個注意事項¶
檢測內容請走平台的「掃描設定檔管理」上傳入庫,不要在任務參數裡填外部網址(github.com、supermarket.chef.io 等)——那些位址在封閉網路裡根本解析不出來,任務會直接失敗。上傳入庫之後由平台下發,封閉網路完全可用。
9.4 平台使用自簽憑證時¶
自簽憑證:自己幫自己簽的身分證明。加密效果一樣,只是沒有公認機構背書,所以瀏覽器會跳警告。
貴單位自建的落地版平台通常就是用自簽憑證,這完全正常。安裝時那道「憑證指紋確認」的流程(見 3.4)已經處理了這件事——您當場核對過的憑證會被存成信任檔,Agent 之後就只認這一張來驗證平台身分。
不需要也不應該在 Agent 主機的作業系統層另外安裝平台憑證;系統上也沒有「略過憑證驗證」這種選項。
平台之後若更換了 https 憑證,Agent 會連不上(因為信任檔裡還是舊的那張)。處理方式見 第十一章 11.5。
9.5 內部埠不需要開放¶
Agent 另外還用到三個埠(8333/8888/9333,內建儲存服務自己用的),它們只綁在 127.0.0.1——那是「這台機器自己」的固定位址,外面的機器一律連不到。
防火牆不需要為它們做任何設定,也不應該把它們對外開放。
9.6 檢查連線是否正常¶
兩個方向各驗一次,缺一不可。
① Agent 連得到平台嗎
這步在做什麼:在 Agent 主機上,試著打一次平台的網址,只看回傳的代碼。
成功長什麼樣:印出任何一個 HTTP 狀態碼(200、302、404 都算)——只要有數字回來,就代表連得到。
失敗長什麼樣:印出 000。那代表根本連不上,是網路或防火牆的問題。
② 平台連得到 Agent 嗎
最簡單的方式是在平台的「檔案 Agent 管理」頁按該列的測試連線,回報可達即正常。
也可以從平台主機上自己測——這步在做什麼:從平台那一端試著敲 Agent 的 8443。
🔴 這裡有一個反直覺的地方,請特別留意。
回
400是正常的、代表成功。 400 在這裡的意思是「我連到你了,但你沒出示客戶端憑證,所以我拒絕服務」——也就是雙向憑證驗證(兩邊互相出示電子身分證明才放行的加密連線,像門禁卡兩邊都要對得上)確實有在把關。看到 400 請不要以為是壞掉了。回
000才是真的連不到,那才需要去查防火牆。