安全中心
安全中心(Security Center,/security)是 Walis 的集中化安全監控與政策管理儀表板,專供管理員盤點主機安全態勢、審視具特權與網路例外的資源、處理暴力破解鎖定威脅,以及查詢防護政策與稽核軌跡。
安全中心分為四個主要分頁:
態勢健檢
態勢健檢會即時評估整台 Walis 伺服器的防護現況,針對十大關鍵安全維度進行檢測,並歸納出整體安全狀態(good、warn 或 danger):
| 檢驗項目 | 嚴重度 | 說明與標準 |
|---|---|---|
| 管理端強制登入 | 高 | 檢查系統設定的 requireSignIn。未開啟時為危險狀態,匿名請求可讀取機密與觸發建置。 |
| 全體帳號 OTP 覆蓋率 | 中 | 檢查是否啟用 requireOtp,且所有已啟用的使用者帳號是否皆已綁定雙因素驗證。 |
| 安全告警即時通知 | 中 | 檢查 notifyOnSecurityAlert 是否啟用,且至少設定並啟用一個通知管道(如 Webhook、Slack 或 Email)。 |
| 建置沙箱與執行隔離 | 高 | 評估主機沙箱支援(macOS sandbox-exec)或外部隔離設定。若允許未隔離建置且未簽認風險將發出危險警示。 |
| 工作目錄白名單 | 中 | 檢查 allowedWorkingDirectories 是否設定限制,避免任務腳本讀寫伺服器核心目錄。 |
| Webhook 密鑰防護 | 高 | 檢查是否有啟用推送觸發的任務,並驗證系統是否設定了 Webhook 密鑰或簽署密鑰。 |
| MCP 外部存取防火牆 | 中 | 檢查 mcpAllowedAddresses 是否配置來源 IP / CIDR 白名單,防止未授權網路連線存取 AI 上下文。 |
| 備份加密金鑰保護 | 中 | 檢查排程備份是否設定密碼短語(backupPassphrase),確保匯出的備份檔受 AES-256 加密保護。 |
| 主機機密加密金鑰 | 高 | 檢查主要對稱金鑰(Security:EncryptionKey)來源,若使用自動產生之預設金鑰檔案則提示備份。 |
| 孤立與無法解密機密 | 中 | 透過後台即時掃描資料庫中的已儲存機密,確保所有敏感參數與環境變數皆可正常解密。 |
每個項目皆提供一鍵直達相應政策設定頁的捷徑,方便管理員迅速補強防護弱點。
特權與例外盤點
集中列出系統中具備較高權限、突破隔離邊界或連線受限網段的例外資源,落實最小特權(Least Privilege)審查:
- 特權或未沙箱隔離任務:列出標記為信任(
trustedUnsandboxed = true)可穿透沙箱,或未啟用網路隔離(denyNetwork = false)的所有任務。 - 受信任外掛清單:列出標記為受信任(
isTrusted = true)的外掛程式。只有受信任外掛可在執行時存取系統機密並對外發送 HTTP 請求。管理員可於此處直接切換信任狀態。 - 高風險 API 金鑰:盤點具備 Admin 權限、未綁定來源 IP(
allowedAddresses為空)、未設定到期日,或超過 30 天未曾活動的金鑰。 - 帳號審查清冊:檢視所有使用者帳號之角色(Admin / Operator / Viewer)、是否綁定 OTP,以及最後登入時間。
- 執行器隔離邊界清冊:審查所有本機與遠端執行器(Runners)的外部隔離邊界宣告與連線狀態。
威脅與鎖定管理
Walis 內建暴力破解防護(Brute-force Protection),當連續登入失敗達門檻時會自動啟動時間窗鎖定:
- 活躍鎖定清單:即時呈現因連續密碼錯誤而遭系統鎖定的帳號與來源 IP 位址,顯示剩餘鎖定秒數與累計失敗次數。
- 一鍵手動解鎖:若合法使用者遭誤鎖,管理員可直接點擊「解除鎖定」按鈕,立即清除鎖定狀態與計數。
- 24 小時安全事件指標:統計近 24 小時內之登入失敗、帳號鎖定、機密存取(
reveal)、越權存取拒絕(denied)等安全指標,並列出最近 10 筆關鍵稽核事件。
安全政策與稽核日誌
此分頁整合了核心防護政策的即時調整與全系統操作稽核:
- 防護政策快速編輯:直接調整強制登入(
requireSignIn)、全體雙因素驗證(requireOtp)、建置輸出機密遮蔽(maskSecrets)、未隔離建置允許開關等政策,儲存後即時生效。 - 進階操作稽核:
- 完整記錄使用者與系統操作(建立、修改、刪除、執行、取消、匯出、解鎖等)。
- 支援依操作者(Actor)、實體類別(Entity Type)、動作(Action)、執行結果(Success / Denied / Failed)進行即時多條件篩選與分頁瀏覽。
- 支援一鍵將稽核紀錄匯出為 CSV 檔案進行合規留存。