Malcolm
│
├─ ① 資料來源
│ ├─ PCAP
│ ├─ Zeek Logs
│ ├─ Suricata Alerts
│ └─ Network Traffic
│
├─ ② 流量擷取 / Sensor
│ ├─ Malcolm All-in-One
│ ├─ Hedgehog Linux Sensor
│ ├─ netsniff-ng
│ └─ tcpdump
│
├─ ③ 網路流量分析
│ ├─ Zeek
│ │ └─ Network Metadata / Protocol Analysis
│ │
│ ├─ Suricata
│ │ └─ IDS / Threat Detection
│ │
│ └─ Arkime
│ ├─ PCAP Processing
│ ├─ Session Analysis
│ └─ PCAP Export
│
├─ ④ 資料處理與整合
│ ├─ Filebeat
│ ├─ Logstash
│ ├─ Enrichment
│ ├─ Correlation
│ └─ Threat Intelligence
│
├─ ⑤ 資料儲存
│ ├─ OpenSearch
│ │ └─ Network Metadata / Session Data
│ │
│ ├─ PostgreSQL
│ │ └─ Configuration / State
│ │
│ └─ Valkey
│ └─ Cache / Session Information
│
├─ ⑥ 分析與使用者介面
│ ├─ OpenSearch Dashboards
│ │ ├─ Dashboard
│ │ ├─ Visualization
│ │ └─ Anomaly Detection
│ │
│ └─ Arkime Viewer
│ ├─ Session Search
│ ├─ Session Analysis
│ └─ Payload / PCAP
│
├─ ⑦ 資安分析與擴充
│ ├─ Strelka
│ │ └─ File Analysis
│ ├─ YARA
│ ├─ Capa
│ ├─ ClamAV
│ ├─ MISP / TAXII
│ ├─ NetBox
│ └─ CyberChef
│
└─ ⑧ 平台與安全管理
├─ Docker / Podman
├─ Kubernetes
├─ Keycloak
├─ OpenResty
├─ LDAP
├─ TLS / HTTPS
└─ REST API
官方 Components 頁面列出的元件非常多,包括 Arkime、OpenSearch、Logstash、Filebeat、Zeek、Suricata、Strelka、Threat Intelligence、NetBox、PostgreSQL、Valkey、Keycloak、OpenResty 等,所以如果直接照官方元件清單介紹,文章很容易變成「元件百科」。Malcolm
┌──────────────────────┐
│ SOC / Analyst │
│ 調查、Threat Hunt │
└──────────┬───────────┘
│
┌──────────────┴──────────────┐
│ │
OpenSearch Dashboards Arkime Viewer
│ │
└──────────────┬──────────────┘
│
┌─────────▼─────────┐
│ Data Store │
│ OpenSearch │
│ PostgreSQL/Valkey │
└─────────┬─────────┘
│
┌─────────▼─────────┐
│ Processing Layer │
│ Logstash/Filebeat │
│ Enrichment │
└─────────┬─────────┘
│
┌────────────────┴────────────────┐
│ │
┌─────▼─────┐ ┌─────▼─────┐
│ Zeek │ │ Suricata │
│ 分析 │ │ 偵測 │
└─────┬─────┘ └─────┬─────┘
│ │
└────────────────┬────────────────┘
│
┌─────────▼─────────┐
│ Capture / Sensor │
│ │
│ Malcolm │
│ Hedgehog Linux │
│ tcpdump / others │
└─────────┬─────────┘
│
┌─────────▼─────────┐
│ Network Traffic │
│ PCAP / SPAN / TAP │
└───────────────────┘
這個圖比較接近「理解 Malcolm」需要的架構,而不是單純列出 Container 名稱。
| 層級 | 主要元件 | 主要工作 |
|---|---|---|
| ① 資料來源 | PCAP、SPAN、TAP、Network Traffic | 提供網路流量 |
| ② Capture / Sensor | Malcolm、Hedgehog、tcpdump | 擷取或接收流量 |
| ③ Analysis | Zeek、Suricata、Arkime | 分析、偵測、Session / PCAP |
| ④ Processing | Filebeat、Logstash | 收集、解析、整理、豐富資料 |
| ⑤ Storage | OpenSearch、PostgreSQL、Valkey | 儲存分析資料與系統狀態 |
| ⑥ Analyst | OpenSearch Dashboards、Arkime Viewer | 搜尋、視覺化、調查 |
這樣就很好理解 Malcolm 的資料流向。
這些不一定要塞進核心資料流,可以放在架構旁邊:
Malcolm
│
┌────────────┼────────────┐
│ │ │
Threat Intel File Scan Asset Info
│ │ │
MISP/TAXII Strelka NetBox
│
┌─────┼─────┐
│ │ │
YARA Capa ClamAV
官方文件中,Strelka 負責檔案掃描,並搭配 YARA、Capa、ClamAV;Threat Intelligence 可以來自 MISP、TAXII、Google、Mandiant;NetBox 則用來提供資產資訊並 enrich 網路資料。Malcolm
這一層我建議在文章裡稱為:
「延伸分析能力」
不要把它跟 Zeek、Suricata、OpenSearch 放在同一個層級,讀者會比較容易理解。
Network
│
▼
┌────────────────┐
│ Malcolm │
│ │
│ Capture │
│ Zeek │
│ Suricata │
│ Arkime │
│ OpenSearch │
│ Dashboards │
└────────────────┘
適合 Lab、PoC、規模較小的環境。官方稱為 standalone / all-in-one deployment。Malcolm
Network
│
┌─────────┴─────────┐
│ │
Sensor Sensor
│ │
Hedgehog Linux Hedgehog Linux
│ │
└─────────┬─────────┘
│
▼
┌─────────────────┐
│ Malcolm │
│ Aggregator │
│ │
│ Zeek │
│ Suricata │
│ OpenSearch │
│ Arkime │
└─────────────────┘
這比較接近企業環境。
例如不同機房、不同 VLAN 或不同 Network TAP 都可以部署 Sensor,再把 Metadata 或相關資料集中送到 Malcolm Aggregator。官方的 Hedgehog Linux 就是為這種網路 Sensor 情境設計。Malcolm
Network Sensors
│
▼
┌──────────────────┐
│ Kubernetes │
│ │
│ Malcolm Services │
│ OpenSearch │
│ Arkime │
│ Zeek │
│ Suricata │
└────────┬─────────┘
│
▼
External Storage
官方也支援 Kubernetes,用於分散式或 Cloud / On-Premises 部署,並提供 Helm Chart 作為較具擴充性的部署方式。Malcolm
Day 1|認識 Malcolm
│
├─ 1. Malcolm 是什麼?
├─ 2. Malcolm 可以解決什麼問題?
├─ 3. Malcolm 核心元件
├─ 4. Malcolm 六層架構
└─ 5. 一次看懂資料如何進入 Malcolm
Day 2|部署 Malcolm 與實際分析
│
├─ 1. 部署方式選擇
│ ├─ All-in-One
│ ├─ Sensor + Aggregator
│ └─ Kubernetes
│
├─ 2. 安裝環境與硬體需求
├─ 3. Docker / Container 架構
├─ 4. PCAP / Zeek / Suricata 資料匯入
├─ 5. OpenSearch 與 Arkime 實際操作
└─ 6. Incident Response 實例