多端點設定
在分散式部署中,不同設備上的多個 Guard 代理程式向集中式 Manager 伺服器回報。Manager 提供機群全域可見性、跨代理程式威脅關聯與集中式策略分發。架構
部署 Manager
啟動 Manager 伺服器
- 代理程式登錄 — 追蹤最多 500 個已註冊代理程式
- 威脅彙總器 — 透過來源 IP、惡意軟體雜湊與攻擊模式跨代理程式關聯威脅
- 策略引擎 — 分發集中式規則與設定
- SSE 串流 — 管理儀表板的即時事件串流
部署 Guard 代理程式
在每台端點設備上:代理程式生命週期
| 階段 | 端點 | 間隔 | 說明 |
|---|---|---|---|
| 註冊 | POST /api/agents/register | 一次(啟動時) | 代理程式傳送主機名稱、作業系統、版本;接收唯一 agentId |
| 心跳 | POST /api/agents/:id/heartbeat | 每 30 秒 | CPU/記憶體使用、已處理事件、模式、執行時間 |
| 威脅回報 | POST /api/agents/:id/events | 即時 | 偵測到的威脅立即傳送 |
| 策略輪詢 | GET /api/policy/agent/:id | 每 5 分鐘 | 代理程式檢查更新的策略 |
| 失效偵測 | — | 每 30 秒(伺服器端) | 90 秒無心跳的代理程式標記為失效 |
| 取消註冊 | DELETE /api/agents/:id | 手動 | 從機群移除代理程式 |
跨代理程式威脅關聯
Manager 的威脅彙總器即時跨所有代理程式關聯威脅:- 來源 IP 關聯 — 多個端點看到相同攻擊者 IP 時觸發升級
- 惡意軟體雜湊關聯 — 跨代理程式的相同惡意軟體指紋表示有進行中的攻擊活動
- 攻擊模式關聯 — 5 分鐘窗口內的相關 MITRE ATT&CK 模式
跨代理程式關聯使用 5 分鐘滑動窗口與 24 小時資料保留。跨 3+ 個代理程式關聯的威脅會自動升級至 CRITICAL 嚴重性。
策略分發
策略引擎允許集中控制所有 Guard 代理程式:即時監控
SSE 事件串流
即時串流所有代理程式的事件:機群概覽
Manager 設定
環境變數
| 變數 | 預設值 | 說明 |
|---|---|---|
MANAGER_PORT | 8443 | HTTP 伺服器連接埠 |
MANAGER_AUTH_TOKEN | (無) | API 驗證用 Bearer token |
MANAGER_MAX_AGENTS | 500 | 最大已註冊代理程式數 |
MANAGER_HEARTBEAT_TIMEOUT_MS | 90000 | 心跳逾時後標記代理程式失效 |
MANAGER_HEARTBEAT_INTERVAL_MS | 30000 | 失效代理程式檢查間隔 |
MANAGER_CORRELATION_WINDOW_MS | 300000 | 跨代理程式威脅關聯窗口(5 分鐘) |
MANAGER_THREAT_RETENTION_MS | 86400000 | 威脅資料保留(24 小時) |
CORS_ALLOWED_ORIGINS | (無) | 逗號分隔的允許 CORS 來源 |
可選 SQLite 持久化
大型部署可啟用 SQLite 進行持久儲存:正式環境部署
安全檢查清單
- 產生強力驗證 Token(
openssl rand -hex 32) - 使用 TLS 終止(nginx/Caddy 反向代理)
- 限制 Manager 連接埠(8443)僅允許 Guard 代理程式網路
- 以非 root 系統使用者執行
- 設定
NODE_ENV=production啟用強化模式 - 將密鑰儲存於
chmod 600的環境檔案中