本卡為母案,統整目標、設計前提、決策定案(D1–D7)、三子需求索引。三個子需求(FR-057.1~.3)各有獨立卡片,關聯回本卡。FR-056 檢測工具整合平台續作。

設計文件docs/features/FR-057-2607-openscap-ssh-connector/design.md(BE repo)

討論稿(含流程圖)docs/features/FR-057-2607-openscap-ssh-connector/discussion.html(BE repo)+ Artifact 線上版:https://claude.ai/code/artifact/e3f6864b-501e-474f-b6c3-cdc97dd59879


目標

FR-056 檢測工具整合平台第一版只接了 OpenVAS(API 型)。本案新增第二個工具 OpenSCAP——開源組態合規稽核工具(CIS / STIG benchmark),並藉此開出 connector 架構的第三種連線型態 SSH(既有 API / CLI 之外)。

端到端流程

租戶設定 OpenSCAP(SSH 稽核帳號 + 金鑰/密碼,加密存放)
  → 任務設「檢測工具執行」選 OpenSCAP + 填 hosts/profile
  → 按「開始執行任務」
  → Agent 心跳領到派工(含解密憑證)
  → Agent 內 oscap-ssh 逐台登入目標主機執行掃描
  → 每台一份 HTML 報告拉回 Agent → 上傳 → 回報 result(多檔)
  → 雲端逐檔取回存 job_evidences(source=DETECTION_TOOL)
  → 通知負責人 → 依完成模式收尾

設計前提:為什麼是 SSH 遠端掃描(已查證定案)


決策定案(D1–D7)

# 決策 定案
D1 SSH 憑證放哪層 租戶工具設定層一組共用稽核帳號(方案 A)。業界標準做法——Tenable 官方《Credentialed Checks on Linux》明文:每台目標建同名專用掃描帳號。沿用 tenant_detection_tool_configs 加密鏈 + D9 派工下發,零新表零新機制。任務層帶憑證(明文落 DB)排除;host inventory 表(每台各自憑證)列未來,資料模型可平滑升級。
D2 認證方式 密碼 / SSH 私鑰二擇一,推薦金鑰(Tenable 同款建議:金鑰更安全、私鑰只存 scanner 端)。另設 use_sudo 布林——完整掃描需 root 級讀取,企業普遍禁 root 遠端登入,「一般帳號 + sudo 提權」是標準模式(oscap-ssh --sudo)。
D3 SCAP content 來源 用目標主機自帶的 SSGscap-security-guide 套件,/usr/share/xml/scap/ssg/content/),天然匹配該機 OS 版本。任務參數 = content 路徑(預設慣例路徑可改)+ profile(常用 CIS/STIG 下拉 + 自由輸入)。平台統一管理 content 列未來(版本矩陣維護成本高、錯配風險)。
D4 證據格式 HTML 原樣上傳oscap 官方人讀格式,無原生 PDF)。summary 從 stdout 規則統計解析(pass/fail/notapplicable)。不轉 PDF(LibreOffice 轉複雜 HTML 排版易爛);ARF XML 結構化 findings 留未來 FR(同 FR-056 D4 邏輯)。
D5 多目標處理 逐台掃、每台一個證據檔(檔名含主機名),summary 加總。不硬拼單一 HTML。⚠️ 牽動回收鏈:現況 result_ref.upload_uid 是單數,需擴成多檔(FR-057.3)。
D6 部署前提呈現 設定頁內建前提說明 + 一鍵複製目標主機準備腳本(裝 openscap-scanner+scap-security-guide、建稽核帳號、佈公鑰、sudoers),加 probe 實地檢查(SSH 上去驗 oscap / SSG content 存在性,缺什麼報什麼)。只寫手冊(被動)不採。
D7 不做範圍(第一版) Push 模式(目標自掃回報,Foreman 式)——與「按開始→即時派工」任務模型衝突;host inventory 表;ARF findings 解析;content 平台管理。

三子需求索引

階段 子需求 依賴 子任務數 Repo
FR-057.1 BE:SSH 型態 + OpenSCAP 目錄與設定頁(地基) 3(T-1.1~1.3) BE + FE
FR-057.2 Agent:OpenSCAP connector .1 3(T-2.1~2.3) evidence-agent
FR-057.3 多檔證據回收鏈 .1(可與 .2 並行) 2(T-3.1~3.2) evidence-agent + BE
flowchart LR
    A[FR-057.1 BE 地基] --> B[FR-057.2 Agent connector]
    A --> C[FR-057.3 多檔回收鏈]