Skip to main content
每個連接至 Manager 伺服器的 Panguard Guard 代理都遵循一個定義好的生命週期,包含 5 個階段:註冊、心跳維護、威脅報告、策略輪詢和取消註冊。

生命週期概覽

Register ──> Heartbeat Loop ──> Threat Reports ──> Policy Polls ──> Deregister
  (一次)       (每 30 秒)       (即時)           (每 5 分鐘)       (停止時)

階段 1:註冊

當 Guard 代理使用 --manager 旗標啟動時,它會發送 POST /api/agents/register 請求:
panguard guard start --manager http://manager-host:8443

註冊載荷

欄位描述
hostname系統主機名稱
os作業系統類型和版本
arch系統架構(x64, arm64)
versionPanguard CLI 版本
organizationId可選的組織識別碼

註冊回應

Manager 指定一個唯一的 agentId 並回傳給代理。如果具有相同主機名稱和組織的代理已存在,該註冊會被視為重新連線。

階段 2:心跳

代理每 30 秒透過 POST /api/agents/:id/heartbeat 發送心跳信號,以確認它們存活且運作正常。
參數
間隔每 30 秒
過期門檻90 秒(3 次錯過心跳)
檢查頻率Manager 每 30 秒檢查一次

心跳載荷

欄位描述
cpu目前 CPU 使用百分比
memory目前記憶體使用百分比
eventsProcessed自上次心跳以來處理的事件數
mode目前運作模式(learning / protection)
uptime代理運行時間(秒)

過期偵測

Manager 每 30 秒執行一次過期檢查:
正常:  30 秒內收到心跳
過期:  90 秒無心跳(3 次錯過)
過期的代理在註冊表中被標記,但不會被移除。這允許暫時失去網路連線的代理重新連線而無需重新註冊。

階段 3:威脅報告

當 Guard 代理透過 DARE 管線偵測到威脅時,它會透過 POST /api/agents/:id/events 發送威脅資料。
欄位描述
agentId報告代理的識別碼
threat完整的威脅裁決(類型、信心值、證據)
response採取的動作(block_ip、kill_process 等)
timestamp偵測時間

跨代理關聯

ThreatAggregator 在 5 分鐘滑動視窗內跨所有代理關聯傳入的威脅,資料保留 24 小時:
關聯類型偵測邏輯
來源 IP同一 IP 針對 2+ 個代理表示橫向移動或大規模掃描
惡意軟體雜湊同一檔案雜湊出現在 2+ 個代理表示蠕蟲傳播
攻擊模式同一 MITRE 技術出現在 2+ 個代理表示協調攻擊活動
當偵測到跨代理模式時,Manager 向所有受影響的代理推送緊急策略。

階段 4:策略輪詢

代理每 5 分鐘輪詢 GET /api/policy/agent/:id 以檢查策略更新。
參數
輪詢間隔每 5 分鐘
機制代理發送其目前策略版本,Manager 回傳新策略或 304(無變更)
Agent (v2) ──> GET /api/policy/agent/:id ──> Manager
                                               |
                               version=3? ──> 回傳新策略
                               version=2? ──> 回傳 304(無變更)
策略變更可以調整:
  • 動作門檻(自動回應信心等級)
  • IP 封鎖清單(全設備群組封鎖)
  • 警報規則和通知偏好
  • 監控器設定
請參閱策略引擎了解策略格式和分發詳情。

階段 5:取消註冊

當 Guard 代理正常停止時,它會發送 DELETE /api/agents/:id
panguard guard stop
Manager 將代理標記為離線並保留其註冊資料。如果代理稍後重新連線,它會使用現有的身份恢復。

強制移除

要從註冊表中永久移除代理:
panguard manager agents remove --machine-id srv-01
如果代理當機或失去網路連線,它無法發送取消註冊請求。Manager 透過錯過的心跳偵測此情況,並在 90 秒後將代理標記為過期。