情境 14 兩種角色 · 安全審查
只往外連,不開一個埠
客戶資安第一個問「你們要開哪個埠」,第二個問「誰核准配對」,答案是都不用開 inbound,核准在 Controller 一端
0個 · NAS 端要開的 inbound 埠
反向通道、配對後端和 Agent 套件已經有了,Controller 的入口整合和管理畫面還沒出貨,端到端也還沒有真機驗收
資安審查會議
三個問題決定能不能進客戶的網路
客戶不會為了一個監控工具改防火牆政策,所以要講清楚:誰發起連線、要開什麼、誰按核准
- 要開哪一個 inbound 埠
- 連線由誰發起,能不能穿過 NAT
- 配對時誰看到、誰核准
- 憑證怎麼確認,會不會被中間人替換
出站一條,其他都關起來
通道只負責讓連線到得了,權限另外算,不會因為連得上就變大
左右滑動看完整張圖
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 憑證,也不計入機隊
你會做到
先問「要開什麼」
答案分兩邊,NAS 不開 inbound,Controller 需要一個可達入口,在 NAT 後用 Connect Tunnel,一樣是出站
再看配對流程
Agent 貼上位置和 token 按連線,Controller 管理員在待核准清單核對後核准,Agent 端沒有確認碼
核對指紋
加入時先看 TLS 指紋再送帳密,反向時 token 裡有 Controller SSH host key fingerprint
看撤銷與輪替
撤銷 binding 會關掉現有的流,Agent 金鑰預設 90 天輪替,舊 key 不能拿新 lease
確認沒有偷偷開的東西
沒有入口時顯示「尚未設定可達入口」,不生成看起來能用的邀請、不開 UPnP、不自動換模式
通道只負責讓連線到得了,不負責給權限,連線方向改了,授權和稽核都沒改