如何為 Collabora CODE 設定新增靜態文檔加密

Collabora CODE 沒有提供對靜態儲存文件副本進行加密的設定。 CODE 是 WOPI 整合中的線上編輯器;文件的保存由連接的文件平台或儲存服務負責。若要保護已儲存的文件,請在對應的儲存層配置加密。如果您的 WOPI 主機是 Nextcloud,則可以使用其伺服器端加密;如果您擔心伺服器磁碟被盜,則應在主機儲存體上使用區塊裝置加密。

這種區別至關重要,因為 CODE 必須在使用者編輯文件時處理文件內容。 Collabora 聲稱,會話結束後文件會從記憶體中刪除,不會持久儲存在 Collabora Online 伺服器上,但靜態加密並不能對編輯者或授權的儲存應用程式隱藏已開啟的文件。以下說明以 Nextcloud 為例;ownCloud、Seafile 和自訂 WOPI 主機都有各自的儲存加密控制。

應該在哪一層對文件進行加密?

目標在哪裡配置?它無法解決的問題
保護寫入遠端儲存提供者的文件根據您的架構,可以使用 Nextcloud 伺服器端加密或儲存提供者本身的加密。Nextcloud 的伺服器端金鑰對伺服器可用;它不會對伺服器隱藏開啟的文件。
如果硬體被移除,請保護本機伺服器磁碟。作業系統磁碟或區塊裝置加密,例如 Linux 上的 LUKS。系統解鎖並運作後,授權進程即可讀取檔案。
防止儲存提供者或伺服器管理員讀取檔案內容受支援的客戶端或端對端加密工作流程線上編輯可能需要解密內容才能存取程式碼;選擇此模型前,請確認其與您的文件平台相容。
保護使用者、WOPI主機和CODE之間的流量。相關連線上的 HTTPS/TLSTLS 保護的是傳輸中的數據,而不是儲存在磁碟上的副本。

Nextcloud 目前的管理指南指出,伺服器端加密對於外部儲存尤其有用。它加密的是檔案內容,而不是檔案名稱或目錄結構,並且金鑰保存在 Nextcloud 伺服器上。如果目標是防止 Nextcloud 管理員讀取文件,伺服器端加密不能取代端對端加密;如果目標是防止實體盜竊,伺服器端加密也不能取代磁碟加密。

在啟用 Nextcloud 伺服器端加密之前

  • 確定實際儲存路徑。確認 Nextcloud 是將檔案寫入本機磁碟、外部掛載點還是物件儲存服務。為儲存持久副本的圖層選擇加密方式。
  • 首先進行備份。對 Nextcloud 資料庫、配置、資料和加密金鑰進行經過測試的備份。將實例密鑰和密鑰保存在受保護的備份位置。如果沒有密鑰,加密檔案可能無法恢復。
  • 針對現有文件製定計劃。啟用伺服器端加密後,預設會加密新檔案和已變更的檔案。加密整個現有程式庫是單獨的維護操作。
  • 檢查存取權限和相容性。 Nextcloud的金鑰模式、驗證方法、共用和外部儲存行為均有所不同。請查閱版本相符的 Nextcloud 手冊,並確認您擁有命令列存取權限occ。
  • 選擇正確的威脅模型。伺服器端加密並不能阻止已被攻破的 Nextcloud 伺服器或擁有金鑰存取權限的管理員讀取檔案。不要指望啟用伺服器端加密就能獲得這種保護。

當 Nextcloud 作為 WOPI 主機時,如何啟用加密?

1. 確認 Nextcloud 擁有已儲存文件的所有權。

透過 Nextcloud 文件介面開啟測試文檔,並在 Collabora 中啟動它。在典型的 WOPI 設定中,Nextcloud 是文件託管方,CODE 是編輯器。 CODE 請求編輯文檔,並將儲存的變更傳回託管方。請在 Nextcloud 或儲存後端配置持久性儲存加密,而不是在 CODE 的編輯選單中配置。

