大家好!歡迎來到鐵人賽第二十九天。
我們的鐵人賽即將進入尾聲。在過去將近一個月的時間裡,我們從零到有打造了一套具備告警監控、AI 分析、多節點聯防、沙箱解析與自動化封存的企業級 SOAR 系統。
在資安維運(SecOps)的實務中,當一次嚴重的資安事件(如伺服器遭暴力破解、或發現高風險漏洞)處理完畢後,通常還有一項無法逃避的例行公事:「撰寫結案報告」。這份報告需要呈交給主管、甚至是未來的稽核人員審查。
既然我們的 SOAR 系統已經掌握了從發生到解決的所有數據,何不讓它連報告也一起寫好?今天,我們將實作這套系統的最後一塊拼圖:運用 n8n 與 Google Docs 範本,在一鍵審批結案後,自動生成並派發 PDF 格式的資安事件完整報告。
與其在 n8n 裡面辛苦地排版 HTML 轉 PDF,實務上更聰明且好維護的做法是:使用 Google Docs 作為動態範本。
【範本】資安事件結案報告。{{變數名稱}} 的格式寫在文件中。範例版面:
資安事件自動化處理結案報告
事件基本資訊
- 報告生成時間:
{{Report_Date}}- 受害主機:
{{Agent_Name}}- 攻擊來源 / 漏洞編號:
{{Threat_Source}}- 嚴重程度:
{{Severity}}AI 威脅分析摘要
{{AI_Analysis}}
處置與審批紀錄
- 處理狀態:已完成自動化聯防封鎖
- 授權時間:
{{Approval_Time}}
完成後,請將這份 Google 文件的網址 ID(/d/ 後面到 /edit 前面的那串英數字)複製下來,我們馬上會用到。
回到我們 Day 18 的「多節點聯防」或是 Day 17 的「資安工單」工作流,在最後一個節點(Google Sheets 更新結案狀態)的後方,我們要啟動報告生成機制。
新增一個 Google Docs 節點:
Document。Create From Template(從範本建立)。[結案] 資安事件報告 - {{ $('Webhook').item.json.body.data.srcip }} - {{ $now.toFormat('yyyy-MM-dd') }}
{{變數}},請將對應的資料映射上去:Report_Date ➡ {{ $now }}
Agent_Name ➡ {{ $('Webhook').item.json.body.agent_name }}
Threat_Source ➡ {{ $('Webhook').item.json.body.data.srcip }}
AI_Analysis ➡ {{ $('Google Gemini').item.json.text }}
執行這個節點後,n8n 就會在一秒鐘內,把所有的變數完美填入範本,並產生一份全新的 Google 文件。
為了讓主管能在手機上直接點開閱讀,而不需登入 Google Docs,我們可以直接利用 Google Docs 的內建機制,將文件網址轉換為 PDF 下載連結。
在 Google Docs 節點後方,新增一個 Code 節點,用來組合出 PDF 專屬網址:
// 取得剛剛建立的新文件 ID
const docId = $input.item.json.documentId;
// 組合出 Google Docs 專屬的 PDF 匯出網址
const pdfUrl = `https://docs.google.com/document/d/${docId}/export?format=pdf`;
return {
json: {
documentId: docId,
pdfDownloadUrl: pdfUrl
}
};
(小提示:要讓這個連結能被順利下載,請確保你存放生成的 Google 文件的「資料夾權限」,已經設定為「知道連結的人皆可檢視」或「限公司網域內檢視」。你可以透過 n8n 的 Google Drive 節點來動態調整權限,或是直接將範本放在一個已經公開分享的備份資料夾中。)
最後一步,我們將這份精美的 PDF 報告連結發送到 LINE 的維運群組中,為這次的資安事件畫下完美句點。
新增最後一個 LINE HTTP Request 節點:
POST
[https://api.line.me/v2/bot/message/push](https://api.line.me/v2/bot/message/push)
{
"to": "你的_LINE_群組_ID",
"messages": [
{
"type": "text",
"text": " 【資安事件已結案】\n\n系統已完成自動化聯防封鎖,並生成完整的 PDF 結案報告。\n\n 點此下載結案報告 (PDF):\n{{ $json.pdfDownloadUrl }}\n\n感謝您的授權,SOAR 系統將持續為您監控安全態勢。"
}
]
}
今天,我們打通了資安維運的最後一個環節——「合規與報告」。
傳統的流程中,事件處理完後,工程師還要花 20 分鐘截圖、排版、寫報告。而現在,這一切在管理員於 LINE 上按下「同意授權」的那一瞬間,從 SSH 封鎖、Google Sheets 歸檔到生成 PDF 報告,全都在 3 秒內自動完成。
這就是 SOAR(資安協調、自動化與回應)最強大的魅力所在:它不僅抵禦了外部的威脅,更解放了內部的人力。
明天(Day 30),我們將迎接鐵人賽的最終回!我將帶大家回顧這 30 天來我們親手建立的這套龐大架構,總結 SOAR 帶給企業的價值,並探討未來可以繼續擴充的資安藍圖。我們明天見!