如何才能獲得 Nextcloud A+ 安全評級
使用最新更新、HTTPS 和 HSTS、精確的反向代理信任以及針對公共伺服器的檢查,修復 Nextcloud 掃描中常見的錯誤。
如果您考慮使用 Nextcloud 伺服器端加密是因為檔案儲存在第三方儲存上,請務必在確認 SSE 能夠滿足您的安全威脅模型後再啟用它。沒有任何設定可以保證加密後效能不受影響:伺服器必須對檔案內容進行加密和解密,因此傳輸速度和 CPU 使用率可能會變更。您可以透過測試代表性檔案、為需要加密的儲存啟用加密,以及將批次轉換安排在流量低谷期來控制效能影響。
截至 2026 年 10 月 10 日,最新的 Nextcloud 35 管理手冊將內建的伺服器端加密 (SSE) 描述為主要用於保護外部儲存空間上的靜態檔案。它不會隱藏檔案名稱或資料夾結構,也無法保護檔案免受 Nextcloud 伺服器入侵或惡意管理員的攻擊。對於本地磁碟或實體盜竊,作業系統磁碟加密可能更符合需求;如果要確保伺服器管理員無法讀取數據,則應考慮使用端對端加密。
在變更設定之前,請先制定金鑰和復原計畫。備份 Nextcloud 配置和加密金鑰數據,並確保備份檔案單獨儲存並設定存取控制。密鑰材料儲存在資料目錄中;遺失加密密鑰或實例密鑰可能會導致加密資料無法恢復。請保留經過測試的復原流程,而不僅僅是資料庫副本。
此外,在更改之前也要記錄基準資料:測試代表性檔案的上傳和下載時間,觀察 CPU 和儲存活動,並記錄使用者遇到的任何延遲。啟動後重複相同的測試。這將幫助您判斷更改是否在您的硬體上可以接受,而不是僅依賴關於性能的籠統說法。
sudo -E -u www-data php /var/www/nextcloud/occ encryption:status
請將範例路徑和 HTTP 使用者替換為您實際安裝時所使用的路徑和 HTTP 使用者。 Nextcloud 要求 OCC 以 HTTP 使用者身分執行,以確保檔案權限正確。在 Docker、AIO、Snap 或託管主機環境中,請使用該部署支援的 shell 和用戶,而不是直接複製此主機命令。有關命令執行的詳細信息,請參閱OCC 官方指南。
啟用 SSE 後,新建檔案和已變更的檔案都會被加密。即使啟用了該設置,現有文件也不會自動轉換。如果您需要加密現有文件庫,Nextcloud 提供了以下 OCC 命令:
sudo -E -u www-data php /var/www/nextcloud/occ encryption:encrypt-all
執行此操作前,請確認備份已更新並安排維護視窗。此操作會處理所有使用者的文件,顯示進度,並且在大型實例上可能會佔用大量時間和資源。 Nextcloud 建議用戶在過程中不要存取文件。請勿在高峰時段運行此操作,也不要將其視為無害的開關。如果只有特定的外部掛載點需要 SSE,請設定該掛載點的加密選項,而不是不必要地啟動全伺服器範圍的轉換。
部分資料不在文件內容加密的範圍內。目前手冊列出了檔案名稱和資料夾結構、回收站中的現有文件、歷史文件版本、圖像縮圖和預覽圖,以及全文搜尋索引等未被 SSE 加密的項目。共用儲存在外部儲存體上的加密檔案必須透過 Nextcloud 進行;無法直接從儲存供應商共用。
使用分階段檢查,而不是一次加密所有內容:
Nextcloud 不承諾零開銷,實際影響取決於硬體、檔案大小、儲存空間、並發性和工作負載。 SSE 也可能略微增加儲存的檔案大小;目前手冊指出,新版本大約會增加 1% 的開銷,而舊版本則會增加更多。請勿假設舊版的效能估算值適用於您的版本。
啟用 SSE 後,請occ encryption:status使用非關鍵檔案檢查並測試上傳、下載、共用和同步功能。確認 Nextcloud 可以讀取目標儲存位置的數據,並且測得的延遲時間仍在可接受範圍內。對於現有文件,在批次操作完成之前,請勿假定它們已加密。
如果您之後決定停用 SSE,請不要在加密檔案仍然存在的情況下直接關閉應用程式或模組。 Nextcloud 官方文件中說明的步驟是先解密文件,然後再停用加密;解密指令可能會進入維護模式,因此也應該在備份檔案的情況下執行:
sudo -E -u www-data php /var/www/nextcloud/occ encryption:decrypt-all
在變更加密設定之前,請確認操作已完成並驗證檔案存取權限。如果測得的開銷過高,請縮小加密儲存範圍或選擇符合您威脅模型的儲存層保護。只要加密資料存在,就應始終備份金鑰和實例金鑰。
使用最新更新、HTTPS 和 HSTS、精確的反向代理信任以及針對公共伺服器的檢查,修復 Nextcloud 掃描中常見的錯誤。
為需要加密的儲存配置 Nextcloud SSE,保護加密金鑰,並在加密現有文件之前測量傳輸和 CPU 影響。
將 Nextcloud 的檔案搜尋連接到 Elasticsearch,索引文件內容,並選擇適合您的伺服器和安全需求的設定。
配置 Nextcloud 在規定的保留期後刪除已刪除的文件,可靠地安排後台作業,並避免執行清除所有使用者回收站的命令。
安全地執行 Nextcloud 的 OCC 修復程序,預覽資料庫更改,並檢查警告仍然存在的原因。
透過調整 PHP、Nginx 或 Apache、暫存和逾時設置,讓 Nextcloud 瀏覽器上傳更大的文件,並驗證是哪個限制阻止了文件上傳。
設定 Nextcloud 實際使用的 PHP 記憶體限制,重新啟動對應的服務,並在管理概覽中確認 512 MB 設定。
使用 Nextcloud 的 S3 後端,透過正確的端點、憑證、存取範圍和驗證步驟,掛載相容的物件儲存桶。
使用持久 UUID 掛載、維護模式、已驗證的副本和原始路徑符號鏈接,安全地將 Linux Nextcloud 資料目錄移至外部驅動器。
透過診斷 SQL 錯誤、檢查資料庫連線並安全地完成中斷的遷移,在更新後恢復 Nextcloud 存取。