使用儲存加密保護靜態 Collabora CODE 文檔

在使用 Collabora 線上開發版 (CODE) 時,若要對靜態文件進行加密,請在文件儲存平台或底層磁碟上啟用加密,而不是在 CODE 編輯器中啟用。 Collabora 開啟由 WOPI 儲存主機提供的文檔,而主機負責保護已儲存的副本。最終結果是:儲存內容已加密,編輯過程已完成,並且文件可恢復。

確定實際儲存檔案的系統。

典型的部署方案使用 Nextcloud 或其他與 WOPI 相容的服務進行文件存儲,並使用 CODE 進行基於瀏覽器的編輯。在授權的編輯會話期間,文件會在這些元件之間傳輸;啟用 HTTPS 可以保護該連接,但不會加密儲存的副本。 Collabora 的安全概述將儲存描述為整合控制,而其伺服器配置範本則詳細說明了 WOPI、TLS 以及可選的快取和隔離設定。

在進行任何變更之前,請記錄 WOPI 主機寫入文件檔案的位置、它使用的是本機磁碟還是外部物件存儲,以及 CODE 本身的運作位置。記錄的內容應包括備份、快照、預覽、交換分區和容器磁碟區:主目錄以外的副本可能未受保護。

選擇與風險相符的加密方式。

對於 Linux 伺服器本機磁碟上的文檔,磁碟或磁碟區加密(例如 LUKS)通常是最直接的選擇。它可以在卷鎖定時保護底層存儲,包括防止斷電硬碟被盜。 Ubuntu 的全碟加密文件將 LUKS 描述為區塊級加密,而不是應用程式設定。請使用新的加密磁碟區或經過測試的遷移:初始化 LUKS 可能會破壞現有資料。

如果 Nextcloud 將檔案儲存在第三方儲存上,且儲存供應商無法讀取檔案內容,那麼 Nextcloud 伺服器端加密 (SSE) 可能更適合。它會在將檔案儲存到後端儲存之前對其進行加密。加密金鑰保留在 Nextcloud 中,因此即使伺服器或管理員遭到入侵,也可以存取解密後的檔案。 Nextcloud 建議考慮對本機儲存進行磁碟加密。

如果連應用程式管理員都必須無法讀取文檔,那麼無論是解鎖磁碟加密還是普通的SSE加密都無法滿足此要求。請評估受支援的用戶端或端對端加密工作流程,並確認瀏覽器編輯功能仍然可用;不要想當然地認為所有加密文件都可以在CODE中協作開啟。

在儲存主機上啟用加密

選項 A:加密本機卷

對於新的 Linux 部署,在匯入文件之前,請先將文件資料和相關服務卷配置到加密儲存體上。將解鎖金鑰和復原資訊保存在伺服器外部,限制管理員存取權限,並測試重新啟動或解鎖流程。對於現有系統,請驗證備份並在停機期間進行遷移。與雲端服務提供者一起配置雲端磁碟區或物件儲存的加密。

用於lsblk -f識別區塊設備類型以及findmnt -T /path/to/document/data支援實際資料目錄的檔案系統。檢查從資料目錄到加密裝置的路徑:cryptsetup僅安裝不會加密檔案系統。

選項 B:啟用 Nextcloud 伺服器端加密

如果 Nextcloud SSE 適用,請遵循其伺服器端加密指南。在進行任何變更之前,請備份 Nextcloud 設定、資料庫、檔案和加密金鑰。在加密內容之前,請確定金鑰模式;目前指南將伺服器控制的主金鑰描述為大多數部署的預設設定。

  1. 在「應用程式」中啟用Nextcloud 預設加密模組,然後在管理設定中啟用伺服器端加密,或使用文件中記錄的occ命令。
  2. 在傳統的 Linux 系統中,請以 Web 伺服器帳戶從 Nextcloud 安裝目錄執行命令:sudo -E -u www-data php occ app:enable encryption,然後sudo -E -u www-data php occ encryption:enable。根據您的打包方式調整使用者和執行方法;Docker 部署使用對應容器內的命令。
  3. 運行sudo -E -u www-data php occ encryption:status以確認該功能和所選模組。請勿將啟用標誌解讀為所有現有文件均已加密。
  4. 安排一個維護窗口,禁止使用者存取文件,並執行命令sudo -E -u www-data php occ encryption:encrypt-all來處理已存在的文件。此操作可能需要一些時間,官方加密命令參考文件指出,該命令會管理維護模式,並且需要互動式終端。

SSE 會排除檔案名稱、資料夾、已存在的回收站檔案、部分舊版本、縮圖、預覽圖、搜尋索引以及某些應用程式資料。如有需要,請單獨保護排除的項目。請保護加密金鑰的備份;遺失關鍵金鑰或實例金鑰可能會導致永久性復原失敗。

保護 CODE 的主機並確保編輯路徑安全

即使 WOPI 主機對儲存的文件進行加密,也應獨立評估 CODE 伺服器。 Collabora 將主動文檔處理描述為面向記憶體的,並且並未將 CODE 定位為永久文檔儲存庫。但是,已發布的coolwsd.xml範本包含可選的隔離和快取文件設置,因此應檢查實際部署情況,而不是假設所有臨時工件都不存在。使用適當的加密或保留控制措施來保護容器運行時儲存、掛載磁碟區、系統交換空間、崩潰轉儲和備份。

