安全性
概述
Neotask 以安全性作為核心原則建構。從授權啟用到資料儲存再到網路通訊,每一層都設計為保護您的資料並防止未經授權的存取。
授權安全性
- 裝置綁定:每個授權透過 SHA-256 指紋以密碼學方式綁定到單一裝置。
- HMAC-SHA256 請求簽名:所有 API 請求都使用每個裝置的密鑰、隨機數和時間戳記進行簽名。
- 時序安全比較:所有密鑰比較使用恆定時間演算法,以防止時序攻擊。
- Token 生命週期:存取和刷新 Token 的到期時間由伺服器端透過已簽名的 JWT 聲明控制,可立即撤銷。
- 自動重新驗證:您的授權每 6 小時檢查一次。
- 離線寬限期:需要重新驗證之前可離線使用 72 小時。
- 遠端撤銷:可從伺服器端立即撤銷授權。
雙重驗證(TOTP)
Neotask 支援可選(但建議)的雙重驗證,用於儀表板存取。
- 與 Google Authenticator、Authy、1Password 及任何 TOTP 相容應用程式相容。
- 設定期間會提供備用碼。這些碼使用 SHA-256 雜湊,且僅可使用一次。
- 可隨時從儀表板設定的安全性部分啟用或停用 TOTP。
加密
靜態資料
- AES-256-GCM:所有 Token、密鑰和 API Key 在靜態狀態下加密。
- 機器衍生金鑰:加密金鑰透過 scrypt 從您的裝置身份衍生。
- 無明文儲存:Token 永不以明文儲存。
傳輸中的資料
- TLS 1.3:所有 API 通訊透過 HTTPS 傳輸。
- WebSocket Secure(WSS):即時閘道通訊已加密。
- HMAC 簽名:每個請求包含隨機數和時間戳記簽名。
環境密鑰
- 雙層加密:建置時環境加密使用獨立金鑰。
- 無硬編碼密鑰:原始碼中不存在 API Key 或 Token。
- 日誌編輯:敏感資料會自動從日誌中刪除。
桌面應用程式安全性
Electron 強化
Neotask 應用嚴格的 Electron 安全設定來保護桌面應用程式:
sandbox: true, 渲染器程序在沙盒環境中執行。contextIsolation: true, 無法從 UI 直接存取主程序。nodeIntegration: false, UI 不公開 Node.js API。webSecurity: true, 強制執行同源政策。
內容安全政策(CSP)
default-src 'self', 僅載入來自應用程式本身的資源。script-src 'self', 不允許外部腳本。- 彈出視窗已封鎖。
- 導航已封鎖以防止重新導向攻擊。
- 頁面重新載入已封鎖以防止狀態操縱。
應用程式完整性
- ASAR 完整性:打包應用程式的 SHA-256 雜湊驗證。
- 版本證明:具有終止開關功能的伺服器簽名清單。
- 程式碼混淆:生產建置中應用 JavaScript 混淆。
- 硬性失敗模式:任何完整性失敗時應用程式完全封鎖。
網路安全性
閘道隔離
- 閘道僅在回環位址(127.0.0.1)上執行,意味著沒有任何外部網路暴露。
- 不接受來自您機器外部的傳入連接。
- 工作階段授權具有 10 分鐘的存留時間,已綁定裝置並使用 HMAC 簽名。
三次失敗鎖定
- 連續 3 次閘道操作失敗後,所有操作將被封鎖。
- 需要手動重置才能恢復存取。
- 此機制可防止暴力破解嘗試。
API 安全性
驗證方法
| 方法 | 用途 | 安全等級 |
|---|---|---|
| JWT Bearer Token | 網路儀表板、API 呼叫 | 標準(90 天到期) |
| License HMAC | 桌面應用程式操作 | 高(每裝置密鑰) |
| Session Grants | 閘道操作 | 非常高(10 分鐘、HMAC 簽名) |
| TOTP | 儀表板登入 | 額外因素 |
速率限制
| 端點 | 限制 |
|---|---|
| 聯絡表單 | 每 15 分鐘 5 次請求 |
| 登入嘗試 | 每 15 分鐘 10 次請求 |
| 分析/追蹤 | 每 60 秒 30 次請求 |
輸入驗證
- 所有 IPC 參數在處理前都會驗證。
- 所有 API 輸入都會進行清理。
- 已實施針對 SQL 注入、XSS 和命令注入的保護。
提供商金鑰安全性(BYOK)
使用自帶金鑰(BYOK)模式時,Neotask 對您的 API Key 應用額外的安全措施:
- API Key 在儲存前使用 AES-256-GCM 加密。
- 金鑰不會在日誌中記錄或在錯誤訊息中公開。
- 金鑰在儀表板中以遮蔽形式顯示(僅顯示最後 4 個字元)。
- 刪除金鑰時執行安全刪除。
安全模式
Neotask 包含安全模式功能,為代理程式提供執行沙盒:
- 每個代理程式的執行沙盒隔離各代理程式的操作。
- 敏感操作在執行前需要明確的使用者核准。
- 主切換開關允許您全局啟用或停用安全模式。
- 按排程自動重新啟用可確保臨時變更後安全模式重新啟動。
- 即時政策同步保持設定在所有連接中一致。
稽核與合規
- 所有設定變更都會記錄時間戳記。
- 設定雜湊可偵測未經授權的修改。
- 使用遙測(選擇加入)可啟用異常偵測。
- CORS 限制為僅授權的網域。
- Helmet 安全標頭應用於所有網路回應。
最佳實務
- 啟用 TOTP 以在您的儀表板上進行雙重驗證。
- 下載備用碼並安全儲存。
- 設定每日預算以防止意外費用。
- 使用 BYOK 模式,如果您想完全控制您的 API Key。
- 保持應用程式更新, 自動更新包含安全修補程式。
- 定期審查代理程式權限,在安全模式設定中進行。