iT邦幫忙

2026 iThome 鐵人賽

DAY 23
0
Security

從情資收集到資安鑑識:30 天建構自動化威脅情資與鑑識平台系列 第 32 篇

[Day 23 ] Malcolm 下載與安裝 - Container Images

  • 分享至 

  • xImage
  •  

Malcolm 兩種安裝方式:Container Images 與 Installer ISO 完整安裝流程

Malcolm 官方提供兩種主要的落地方式。
第一種是 Container Images:在既有的 Linux 主機、VM 或其他容器環境中執行 Malcolm。
第二種是 Installer ISO:直接將一台實體機或 VM 安裝成 Malcolm 專用的獨立系統。
兩者最後都能得到 Malcolm,但「安裝思維」完全不同。

Container Images 的概念是:

先有一台可用的 Linux 主機,再把 Malcolm 放進去。

Installer ISO 的概念則是:

先準備一台可以專門提供給 Malcolm 使用的設備,再由 ISO 建立完整系統。

因此,實際規劃時應該先決定部署型態,再開始下載與安裝。

第一種:Container Images

一、這種方式到底是什麼?

Malcolm 官方的 Container 部署模式,是將整個平台拆成多個 Container,每個 Container 負責特定工作,再由 Compose 等方式統一管理。官方 Download 頁面指出,可以直接從 GitHub 取得 Malcolm Container Images,也可以從原始碼自行建立。

這種模式最大的特色,是:

Malcolm 不需要接管整台主機,它是建立在既有 Linux 主機之上的應用平台。

因此非常適合:
Linux Server
VM
測試環境
既有虛擬化平台
企業內部容器環境


二、Container Images 安裝前要準備什麼?

官方 Ubuntu 24.04 LTS 安裝範例要求 Malcolm Installer 使用 Python 3.9 以上,並需要 python3-ruamel.yaml 與 python3-dotenv 等套件;也可以選擇安裝 dialog / python3-dialog 來使用互動式介面。

此外,主機需要具備 Docker 或其他支援的 Container Runtime。

可以先整理成:

準備項目 內容 目的
作業系統 Ubuntu 24.04 LTS 等 Linux 作為 Malcolm Host
Python 3.9 以上 執行 Installer
Python 套件 python3-ruamel.yaml、python3-dotenv Installer 相依環境
Container Runtime Docker / Podman 等 執行 Malcolm
Compose Docker Compose 等 管理 Malcolm Container
儲存空間 系統與 Malcolm 資料空間 儲存索引、設定與資料
網路 管理網路與流量來源 Web 存取與資料輸入

這裡最容易搞錯的是:

下載 Malcolm 不等於完成安裝。

Container Images 只是 Malcolm 的執行材料,真正啟動前還需要完成 Host 與 Malcolm 本身的設定。


三、Container Images 的完整安裝流程

Step 1:取得 Malcolm 安裝檔

官方提供兩種常見方式。

方式 A:下載官方 Release Artifact

官方 Ubuntu 範例會從 GitHub Releases 下載:

malcolm-26.09.0-docker_install.zip

然後解壓縮。

例如:

cd ~/Downloads
unzip malcolm-26.09.0-docker_install.zip

方式 B:直接 Clone Git Repository

也可以使用:

git clone https://github.com/idaholab/Malcolm
cd Malcolm

官方說明指出,Release Artifact 與 Git Working Copy 的後續安裝流程大致相同。

取得方式 適合情境
Release ZIP 正式安裝、版本固定
Git Clone 開發、測試、客製化

Step 2:準備 Python 與系統環境

Ubuntu 範例:

sudo apt-get update
sudo apt-get install python3-ruamel.yaml python3-dotenv

需要圖形化文字選單時,可再:

sudo apt-get install python3-dialog dialog

官方 Installer 也可以協助處理 Docker 安裝,以及部分系統層級調校。


Step 3:執行 Malcolm Installer

進入 Malcolm 目錄後:

sudo ./scripts/install.py

也可以強制使用 Terminal UI:

sudo ./scripts/install.py --tui

官方指出,install.py 的用途不只是建立 Malcolm 設定,也包括 Docker 安裝與部分效能相關系統調整。

在這一步,主要會處理:

設定 要決定什麼
Container Runtime 使用 Docker 或其他支援的 Runtime
Storage Malcolm 資料放在哪裡
Network Container 網路如何配置
Restart Policy 異常後是否自動重新啟動
HTTPS 是否啟用 HTTPS
Node Name 節點識別名稱
System Tweaks 是否套用官方建議的系統調整

官方範例在最後會產生 Configuration Summary,確認後才寫入設定。


Step 4:重新啟動主機

如果 Installer 套用了 Kernel、Limits、systemd 等系統層級調整,官方建議安裝完成後重新開機,讓新的系統設定正式生效。

所以這一步不要省略。

sudo reboot

重新登入後,再回到 Malcolm 安裝目錄。


Step 5:建立 Authentication 與 HTTPS

執行:

./scripts/auth_setup

官方的 auth_setup 可設定:

  • Basic Authentication
  • LDAP
  • Embedded Keycloak
  • Remote Keycloak
  • HTTPS Certificate
  • Remote Log Forwarder Certificate
  • NetBox / PostgreSQL / Valkey / Arkime 等相關密碼

最基本的 Lab 可以使用 Basic Authentication。

企業環境則要進一步思考:

是要使用 Malcolm 本身的帳號管理,還是整合企業 LDAP / Keycloak?

因此這一步不只是「設定一個帳號」。

它其實是在建立 Malcolm 的安全入口。


Step 6:下載 Images、啟動 Malcolm、確認服務

完成設定後,下載 Container Images:

docker compose --profile malcolm pull

官方也提供:

./scripts/github_image_helper.sh

作為替代方式。

接著:

./scripts/start

Malcolm 第一次啟動可能需要幾分鐘,官方 Ubuntu 安裝範例特別指出 Logstash 初始化通常是較慢的部分。

安裝成功後,要確認的不是只有「Container 有沒有啟動」。

應該檢查:

驗證項目 判斷方式
Container 正常 Running
Log Pipeline Pipeline 完成初始化
HTTPS Web 位址可連線
Authentication 管理帳號可以登入
Malcolm Web 介面正常載入
Docker Compose 所有必要服務正常

Container Images 安裝流程

準備 Linux Host
      ↓
取得 Malcolm Release / Source
      ↓
準備 Python / Docker
      ↓
install.py
      ↓
設定 Runtime / Storage / Network
      ↓
System Tweaks
      ↓
reboot
      ↓
auth_setup
      ↓
Pull Container Images
      ↓
./scripts/start
      ↓
檢查服務
      ↓
登入 Malcolm

四、Container Images 方式最需要注意什麼?

這種方式雖然彈性高,但責任也比較分散。

你必須自己管理:

Host OS

Docker / Podman

Storage

網路

Malcolm Configuration

Container Images

Authentication

更新與備份

因此它比較像:

企業 IT 自己管理的 Malcolm 平台。

注意事項 為什麼重要
Host OS Malcolm 依賴底層系統
Docker / Runtime Container 是否能正常運作
Storage 資料量大時容易成為瓶頸
System Tuning 影響整體效能
Image Version 更新與回復要有版本策略
Network 會影響流量來源與管理存取
Authentication 正式環境不可忽略


上一篇
[Day 23 ] Container Images & Installer ISO 兩種安裝方式到底差在哪裡
下一篇
[Day 23 ] Malcolm 下載與安裝 - Installer ISO
系列文
從情資收集到資安鑑識:30 天建構自動化威脅情資與鑑識平台 共 35 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言