瀏覽器、CODE 和 WOPI 服務之間應保持 HTTPS 連接,並限制哪些 WOPI 主機可以連接。 Nextcloud 的Office 設定文件建議將 WOPI 請求限制在預期的 Collabora 伺服器 IP 位址範圍內。這些存取控制措施並不能取代靜態加密,但它們有助於防止加密儲存系統將明文交給未經授權的編輯者。

不要為了圖方便而將 Collabora 的本機檔案系統儲存模式用於生產環境;其官方 SDK 將檔案系統儲存描述為僅供測試使用的選項,並建議使用 WOPI。請保留正常的儲存集成,以確保授權和保存行為的一致性。

檢查結果是否夠好

使用一個非敏感的範例文件進行驗收測試。透過儲存服務上傳該文件,在 CODE 中開啟它,編輯一行,儲存,關閉編輯器,然後重新開啟。如果往返操作成功,則表示編輯功能仍然有效;但這並不能證明靜態加密有效。

  • 儲存驗證:驗證實際文件目錄是否解析到預期的加密卷,或者儲存服務是否報告了預期的加密配置。對於 SSE,使用受控測試和授權的後端存取權限,檢查在沒有儲存應用程式金鑰的情況下,後端儲存的資料是否無法讀取。
  • 舊文件覆蓋率:確認遷移已encryption:encrypt-all成功完成;不要只測試新上傳的文件。
  • 輔助副本:檢查備份、快照、預覽資料、日誌和 CODE 主機儲存是否符合相同的保護要求。
  • 可恢復性:在單獨的測試環境中恢復樣本及其所需的密鑰,然後確認文件可以透過 CODE 開啟和保存。

如果儲存提供者或應用程式必須無法解密內容,如果受保護的資料類別位於加密邊界之外,或者如果無法證明金鑰恢復,則應採用其他方法。靜態加密主要限制因儲存遺失和未經授權的後端讀取而造成的風險;它本身無法阻止被入侵的即時伺服器、授權使用者下載檔案或被盜帳戶讀取已開啟的文件。

留下評論

使用儲存加密保護靜態 Collabora CODE 文檔

使用儲存加密保護靜態 Collabora CODE 文檔

透過加密儲存層、保護臨時資料以及驗證加密和恢復,確保在 Collabora CODE 中編輯的檔案安全。

使用正確的鏡像在 ARM64 上執行 Collabora 程式碼

使用正確的鏡像在 ARM64 上執行 Collabora 程式碼

檢查您的主機架構,確認 CODE 標籤發布的是 ARM64,移除強制 AMD64 設置,並將映像錯誤與權限或記憶體問題區分開來。

將 Collabora Online 連接到 ownCloud Infinite Scale

將 Collabora Online 連接到 ownCloud Infinite Scale

在 Collabora Online 和 ownCloud Infinite Scale 之間建立 WOPI 連接,配置正確的服務 URL,並驗證文件編輯是否儲存。

透過 WOPI 在 Collabora CODE 中匯出區塊文件

透過 WOPI 在 Collabora CODE 中匯出區塊文件

透過設定 WOPI DisableExport 權限來阻止 Collabora Online CODE 中的文件匯出,然後驗證主機和編輯器是否強制執行該權限。

將 Collabora 部署在 Nginx 後面而不破壞 WebSocket

將 Collabora 部署在 Nginx 後面而不破壞 WebSocket

設定 Nginx TLS 終止、Collabora 路由和 WebSocket 標頭,然後在開啟真實文件之前測試公共端點。

停止程式碼編輯會話在 10 分鐘時結束

停止程式碼編輯會話在 10 分鐘時結束

追蹤 10 分鐘 CODE 斷開連線的原因,找到其代理程式、負載平衡器或 WebSocket 路徑,然後修正逾時問題並驗證會話是否保持連線。

使用 Helm 在 Kubernetes 上部署 Collabora CODE

使用 Helm 在 Kubernetes 上部署 Collabora CODE

安裝官方 Collabora Helm chart,配置 WOPI 存取和入口親和性,並驗證部署是否正確,避免常見的設定錯誤。

將空白的 Collabora 文件追蹤到故障層

將空白的 Collabora 文件追蹤到故障層

使用瀏覽器請求、WOPI 日誌和有針對性的代理檢查來找出 Collabora 開啟空白文件的原因,並選擇符合證據的修復方案。

在 Collabora Online CODE 中啟用多語言拼字檢查

在 Collabora Online CODE 中啟用多語言拼字檢查

正確配置 CODE Docker 字典並標記文件段落,以便英語、法語和其他受支援的語言獲得正確的拼字檢查。

設定 Collabora 的活動文件視圖空閒計時器

設定 Collabora 的活動文件視圖空閒計時器

在 coolwsd 中調整每個視圖的非活動閾值,並將其與後台標籤頁變暗、文件卸載、自動儲存和登入過期區分開來。