Collabora Online 文件編輯器透過 WOPI 連接到獨立的文件儲存主機
編輯器和檔案儲存主機是 WOPI 設定中的獨立部分;配置儲存檔案的儲存位置的加密。

2. 啟用伺服器端加密功能

以 Nextcloud 管理員身份登錄,開啟管理設定的「伺服器端加密」部分。選擇「啟用伺服器端加密」,然後依照螢幕上的確認提示操作。選單文字可能因 Nextcloud 版本而異。加密功能和加密模組是分開的:如果頁面顯示未載入任何模組,請繼續前往「應用」部分。

Nextcloud 管理安全頁面,包含「啟用伺服器端加密」複選框和無模組狀態
安全性設定頁面會顯示伺服器端加密開關;此模組也必須先啟用,功能才能使用。

3. 啟用預設加密模組

開啟「應用」,找到「預設加密模組」(手冊中也稱為「Nextcloud 預設加密模組」),並啟用它。返回加密設置,確認已選擇該模組。 Nextcloud 的指南隨後會指導用戶登出並重新登入以初始化加密金鑰。

Nextcloud 應用程式頁面顯示預設加密模組已啟用。
在「應用程式」中啟用預設加密模組,然後返回加密設定並確認已選取此模組。

4. 檢查 Nextcloud 伺服器的狀態

以 Nextcloud Web 伺服器帳戶身份,從 Nextcloud 安裝目錄執行狀態命令。在典型的 Debian 或 Ubuntu 歸檔安裝中,指令可能如下所示:

cd /var/www/nextcloud
sudo -u www-data php occ encryption:status

請使用實際的安裝路徑和 Web 伺服器使用者。對於容器部署,請occ在 Nextcloud 容器內使用該安裝文件中提供的命令運行。正常狀態會報告加密已啟用,並標識預設模組。這確認了伺服器端功能的狀態;但這本身並不能證明所有舊檔案都已加密。

occ encryption:status 的終端輸出顯示已啟用 true,且為預設加密模組
輸出occ encryption:status結果證實 Nextcloud 報告加密已啟用,並指明了活動的預設模組。

那麼圖書館裡已有的文獻呢?

預設情況下,啟用伺服器端加密後,Nextcloud 會對建立或變更的檔案進行加密。如果您還需要加密現有文件,請先進行全新備份,安排維護窗口,並在操作期間阻止使用者更改文件。 Nextcloud 指令參考文件介紹occ encryption:encrypt-all如何為所有使用者加密文件。請依照您安裝的 Nextcloud 版本說明進行操作,以 Web 伺服器帳戶身分執行指令,並在加密完成後再還原服務的正常使用。

sudo -u www-data php occ encryption:encrypt-all

請勿將occ encryption:disable其用作回滾快捷方式。停用此標誌不會解密現有檔案。 Nextcloud 文件中提供了單獨的全部解密流程,並警告稱,在未解密文件的情況下停用加密可能會導致不可預測的錯誤。在生產環境中變更加密狀態之前,請務必測試備份和復原流程。

如何驗證儲存保護措施?

  • 檢查occ encryption:status並確認目標模組已啟動。
  • 對於新的測試文件,請透過 Nextcloud 上傳一個無害的文本文檔,在 Collabora 中編輯該文檔,儲存,關閉會話,然後透過 Nextcloud 重新開啟該文檔。這樣可以驗證正常的編輯器和儲存工作流程是否仍然有效。
  • 如果您需要證明資料在特定後端已加密,請使用儲存提供者提供的驗證方法,或在生產服務之外進行受控測試。切勿想當然地認為檔案名稱、副檔名或一次命令列文字搜尋就能作為可靠的加密測試。
  • 請單獨查看備份。即使即時 Nextcloud 資料路徑受到保護,可讀的備份副本仍然是未加密的副本。
  • 分別確認瀏覽器到服務和主機到程式碼流量的 HTTPS/TLS;這是傳輸保護,不是靜態加密。

當 Nextcloud SSE 不是合適的選擇時

