iT邦幫忙

2026 iThome 鐵人賽

DAY 17
0

大家好!歡迎來到鐵人賽第十七天。

昨天我們完成了 Human-in-the-Loop(HITL),讓管理員可以透過 LINE 按鈕決定是否執行漏洞修補。不過,流程執行完之後,還有一個實務上極為重要的問題:我們怎麼知道這次事件發生了什麼?

因此,今天要為系統加入「資安工單」功能,讓每一次漏洞事件都留下不可抹滅的稽核紀錄。今天我們將使用 Google Sheets 結合 n8n,實作「自動開單 → 審批 → 修補 → 自動結案」的完整生命週期。


第一步:建立資安工單表

先建立一份 Google Sheets,命名為 「SecOps 資安自動化稽核日誌」。
在第一列(Row 1)建立以下欄位:

欄位名稱 用途說明
Timestamp 事件發生時間
Agent Name 受害主機名稱
CVE ID 漏洞編號
Severity 漏洞嚴重程度
AI Assessment Gemini 分析結果
Status 工單目前的處理狀態
Approval Time 管理員授權時間

這份表單就是我們今天的「資安工單資料庫」。


第二步:漏洞事件發生時「自動開單」

回到昨天完成的 n8n 流程。在 Gemini AI 節點 後面、LINE 審批節點 的前面加入一個 Google Sheets 節點。

  • Action 選擇:Append Row(新增一筆資料)
  • 接著將前面節點的資料,精準對應到 Google Sheets 的欄位中:
  • Timestamp:{{ $now }}
  • Agent Name:{{ $('Webhook').item.json.body.agent_name }}
  • CVE ID:{{ $('Webhook').item.json.body.cve_id }}
  • Severity:{{ $('Webhook').item.json.body.severity }}
  • AI Assessment:填入 Gemini 的分析結果
  • Status:手動輸入 等待審批中 ⏳

設定完成後,只要 Wazuh 傳入一筆漏洞告警,且 AI 分析完畢,n8n 就會自動在這裡建立一張工單。


第三步:取得關鍵的「工單編號」

這一步在系統設計中非常重要。當 Google Sheets 新增資料後,n8n 會在輸出結果回傳這筆資料的列號(row number)。

例如:row_number = 5,代表這次的資安事件被記錄在試算表的第 5 列。

後續的流程就可以利用這個 row_number 當作這張工單的專屬 ID,直接精準找到剛才建立的紀錄進行更新,而不需要重新搜尋整個資料庫。


第四步:完成修補後「自動結案」

在昨天的流程中,管理員在 LINE 按下「授權執行自動修補」後,n8n 會經過 Wait 節點,並透過 SSH 執行漏洞修補。我們要在 SSH 修補成功後,再加入一個 Google Sheets 節點。

  • Action 選擇:Update Row(更新資料)
  • 選擇目標:剛才建立的同一份試算表。
  • Row Number:填入前面開單節點產生的變數 {{ $json.row_number }}。

接著更新以下欄位,宣告結案:

  • Status:改為 ✅ 已完成修補
  • Approval Time:填入 {{ $now }}

這樣一來,試算表上原本的 等待審批中 ⏳ 就會瞬間變身為 ✅ 已完成修補,並留下精確的授權時間戳記。


第五步:測試完整 SOAR 閉環流程

現在,可以按下 n8n 的 Execute Workflow,送出一筆測試資料。
請觀察資料是否順暢地流過這條精心設計的管線:

Wazuh 告警
⬇
Webhook 接收
⬇
Gemini AI 分析漏洞
⬇
Google Sheets 自動建立工單 (Append Row)
⬇
LINE 發送審批卡片
⬇
Wait 節點休眠等待
⬇
管理員手機點擊授權
⬇
SSH 遠端執行修補
⬇
Google Sheets 自動更新結案 (Update Row)
⬇
LINE 發送修補完成通知

最後回到 Google Sheets 驗收成果,你將會看到一筆極具專業度、有始有終的事件紀錄!


今天的成果

今天我們沒有增加複雜的 AI 功能,而是替昨天完成的 HITL 流程補上了靈魂——「紀錄」。現在的系統已經可以做到:

  1. 偵測:自動接收 Wazuh 告警
  2. 分析:Gemini 深入解析漏洞風險
  3. 開單:自動建立資安工單
  4. 審批:等待人類管理員授權
  5. 修補:SSH 遠端執行漏洞修補
  6. 結案:自動更新工單狀態,保存授權時間與處理軌跡

到這裡,我們的 SOAR 流程不再只是「無腦自動執行」,而是真正具備企業級事件追蹤能力的安全維運中樞。

明天(Day 18),我們將繼續往下延伸,探討如何讓不同主機之間互相配合,實作更進一步的「自動化聯防機制」。我們明天見!


上一篇
Day 16|SecOps 的最後一道防線:實作 Human-in-the-Loop 審批
系列文
從漏洞告警到 AI 決策:Wazuh × RAG × n8n 實作自動化資安漏洞驗證與智慧通報 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言