多端點部署
分散式部署中,多台機器上的 Guard agent 向一台集中式 Manager 回報。Manager 提供機群全域可見性、跨 agent 威脅關聯、集中式策略派發。架構
部署 Manager
啟動 Manager
- Agent 登錄 — 最多追蹤 500 個已註冊 agent
- 威脅彙總 — 透過來源 IP、惡意軟體 hash、攻擊模式做跨 agent 關聯
- 策略引擎 — 集中派發規則和 config
- SSE 串流 — 給管理儀表板的即時事件串流
部署 Guard Agent
在每台端點機器上:Agent 生命週期
| 階段 | 端點 | 間隔 | 說明 |
|---|---|---|---|
| 註冊 | POST /api/agents/register | 一次(啟動時) | Agent 送主機名稱、OS、版本;收到唯一 agentId |
| 心跳 | POST /api/agents/:id/heartbeat | 每 30 秒 | CPU/記憶體用量、已處理事件數、模式、uptime |
| 威脅回報 | POST /api/agents/:id/events | 即時 | 偵測到的威脅立刻送出 |
| 策略拉取 | GET /api/policy/agent/:id | 每 5 分鐘 | Agent 檢查有沒有新策略 |
| 失效偵測 | — | 每 30 秒(server 端) | 90 秒沒心跳的 agent 標記為失效 |
| 取消註冊 | DELETE /api/agents/:id | 手動 | 從機群移除 agent |
跨 Agent 威脅關聯
Manager 的威脅彙總即時關聯所有 agent 的威脅:- 來源 IP 關聯 — 多個端點看到同一個攻擊者 IP,觸發升級
- 惡意軟體 hash 關聯 — 跨 agent 出現相同指紋,代表有進行中的攻擊活動
- 攻擊模式關聯 — 5 分鐘窗口內出現相關 MITRE ATT&CK 模式
跨 agent 關聯用 5 分鐘滑動窗口,資料保留 24 小時。跨 3 個以上 agent 的威脅自動升級為 CRITICAL。
策略派發
策略引擎讓你集中控制所有 Guard agent:即時監控
SSE 事件串流
即時串流所有 agent 的事件:機群概覽
Manager 設定
環境變數
| 變數 | 預設值 | 說明 |
|---|---|---|
MANAGER_PORT | 8443 | HTTP server port |
MANAGER_AUTH_TOKEN | (無) | API 認證用的 Bearer token |
MANAGER_MAX_AGENTS | 500 | 最大 agent 註冊數 |
MANAGER_HEARTBEAT_TIMEOUT_MS | 90000 | 心跳逾時(超過就標失效) |
MANAGER_HEARTBEAT_INTERVAL_MS | 30000 | 失效檢查間隔 |
MANAGER_CORRELATION_WINDOW_MS | 300000 | 跨 agent 威脅關聯窗口(5 分鐘) |
MANAGER_THREAT_RETENTION_MS | 86400000 | 威脅資料保留時間(24 小時) |
CORS_ALLOWED_ORIGINS | (無) | 逗號分隔的允許 CORS origin |
可選 SQLite 持久化
大規模部署可以開 SQLite 做持久儲存:正式環境部署
安全檢查清單
- 產生強力 token(
openssl rand -hex 32) - 用 TLS 終止(nginx/Caddy 反向代理)
- Manager port(8443)只允許 Guard agent 網段存取
- 用非 root 系統使用者跑
- 設
NODE_ENV=production開啟強化模式 - 密鑰存在
chmod 600的環境檔裡
相關文件
架構
Manager-Agent 系統的完整技術架構。
系統服務
把 Manager 和 Guard 裝成 systemd/launchd 服務。
Docker 部署
用 Docker Compose 跑完整堆疊。
Threat Cloud
跨機群的集中式威脅情報。