回到 Ubuntu:
cd /opt/CAPEv2/installer
先:
./cape2.sh -h
這一步非常重要。
目前 cape2.sh 支援:
Base
All
Sandbox
Dependencies
Systemd
Nginx
LetsEncrypt
Suricata
PostgreSQL
Yara
Yara-x
Volatility3
Mongo
...
目前 All 的意思真的是「裝很多東西」,官方腳本自己也提醒不要在不知道內容的情況下直接使用。([GitHub][11])
第一次 Lab,我建議:
sudo bash cape2.sh base | tee cape2.log
官方文件目前的安裝指令也有:
sudo ./cape2.sh base cape | tee cape.log
但目前 cape2.sh 本身的 usage/範例已經演進到:
sudo bash cape2.sh all | tee cape2.log
而且支援 CAPE_ROOT、USE_UV 等新參數。([GitHub][3])
因此:
請以你實際 checkout 的 cape2.sh -h 為準,不要盲目複製舊文章。
這是 CAPEv2 特別需要注意的地方。
目前官方推薦 Poetry,也已經加入 UV 支援。
預設:
/opt/CAPEv2
Poetry
或者新方式:
sudo CAPE_ROOT=/mnt/sandbox/CAPEv2 USE_UV=True bash cape2.sh all | tee cape2.log
目前 script 明確支援:
CAPE_ROOT
USE_UV=True
([GitHub][11])
我的建議:
第一次部署:
Poetry
先照官方預設。
第二套實驗環境,再研究:
UV
安裝後會有:
cape.service
cape-processor.service
cape-web.service
cape-rooter.service
([GitHub][3])
查:
systemctl status cape.service
systemctl status cape-processor.service
systemctl status cape-web.service
systemctl status cape-rooter.service
Log:
journalctl -u cape.service
journalctl -u cape-processor.service
journalctl -u cape-web.service
journalctl -u cape-rooter.service
官方也明確說只有某些工具,例如 rooter.py,需要 root;主要 CAPE 程式應該以 cape user 執行。全部用 root 跑反而容易造成 permission 問題。([GitHub][1])
至少要理解這幾個:
conf/cuckoo.conf
conf/auxiliary.conf
conf/kvm.conf
conf/memory.conf
conf/processing.conf
conf/reporting.conf
conf/routing.conf
官方要求至少要調整:
auxiliary.conf
cuckoo.conf
machinery.conf
其中:
cuckoo.conf
→ CAPE 基本設定
kvm.conf
→ 哪些 VM 可以跑
routing.conf
→ Guest 網路怎麼走
processing.conf
→ 結果怎麼分析
reporting.conf
→ 報告輸出
([CAPE Sandbox][12])
官方目前建議:
custom/conf/
例如:
custom/conf/cuckoo.conf
custom/conf/kvm.conf
custom/conf/routing.conf
只放你需要覆寫的設定。
這樣 CAPEv2 更新後比較不會把你的設定弄掉。([CAPE Sandbox][12])
這一點我很建議你遵守。
kvm.conf 要把你的 Windows VM 加進去官方範例是:
[kvm]
machines = cuckoo1
interface = virbr0
dsn = qemu:///system
[cuckoo1]
label = cuckoo1
platform = windows
ip = 192.168.122.105
arch = x86
其中:
label
必須對得上:
virsh list --all
裡面的 VM 名稱。([GitHub][13])
CAPE Web 預設可以在:
http://127.0.0.1:8000
啟動。
官方 production 部署則建議:
Gunicorn
+
NGINX
而且如果要暴露給其他人使用,應該啟用 Web authentication。([CAPE Sandbox][14])
因此第一個 Lab 不需要急著:
Internet
↓
NGINX
↓
CAPE
先:
管理端
↓
localhost:8000
即可。
如果使用 Poetry:
cd /opt/CAPEv2
sudo -u cape poetry run python3 cuckoo.py
官方也說明 CAPE 應該以 cape user 執行。([CAPE Sandbox][15])
測試模式:
sudo -u cape poetry run python3 cuckoo.py -t
Debug:
sudo -u cape poetry run python3 cuckoo.py -d
CAPE 會留下:
PCAP
memory dump
screenshots
dropped files
JSON
HTML
process dumps
而官方 cuckoo.conf 預設 free-space threshold 就是:
50 GB
([CAPE Sandbox][12])
所以:
100 GB SSD
不是我建議的正式 CAPE Storage。
第一台 Lab:
200 GB
比較舒服。
如果大量分析:
500 GB ~ 1 TB+
比較合理。
這是目前 2026 版值得特別提醒你的地方。
目前 cape2.sh 預設會處理 MongoDB,而且腳本現在:
MongoDB 8.0
如果 CPU 有 AVX,走新版 MongoDB。
如果沒有 AVX,腳本會退回:
MongoDB 4.4
官方腳本也明確指出 MongoDB >= 5 需要 AVX。([GitHub][11])
所以你的 Host CPU 最好:
支援 AVX
這也是為什麼我不建議拿非常老舊 CPU 建 CAPEv2。
apt upgrade這是官方很重要的一個警告。
CAPE 安裝腳本安裝的套件:
KVM
libvirt
Python dependencies
MongoDB
其他依賴
不要在不理解依賴關係的情況下:
apt upgrade
或:
apt install -f
官方明確警告,這可能把 KVM/libvirt/CAPE 的相依性弄壞。([GitHub][3])
尤其 kvm-qemu.sh 本身就有:
NEVER FORCE system upgrade
的警告。([GitHub][16])
目前官方明確說:
CAPE is maintained and updated in a rolling fashion.
也就是:
沒有固定 release
沒有「裝 v2.6 就永遠固定」
所以正式環境應該:
Git commit
↓
Test Lab
↓
Validation
↓
Production
而不是:
git pull
systemctl restart cape*
然後直接祈禱。