母案:FR-058 檢測工具擴充(四工具接入)— FR-058 檢測工具擴充(四工具接入)(母案)
依賴:無|可立刻開工 ✅(可與 FR-058.0 並行)|建議 FR-058.X 先完成|Repo:BE + evidence-agent
blocks:FR-058.3 GCB(GCB 不另立引擎,跑的就是本子需求的 connector)
組態合規檢測引擎,用 Ruby DSL 撰寫檢測規則(profile)。接入它是為了解決 Windows 主機組態檢測這個既有缺口——FR-057 的 OpenSCAP connector 是 SSH 加 Linux 寫死的(/usr/bin/oscap、/etc/os-release、sudoers),無法處理 Windows 主機。
<aside> ⚖️
必須用 CINC Auditor(Apache 2.0 自由重建版,Progress 官方認可的 drop-in 替代品,功能等價)。
不要用官方 InSpec 6+ 商業 binary——需接受 Chef EULA 並持有 license key,會把 license key 管理問題帶進每一個客戶部署。
CINC 授權乾淨:不需 Chef EULA、不需 license key。
</aside>
| 候選 | 判定 |
|---|---|
| OpenSCAP on Windows | 死路。官方 docs/windows.md 明文標示 no longer usable,最後一個勉強可用的版本是 1.3.4 且不再修 bug |
| 「Linux 掃描機遠端掃 Windows」 | 引擎做不到——不是設定問題,是能力缺失(無 WinRM transport、無 Windows OVAL probe) |
| CIS-CAT Pro | 唯一能做「單機遠端 WinRM 掃多台 Windows」的 SCAP 系工具,但需 CIS SecureSuite 付費會員資格 |
| SCC | 免費但遠端能力弱,偏「目標本機安裝 agent」模式,與我們 agentless 的既有模型不合 |
| CINC Auditor | 採用。 agentless(目標主機不必安裝掃描器,與 OpenSCAP-SSH 同一種遠端模型);SSH 與 WinRM 同一套 CLI 與 profile 格式,--reporter json 統一輸出,connector 不必寫兩套解析;Apache 2.0 免費;一個 connector 供三條線用(Windows 組態檢測 + Linux GCB + Windows GCB) |
detection_tools.connection_type 需涵蓋這兩種型態(SSH 已存在,WinRM 為新值)。--reporter json:兩個 transport 輸出格式一致,connector 只需一套解析。host_failures 逐台失敗回報通道直接沿用(避免「靜默假成功」)。tenant_detection_tool_configs 加密鏈(Linux SSH 帳號/金鑰、Windows WinRM 帳號密碼)。若日後需要每台主機不同帳密,走 FR-058.0 的任務層敏感參數。本子需求吸收 CM-953(「FR-057 後續:異質 OS 環境(Windows 等非 Linux 主機)的檢測支援方案」,狀態=討論),不另開平行卡。CM-953 提的三個選項中,選項 1(OpenSCAP Windows 走 WinRM)已被證實不可行;InSpec / CINC 屬選項 2 的具體答案。CM-953 定的「一任務一工具、靠多任務處理異質環境」模型本案沿用,不需改架構。於 T-2.4 結案 CM-953。