備份配置
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
路徑驗證規則
- 前綴比對:使用適當的邊界檢查進行前綴比對驗證路徑
- 路徑清理:所有路徑都經過標準化處理以防止目錄遍歷攻擊(如
../
序列) - 精確邊界:
/tmp
允許/tmp/backup
但不允許/tmpfoo
以防止混淆 - 空預設值:預設情況下,為了最大安全性,不允許任何自訂目錄備份操作
安全考量
- 預設安全:預設的空配置確保在明確配置之前不允許任何自訂目錄備份操作
- 明確配置:管理員必須有意識地定義允許的路徑
- 定期審查:根據操作需要定期審查和更新允許的路徑
- 最小權限:僅授予真正需要備份功能的目錄存取權限
備份類型
配置備份
備份 Nginx 或 Nginx UI 配置時:
- 加密:所有配置備份都使用 AES 加密自動加密
- 金鑰管理:加密金鑰自動產生並與備份檔案一起儲存
- 完整性驗證:SHA-256 雜湊確保備份完整性
- 中繼資料:包含版本資訊和時間戳記以提供還原上下文
自訂目錄備份
對於自訂目錄備份:
- 無加密:自訂目錄備份儲存為標準 ZIP 檔案,不加密
- 路徑驗證:來源目錄必須在
GrantedAccessPath
邊界內 - 靈活內容:可以備份允許路徑內的任何目錄結構
儲存配置
本地儲存
- 路徑驗證:儲存路徑必須在
GrantedAccessPath
邊界內 - 目錄建立:如果儲存目錄不存在,會自動建立
- 權限:備份檔案使用安全權限(0600)建立
S3 儲存
對於 S3 相容的物件儲存:
- 必需欄位:儲存桶名稱、存取金鑰 ID 和秘密存取金鑰是必需的
- 可選欄位:可以為自訂 S3 提供商配置端點 URL 和區域
自動備份排程
可視化 Cron 編輯器
自動備份使用可視化 cron 編輯器介面,允許您:
- 選擇頻率:從每日、每週、每月或自訂計劃中選擇
- 設定時間:選擇備份執行的具體小時和分鐘
- 預覽計劃:檢視備份計劃的人類可讀描述
任務管理
- 狀態追蹤:每個備份任務追蹤執行狀態(待處理、成功、失敗)
- 錯誤日誌:失敗的備份包含詳細的錯誤訊息以便故障排除
此配置在保持嚴格安全邊界的同時啟用備份操作,確保備份功能不會被濫用來存取未授權的系統區域。