134 lines
5.4 KiB
Markdown
134 lines
5.4 KiB
Markdown
# Xensor (CyCraft) EDR Agent 安裝筆記
|
||
|
||
## 概述
|
||
|
||
`106.105.181.40` 上部署了 **CyCraft(奧義智慧)Xensor** 端點偵測與回應(EDR)代理程式,
|
||
agent 名稱為 `cydroned`,由資安團隊提供的安裝腳本部署。
|
||
|
||
- 安裝包:`XENSOR_Linux-臺北市立聯合醫院.zip`,解開後為單一 shell script
|
||
(檔名 = `<APIKey>_Linux-臺北市立聯合醫院.sh`)
|
||
- 部署群組:`Linux-臺北市立聯合醫院`(appid `A00003`)
|
||
- 回報伺服器:`https://node7.xensor.ai:443`
|
||
|
||
## 安裝包資訊
|
||
|
||
| 項目 | 值 |
|
||
|------|-----|
|
||
| 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:
|
||
|
||
```bash
|
||
ssh-add -l # 應列出 id_ecdsa / id_rsa
|
||
ssh-add # 若無,載入金鑰(需 passphrase)
|
||
ssh hospital_media # 第一跳 timmy_home_server 會提示密碼,互動輸入
|
||
```
|
||
|
||
> 第一跳 `timmy_home_server` 用**密碼認證**(金鑰不被接受),自動化時可用 `sshpass`
|
||
> 以環境變數帶入密碼,避免明碼落地。後兩跳走金鑰。
|
||
|
||
## 安裝腳本運作方式
|
||
|
||
腳本(`<APIKey>_..._Linux-臺北市立聯合醫院.sh`)分三段:
|
||
|
||
1. **前置相容性檢查**:CPU 架構、kernel 版本、libc、init 系統、`/proc`、`/sys`、
|
||
套件管理器(dpkg/rpm)、Python 版本與模組、`/tmp` `/var/log` `/var/lib` 磁碟空間。
|
||
若 `/usr/local/bin/cydroned` 或 `/etc/cydroned` 已存在,**預設直接退出不重裝**。
|
||
2. **下載並安裝 agent**:從 `node7.xensor.ai` 依架構(amd64/arm64/ppc64)下載 `cydroned`,
|
||
以多重 fallback 方式(wget → curl → perl)抓取,驗證為 ELF 後執行:
|
||
```
|
||
./cydroned -sync 5 -url https://node7.xensor.ai:443 \
|
||
-apikey c064efc31aed4ec4a5073013809a169d -pubkey <RSA 公鑰> -background
|
||
```
|
||
裝成 systemd 服務常駐回報。
|
||
3. **失敗時自動診斷**:失敗會跑診斷蒐集日誌打包,提示送交 CyCraft。
|
||
|
||
### 執行安裝
|
||
|
||
```bash
|
||
# 1. 把安裝包上傳到主機
|
||
scp XENSOR_Linux-臺北市立聯合醫院.zip hospital_media:~/
|
||
|
||
# 2. 在主機上解壓、賦予執行權限、以 root 執行
|
||
ssh hospital_media
|
||
unzip XENSOR_Linux-臺北市立聯合醫院.zip
|
||
chmod +x *_Linux-臺北市立聯合醫院.sh
|
||
sudo ./*_Linux-臺北市立聯合醫院.sh
|
||
```
|
||
|
||
腳本選項:
|
||
|
||
| 選項 | 用途 |
|
||
|------|------|
|
||
| (無) | 正常安裝(已安裝會退出,exit 3) |
|
||
| `-f` | 強制安裝:先解除既有安裝再重裝 |
|
||
| `-d` / `--diagnosis` | 只跑診斷,蒐集系統/agent 資訊打包供 CyCraft 排錯 |
|
||
| `-h` | 顯示用法 |
|
||
|
||
## 驗證安裝狀態
|
||
|
||
```bash
|
||
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` 執行時會先解除既有安裝,等同於:
|
||
|
||
```bash
|
||
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;診斷包內含系統資訊,注意保管。
|