DeepSeek Harness 插件:dsh-rgate 遠程訪問門禁

DeepSeek Harness (DSH) 的內置瀏覽器信任邊界 (trustedHosts) 是爲了防禦 DNS 重綁定,而非身份認證。只要 Host 頭通過驗證,任何人都可以使用 Web UI。如果你將 Harness 暴露在非迴環地址(如公網 IP、局域網),訪問者無需任何憑證即可使用界面。dsh-rgate 插件爲自託管部署添加了缺失的身份認證層。

插件定位

這是一個遠程訪問登錄門禁,提供全頁密碼牆、API 限制和會話 Cookie。它由 raomaiping-hash 維護,解決的是 Web UI 缺乏認證機制的問題,使得 IP 掃描器在遇到公開地址時只能看到登錄頁面,而無法直接訪問 Harness 的接口。

核心功能

  1. 全頁密碼牆
    通過注入門禁腳本到 index.html,非迴環訪問者(如 127.0.0.1、localhost、::1 除外)會被重定向到 /rgate-login 登錄頁。

  2. 完整的 API 限制
    所有 /api RPC 請求在未認證時返回 401。插件註冊了自身的 /api/remote-auth.* 端點,不再代理或遮蔽 Harness 原生的 API 路由。

  3. 會話管理
    使用 rgate_session Cookie,設置 HttpOnly 和 SameSite=Strict,有效期 7 天。會話存儲在內存中,登出和修改密碼會清除所有會話。

  4. 無 ?token= URL
    插件生成 HMAC 簽名的 rgate_auth Cookie,補全了 Harness 原生 dsh-client-connection 對 Cookie 的驗證,使得訪問者無需在 URL 中攜帶 ?token= 參數。

  5. 登錄限流
    每個客戶端限制 5 次失敗嘗試,隨後觸發指數退避(最慢 16 分鐘),並使用 Cf-Connecting-Ip(配合 Cloudflare Tunnel)作爲客戶端標識,防止單一攻擊者鎖定所有用戶。

  6. 審計日誌
    登錄成功/失敗、鎖定、密碼變更操作會記錄到 Harness 的日誌(journald)中,且不記錄密碼明文。

  7. 密碼存儲
    密碼使用 scrypt 算法(N=16384, r=8, p=1)加鹽存儲在 ~/.dsh/remote-auth.json(權限 0600)中。

  8. 遠程訪問設置
    在 DSH 的設置平面中提供遠程訪問狀態、登錄/登出和修改密碼的入口。

  9. 來源驗證
    登錄和登出接口會檢查 HTTP 來源,拒絕跨站表單提交。

安裝與啓用

從 GitHub 安裝該插件(無構建步驟):

dsh plugin --profile web add github:raomaiping-hash/dsh-rgate

安裝完成後,重啓 web profile。插件激活時會輸出 [rgate] 門禁已啓用 …,並在首次啓動時在 ~/.dsh/remote-auth.json 中生成一個隨機密碼。

典型用法

  1. 查看激活日誌
    通過以下命令確認插件已生效:
   journalctl -u deepseek-harness | grep rgate
  1. 恢復忘記的密碼
    如果忘記了密碼,直接刪除 ~/.dsh/remote-auth.json 文件並重啓 Harness 服務。服務日誌中會打印新的隨機密碼。

  2. 更改密碼
    使用已認證的會話發送 POST 請求到 /api/remote-auth.password。

  3. 查看門禁狀態
    通過 /api/remote-auth.status 檢查當前配置、認證狀態及是否爲迴環訪問。

適用場景與注意

適用場景:適合單密碼、個人或小型團隊的自託管部署。

注意:
* 威脅模型:該插件假設 Harness 進程和主機文件系統是可信的。如果攻擊者能讀取 remote-auth.json 或進程內存,他們已經獲得了主機權限。它不替代操作系統的網絡安全衛生、HTTPS 終止或上游訪問控制。
* WebSocket 未受保護:/api/events.mux 和 /api/events.host WebSocket 升級不受門禁限制。已通過認證的客戶端仍可建立連接。
* 內存會話:會話存儲在內存中,重啓 Harness 會強制所有用戶登出。
* 靜態資源公開:未認證訪客仍可訪問靜態資源(JS/CSS),但所有數據交互仍需通過 API 門禁。

總結

dsh-rgate 爲 DeepSeek Harness 的 Web UI 提供了基礎的認證層,通過密碼牆和 Cookie 會話管理,有效防止了針對 Web 界面的直接掃描和未授權訪問。結合其審計日誌和限流機制,能夠提升自託管部署的安全性。

插件目錄
GitHub 倉庫

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