情境 14 兩種角色 · 安全審查

只往外連,不開一個埠

客戶資安第一個問「你們要開哪個埠」,第二個問「誰核准配對」,答案是都不用開 inbound,核准在 Controller 一端

0個 · NAS 端要開的 inbound 埠

即將推出

反向通道、配對後端和 Agent 套件已經有了,Controller 的入口整合和管理畫面還沒出貨,端到端也還沒有真機驗收

資安審查會議

三個問題決定能不能進客戶的網路

客戶不會為了一個監控工具改防火牆政策,所以要講清楚:誰發起連線、要開什麼、誰按核准

  • 要開哪一個 inbound 埠
  • 連線由誰發起,能不能穿過 NAT
  • 配對時誰看到、誰核准
  • 憑證怎麼確認,會不會被中間人替換
畫面

出站一條,其他都關起來

通道只負責讓連線到得了,權限另外算,不會因為連得上就變大

只建立出站連線的通道 NAS 上的 Agent 用出站 443 連到入口,路由器不用 port forwarding,也沒有 inbound 規則,被擋下的入站箭頭畫成叉號 NAS · Agent 套件帳號 · 沒有 root 只連一個已核對的 DSM 最多 2 條 channel 沒有 shell、SFTP、SOCKS 固定 localhost:1 · 不綁 OS 埠 路由器 · 防火牆 沒有 port forwarding 沒有 inbound 規則 不需要 DDNS 出站 443 一律允許 連線由 NAS 發起 可達入口 Connect Tunnel 或既有 HTTPS 只放反向通道 Controller DSM 套件 核准配對 驗 DSM 憑證 出站 443 · WSS 沒有 inbound 連線 NAS 不開 inbound 埠,不對外開 DSM,入口只發布反向通道

左右滑動看完整張圖

NAS 只建立出站連線

Agent 用 WSS 443 連到入口,固定 localhost:1 的虛擬 forwarding,不在作業系統開任何 port

只有一個目的端

Agent 只撥本機已核對的 DSM endpoint,最多 2 條 channel,shell、exec、SFTP、direct-tcpip 和額外 forwarding 一律拒絕

惡意入口也叫不動它

目的端從 Agent 自己的保護設定取,不用對方送來的 host 或 port,就算入口拿著正確的 host key,也不能叫 Agent 去連別的服務

兩段指紋分開核對

直連時先比對 TLS 指紋才送密碼,反向時 Agent 先 pin Controller 的 SSH host key,Controller 還是自己驗 DSM TLS 和憑證

核准在 Controller 一端

邀請、核准、拒絕、撤銷都是 human-only 的後端方法,沒核准就不開 channel、不送 DSM 憑證,也不計入機隊

步驟

你會做到

01

先問「要開什麼」

答案分兩邊,NAS 不開 inbound,Controller 需要一個可達入口,在 NAT 後用 Connect Tunnel,一樣是出站

02

再看配對流程

Agent 貼上位置和 token 按連線,Controller 管理員在待核准清單核對後核准,Agent 端沒有確認碼

03

核對指紋

加入時先看 TLS 指紋再送帳密,反向時 token 裡有 Controller SSH host key fingerprint

04

看撤銷與輪替

撤銷 binding 會關掉現有的流,Agent 金鑰預設 90 天輪替,舊 key 不能拿新 lease

05

確認沒有偷偷開的東西

沒有入口時顯示「尚未設定可達入口」,不生成看起來能用的邀請、不開 UPnP、不自動換模式

帶走什麼

通道只負責讓連線到得了,不負責給權限,連線方向改了,授權和稽核都沒改

下一步

換一個情境,看同一套系統怎麼答

十七個情境對應不同的功能組合,用的都是同一份資料、同一套護欄