- 新增已部署主機對照表(.40 + .70),含 Endpoint ID / OS / 安裝日期 - 補充安裝實務踩坑:macOS 中文檔名 unzip 失敗改用 unzip -p、 遠端無 unzip、安裝後 systemd/config 初始化競態 - .gitignore 排除 Xensor 安裝包(含 APIKey/院名,敏感) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6.6 KiB
6.6 KiB
Xensor (CyCraft) EDR Agent 安裝筆記
概述
106.105.181.40(hospital_media)與 106.105.181.70(hospital_web)上皆部署了
CyCraft(奧義智慧)Xensor 端點偵測與回應(EDR)代理程式,agent 名稱為 cydroned,
由資安團隊提供的安裝腳本部署(同一套安裝包、同一 APIKey/群組)。
- 安裝包:
XENSOR_Linux-臺北市立聯合醫院.zip,解開後為單一 shell script (檔名 =<APIKey>_Linux-臺北市立聯合醫院.sh) - 部署群組:
Linux-臺北市立聯合醫院(appidA00003) - 回報伺服器:
https://node7.xensor.ai:443
已部署主機
| 主機 | SSH 別名 | OS | Endpoint ID | 安裝日期 |
|---|---|---|---|---|
106.105.181.40 |
hospital_media |
Ubuntu 22.04 (py 3.10.12) | 25F3B0AFCA173F2417950B2FD28CFA66 |
2026-04-14 |
106.105.181.70 |
hospital_web |
Ubuntu 24.04.4 (py 3.12.3) | 2BAF82335C17FCE1541D2210DB083EC6 |
2026-06-08 |
安裝包資訊
| 項目 | 值 |
|---|---|
| Agent 名稱 | cydroned |
| 安裝路徑 | /usr/local/bin/cydroned |
| 設定目錄 | /etc/cydroned/(主設定檔 /etc/cydroned/config) |
| 服務檔 | /lib/systemd/system/cydroned.service(service 名稱 CyDrone Agent,enabled) |
| 資料目錄 | /var/lib/cydroned/(含 loader,僅 root 可讀) |
| 日誌 | /var/log/cydroned.log、/var/log/cydroned/(僅 root) |
| APIKey | c064efc31aed4ec4a5073013809a169d |
| TargetURL | https://node7.xensor.ai:443 |
| 同步週期 | SyncPeriodSec: 600 |
| CPU 上限 | MaxCPU: 35 |
⚠️ 敏感資訊:安裝腳本與設定檔內含 APIKey、RSA 公鑰、內部群組名稱(醫院名)。 屬該院的部署憑證,請勿外流或提交到公開 repo。
連線到主機(三層 SSH 跳板)
106.105.181.40 不可直連,需經兩層跳板:
本機 → timmy_home_server (125.229.110.50:22, user timmy) ← 需密碼,另行保管
→ jason_hsieh_home_srv (220.135.27.129:2022, user timmy) ← 金鑰
→ hospital_media (106.105.181.40:22, user tpech_1duan) ← 金鑰
~/.ssh/config 已設好 hospital_media 別名(ProxyJump 鏈)。連線前確認金鑰已載入 agent:
ssh-add -l # 應列出 id_ecdsa / id_rsa
ssh-add # 若無,載入金鑰(需 passphrase)
ssh hospital_media # 第一跳 timmy_home_server 會提示密碼,互動輸入
第一跳
timmy_home_server用密碼認證(金鑰不被接受),自動化時可用sshpass以環境變數帶入密碼,避免明碼落地。後兩跳走金鑰。
安裝腳本運作方式
腳本(<APIKey>_..._Linux-臺北市立聯合醫院.sh)分三段:
- 前置相容性檢查:CPU 架構、kernel 版本、libc、init 系統、
/proc、/sys、 套件管理器(dpkg/rpm)、Python 版本與模組、/tmp/var/log/var/lib磁碟空間。 若/usr/local/bin/cydroned或/etc/cydroned已存在,預設直接退出不重裝。 - 下載並安裝 agent:從
node7.xensor.ai依架構(amd64/arm64/ppc64)下載cydroned, 以多重 fallback 方式(wget → curl → perl)抓取,驗證為 ELF 後執行:裝成 systemd 服務常駐回報。./cydroned -sync 5 -url https://node7.xensor.ai:443 \ -apikey c064efc31aed4ec4a5073013809a169d -pubkey <RSA 公鑰> -background - 失敗時自動診斷:失敗會跑診斷蒐集日誌打包,提示送交 CyCraft。
執行安裝
# 1. 把安裝包上傳到主機(hospital_media=.40 或 hospital_web=.70)
scp XENSOR_Linux-臺北市立聯合醫院.zip hospital_media:~/
# 2. 在主機上解壓、賦予執行權限、以 root 執行
ssh hospital_media
unzip XENSOR_Linux-臺北市立聯合醫院.zip
chmod +x *_Linux-臺北市立聯合醫院.sh
sudo ./*_Linux-臺北市立聯合醫院.sh
實務踩坑(2026-06-08 裝
.70時):
- zip 內的
.sh檔名含中文,macOS 直接unzip會Illegal byte sequence解不開。 改用 stdout 導出乾淨檔名再上傳:unzip -p XENSOR_*.zip > cydroned_install.sh && scp cydroned_install.sh hospital_web:~/hospital_web(Ubuntu 24.04)沒裝unzip,所以才在本機解壓後傳.sh。- 用
sudo sh cydroned_install.sh執行即可(sudo 為 NOPASSWD)。- 安裝剛完成的數秒內,
systemctl status可能報 unit not found、/etc/cydroned/config也還沒寫完——這是 daemon-reload 與初始化的競態,稍等再查即正常(service enabled + running)。
腳本選項:
| 選項 | 用途 |
|---|---|
| (無) | 正常安裝(已安裝會退出,exit 3) |
-f |
強制安裝:先解除既有安裝再重裝 |
-d / --diagnosis |
只跑診斷,蒐集系統/agent 資訊打包供 CyCraft 排錯 |
-h |
顯示用法 |
驗證安裝狀態
ssh hospital_media '
ls -al /usr/local/bin/cydroned # 執行檔
pgrep -a cydroned # process
systemctl status cydroned --no-pager | head # 服務狀態
cat /etc/cydroned/config # 設定(APIKey/TargetURL)
/usr/local/bin/cydroned -id # Endpoint ID
/usr/local/bin/cydroned -version # 版本
'
目前狀態(2026-06-08 檢查)
| 項目 | 值 |
|---|---|
| 安裝日期 | 2026-04-14 |
| 執行檔 | /usr/local/bin/cydroned(16 MB,root) |
| 服務 | cydroned.service enabled + active (running) |
| Endpoint ID | 25F3B0AFCA173F2417950B2FD28CFA66 |
| 版本 | 0.57.5 (release),tag ap03,Python /usr/bin/python3 (3.10.12) |
| 設定一致性 | APIKey / TargetURL / PubKey 皆與安裝包相符 ✅ |
解除安裝
腳本以 -f 執行時會先解除既有安裝,等同於:
sudo /usr/local/bin/cydroned -ctrl force-uninstall
sudo /usr/local/bin/cydroned -uninstall
sudo killall cydroned
sudo rm -rf /etc/cydroned /var/lib/cydroned /usr/local/bin/cydroned \
/var/log/cydroned /var/log/cydroned.log \
/lib/systemd/system/cydroned.service /etc/init/cydroned.conf /etc/init.d/cydroned
注意事項
- 這是合法商用 EDR agent,但行為(root、常駐、外連
node7.xensor.ai、可 dump process 記憶體)與惡意程式相似,操作前需確認來源與授權。 - agent 以 root 運行,
/var/lib/cydroned、/var/log/cydroned/僅 root 可讀屬正常。 - 重跑安裝腳本(不帶
-f)在已安裝狀態下會直接退出,不會破壞現有部署。 - 排錯時用
-d產生診斷包,依提示送交 CyCraft;診斷包內含系統資訊,注意保管。