如果您的 Nextcloud 實例僅將檔案儲存在本機磁碟上,而您主要擔心的是硬碟被盜或報廢,那麼在作業系統層面進行磁碟加密通常是更直接的控制方式。它會在斷電狀態下加密區塊設備;啟動並解鎖後,Nextcloud 和 CODE 仍然可以讀取編輯所需的文件。您可以在伺服器配置期間或透過作業系統的預存程序進行配置,並將復原金鑰保存在伺服器外部。

如果您要求管理員和儲存提供者永遠無法查看文件內容,請使用平台支援的端對端加密方案,並在部署前驗證其與 Collabora 的兼容性。瀏覽器編輯器需要在編輯會話期間存取文件數據,因此僅在儲存後端進行靜態加密無法在使用者編輯時提供這種保證。 CODE 本身並未加入通用的靜態文檔加密開關。

官方參考資料

留下評論

如何在 LibreOffice 中停用遙測和資料收集

如何在 LibreOffice 中停用遙測和資料收集

了解如何停用 LibreOffice 崩潰報告、線上更新用戶代理程式資料和可選的自動更新檢查,以及如何驗證設定。

How to Install ONLYOFFICE Docs Enterprise with Docker Compose

How to Install ONLYOFFICE Docs Enterprise with Docker Compose

Install ONLYOFFICE Docs Enterprise with the official Docker Compose file, configure JWT and persistent storage, add your license, and verify the service.

如何在 LibreOffice 的尋找和取代功能中使用正規表示式進行進階編輯

如何在 LibreOffice 的尋找和取代功能中使用正規表示式進行進階編輯

學習如何在 LibreOffice 尋找和替換中使用正規表示式來清理文字、擷取和重新排序資料、控制範圍以及選擇更安全的替代方案。

如何使用 ONLYOFFICE 巨集自動清理電子表格

如何使用 ONLYOFFICE 巨集自動清理電子表格

建立一個安全的 ONLYOFFICE JavaScript 巨集,用於清理電子表格文字、保留公式和數字,並在儲存工作簿之前驗證每次變更。

Collabora Online 與 ONLYOFFICE:資源使用與延遲測試

Collabora Online 與 ONLYOFFICE:資源使用與延遲測試

使用官方的配置指南和可重複的測試,比較 Collabora Online 和 ONLYOFFICE Docs 的 CPU、記憶體、開啟時間、協同編輯延遲和保存次數。

如何為 Collabora Online CODE Docker 新增自訂字體

如何為 Collabora Online CODE Docker 新增自訂字體

在 Docker 中為 Collabora Online CODE 新增自訂字體,比較綁定掛載、自訂映像檔和遠端字體配置,然後驗證文件中的字體。

修正 Collabora 線上字體大小下拉選單顯示不正確的問題

修正 Collabora 線上字體大小下拉選單顯示不正確的問題

追蹤 Collabora Online 字體大小下拉選單顯示不完整、拉伸或無回應的問題。重置頁面縮放,手動輸入字體大小,並檢查程式碼版本修復程式。

修正「LibreOffice 需要 Java 執行時間環境 (JRE)」錯誤

修正「LibreOffice 需要 Java 執行時間環境 (JRE)」錯誤

要解決 LibreOffice JRE 警告,請確定是否需要 Java 功能,安裝相容的執行時間環境,並在進階選項中選擇它。

如何將 ONLYOFFICE Docs 與自訂 PHP 應用程式集成

如何將 ONLYOFFICE Docs 與自訂 PHP 應用程式集成

將 ONLYOFFICE Docs 連接到自訂 PHP 應用程序,並具有安全的文件 URL、已簽署的編輯器配置、JavaScript API 和保存回調。

如何設定 Collabora Online 的管理員控制台密碼

如何設定 Collabora Online 的管理員控制台密碼

為 Linux 軟體套件或 CODE Docker 部署設定 Collabora Online 管理控制台密碼,然後驗證登入並保護管理端點。