Skip to content

備份配置

Nginx UI 配置中的備份部分控制備份操作的安全性和存取權限。此部分確保備份功能在定義的安全邊界內運行,同時提供靈活的儲存選項。

概述

Nginx UI 提供全面的備份功能,包括:

  • 手動備份:透過 Web 介面按需建立備份
  • 自動備份:使用可視化 cron 編輯器的定時備份任務
  • 多種備份類型:支援 Nginx 配置、Nginx UI 配置或自訂目錄備份
  • 儲存選項:本地儲存和 S3 相容的物件儲存
  • 安全性:配置資料使用 AES 加密的加密備份

GrantedAccessPath

  • 類型:[]string
  • 預設值:[](空陣列)
  • 版本:>= v2.0.0

這是備份操作最關鍵的安全設定。它定義了允許進行備份操作的目錄路徑清單,包括備份來源路徑和儲存目標路徑。

用途

GrantedAccessPath 設定作為安全邊界:

  • 防止未授權存取:將備份操作限制在明確授權的目錄內
  • 保護系統檔案:防止意外備份或存取敏感的系統目錄
  • 強制存取控制:確保所有備份路徑都在管理員定義的邊界內
  • 防止路徑遍歷:阻止嘗試存取允許範圍外的目錄

配置格式

ini
[backup]
GrantedAccessPath = /var/backups
GrantedAccessPath = /home/user/backups

路徑驗證規則

  1. 前綴比對:使用適當的邊界檢查進行前綴比對驗證路徑
  2. 路徑清理:所有路徑都經過標準化處理以防止目錄遍歷攻擊(如 ../ 序列)
  3. 精確邊界/tmp 允許 /tmp/backup 但不允許 /tmpfoo 以防止混淆
  4. 空預設值:預設情況下,為了最大安全性,不允許任何自訂目錄備份操作

安全考量

  • 預設安全:預設的空配置確保在明確配置之前不允許任何自訂目錄備份操作
  • 明確配置:管理員必須有意識地定義允許的路徑
  • 定期審查:根據操作需要定期審查和更新允許的路徑
  • 最小權限:僅授予真正需要備份功能的目錄存取權限

備份類型

配置備份

備份 Nginx 或 Nginx UI 配置時:

  • 加密:所有配置備份都使用 AES 加密自動加密
  • 金鑰管理:加密金鑰自動產生並與備份檔案一起儲存
  • 完整性驗證:SHA-256 雜湊確保備份完整性
  • 中繼資料:包含版本資訊和時間戳記以提供還原上下文

自訂目錄備份

對於自訂目錄備份:

  • 無加密:自訂目錄備份儲存為標準 ZIP 檔案,不加密
  • 路徑驗證:來源目錄必須在 GrantedAccessPath 邊界內
  • 靈活內容:可以備份允許路徑內的任何目錄結構

儲存配置

本地儲存

  • 路徑驗證:儲存路徑必須在 GrantedAccessPath 邊界內
  • 目錄建立:如果儲存目錄不存在,會自動建立
  • 權限:備份檔案使用安全權限(0600)建立

S3 儲存

對於 S3 相容的物件儲存:

  • 必需欄位:儲存桶名稱、存取金鑰 ID 和秘密存取金鑰是必需的
  • 可選欄位:可以為自訂 S3 提供商配置端點 URL 和區域

自動備份排程

可視化 Cron 編輯器

自動備份使用可視化 cron 編輯器介面,允許您:

  • 選擇頻率:從每日、每週、每月或自訂計劃中選擇
  • 設定時間:選擇備份執行的具體小時和分鐘
  • 預覽計劃:檢視備份計劃的人類可讀描述

任務管理

  • 狀態追蹤:每個備份任務追蹤執行狀態(待處理、成功、失敗)
  • 錯誤日誌:失敗的備份包含詳細的錯誤訊息以便故障排除

此配置在保持嚴格安全邊界的同時啟用備份操作,確保備份功能不會被濫用來存取未授權的系統區域。

Released under the AGPL-3.0 License. (dcea7518)