iT邦幫忙

2026 iThome 鐵人賽

DAY 3
1
AI 自動化

從漏洞告警到 AI 決策:Wazuh × RAG × n8n 實作自動化資安漏洞驗證與智慧通報系列 第 3 篇

Day 03: 挑選武器與動手蓋房子!核心技術選型與開發環境準備

  • 分享至 

  • xImage
  •  

昨天我們把系統的資料流向都定義清楚了,今天終於要來挑選我們的開發武器,並開始動手寫 code 架環境!

核心技術選型

為什麼會選這些工具呢?其實都是考量到實作的方便性跟後續的維護性。

在威脅感知的部分,我們同時使用了 Wazuh 來看主機端的系統日誌,以及 Suricata 來監聽網路端的惡意流量,這樣內外夾攻才不會有防禦死角。

至於中間負責驗證的 Backend API,我預計會使用 Python 的 FastAPI 來寫。Python 寫起來比較直覺,而且之後要接 AI 跟 RAG 相關的套件(像 LangChain)也最自然。資料庫的部分,我們選擇使用大家最熟悉、社群資源也最豐富的 MySQL 來記錄主機資產與軟體版本,不僅建置快速,後續擴充欄位也相當方便。

自動化編排則是挑選了 n8n。相較於自己手刻一堆 Python 腳本來串接 LINE API,n8n 這種視覺化的流程工具在後續擴充跟除錯上真的友善太多了,板塊拉一拉就能看到資料流向。

基礎開發環境準備

因為這系列會用到非常多不同的服務,為了不把自己的電腦弄得亂七八糟,我們統一使用 Docker 來進行容器化管理。

大家可以先在電腦裡開一個專案資料夾,並在裡面建立 backend、n8n 跟 wazuh 等子目錄,這樣版控也會比較乾淨。接著,我們先來寫一個最基礎的 docker-compose.yml 骨架:

version: '3.8'
services:
  backend:
    build: ./backend
    ports:
      - "8000:8000"
    volumes:
      - ./backend:/app
      
  n8n:
    image: n8nio/n8n
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - NODE_ENV=production
    volumes:
      - ./n8n_data:/home/node/.n8n

建好大致會像下面這樣
https://ithelp.ithome.com.tw/upload/images/20260917/20183852HS9Zf08egW.png

這只是一個非常簡單的起手式雛形,先讓我們的後端與自動化引擎有個家。接下來的每一天,我們會依照進度慢慢把 MySQL、Wazuh 還有其他的設定給一步步填補進去。

今天我們先把基礎環境的地基打好,把資料夾結構理清楚,免得後面服務一多,電腦就先崩潰了。明天,我們就要正式把這套系統的核心眼睛——Wazuh Server 給架設起來,我們明天見!


上一篇
Day 02 : 畫好藍圖再動工!系統資料流解析與基礎環境建置
下一篇
Day 04 :資安防線的千里眼!Wazuh Server 架設與初體驗
系列文
從漏洞告警到 AI 決策:Wazuh × RAG × n8n 實作自動化資安漏洞驗證與智慧通報 共 11 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言