要求 Nextcloud 用戶啟用雙重認證

若要在 Nextcloud 中強制執行雙重認證 (2FA),請先啟用至少一個 2FA 提供程序,然後在「管理設定」→「安全性」中啟用強制執行,或使用occ twofactorauth:enforce相應的命令。提供者是指提供第二重身份驗證的方法,例如身份驗證器應用程式發送的一次性程式碼。強制執行會將 2FA 應用於您選擇的範圍;僅安裝提供者並不會強制執行。這些步驟遵循目前的 Nextcloud 35 管理手冊。

了解執法方面的變更

Nextcloud 將身分驗證提供者的可用性與雙重認證 (2FA) 的啟用要求分開。管理員首先啟用某個身分驗證提供者;然後使用者在其帳戶上啟動相應的驗證方式,或管理員強制執行 2FA,使用者必須完成設定。內建的 TOTP 驗證提供者支援由相容的身份驗證器應用程式產生的基於時間的驗證碼。在 Nextcloud 35 中,提供者已安裝但預設為停用狀態。備份代碼提供者始終啟用,並為用戶提供一次性恢復代碼。

在對大型用戶群組啟用某項要求之前,請先確定該要求是適用於所有帳戶還是僅適用於試點用戶群組。同時,請明確服務管理員帳戶、整合管理員帳戶和緊急管理員帳戶。過於寬泛的規則可能會中斷尚未註冊或無法聯繫到其授權方的使用者的存取權限。 Nextcloud 官方指南詳細介紹了使用者群組的選擇和排除;如果使用者同時屬於某個排除使用者群組,則以所選使用者群組的成員資格為準。在應用程式策略前,請務必檢查使用者群組的成員資格。

制定提供者和恢復路徑

  1. 以 Nextcloud 管理員身分登入並開啟「應用」。如果您打算使用驗證碼,請啟用雙重 TOTP 提供者。不同伺服器版本和主題的選單佈局可能略有不同。
  2. 請確保備用驗證碼提供者可用。請一位試點用戶開啟個人設置,配置第二重驗證,並產生備用驗證碼。 Nextcloud 使用手冊建議將一次性驗證碼儲存在安全且與身份驗證器裝置分開的地方。
  3. 在單獨的瀏覽器工作階段中測試該使用者的登入:登出,重新登錄,並驗證雙重驗證提示是否接受有效的驗證碼。如果您的使用者依賴桌面或行動用戶端,也請檢查他們的登入流程。 Nextcloud 指出,無法處理雙重驗證的用戶端可能需要設備專屬密碼。

請勿在未做好遷移計劃的情況下停用或卸載用戶已註冊的提供者。管理員手冊警告稱,Nextcloud 會保留提供者關聯;移除應用程式可能會導致用戶在登入時看到「不可用因素」警告。如果永久移除某個提供者,請參考文件中的清理步驟,並了解此操作不可逆。

在管理員介面中強制執行雙重認證

  1. 開啟管理設定 → 安全性。
  2. 找到雙重認證強制執行控制項。選擇是否在系統範圍內強制執行雙重認證,選擇必須使用雙重認證的群組,並僅在策略需要時新增排除項。
  3. 如果介面提供了保存控件,請儲存或套用該設置,然後測試強制範圍內的普通帳戶和範圍外的帳戶。

如果未選擇任何群組,Nextcloud 將對除已排除群組成員之外的所有使用者強制執行雙重認證 (2FA)。如果選擇了群組,則會對這些群組的成員強制執行 2FA。當使用者同時屬於已選取群組和已排除群組時,以已選群組為準,因此 2FA 要求仍然適用。鑑於這些規則,在啟用強制執行之前,請務必檢查嵌套或同步的群組成員關係。

當您需要可重複使用的政策時,請使用 occ。

occ是 Nextcloud 的命令列管理工具。請以 Web 伺服器使用者的身份,從 Nextcloud 安裝目錄執行命令;使用者和路徑可能會因安裝方式而異。以下範例使用文件中提到的 Debian 或 Ubuntu 風格的帳戶www-data。

# Enforce 2FA for every user
sudo -E -u www-data php occ twofactorauth:enforce --on

# Enforce for selected groups, with a service-account exclusion
sudo -E -u www-data php occ twofactorauth:enforce --on \
  --group=staff --group=admins --exclude=service-accounts

# Check a user's 2FA state
sudo -E -u www-data php occ twofactorauth:state alex

請將群組 ID 和使用者 ID 替換為伺服器上實際存在的值。範例策略對 `<group_id>` 和 ` staff<user_id>`的成員強制執行雙重認證 (2FA) admins;但並非建議普遍排除服務帳戶。只有在確定帳戶的身份驗證方式以及相應的保護措施後,才能排除該帳戶。 Nextcloud 文件中--off提供了停用強制執行的方法,但請將其作為計劃內的回滾措施,而不是替代測試:

sudo -E -u www-data php occ twofactorauth:enforce --off

請參閱 Nextcloud 35 官方使用者和群組命令參考文檔,以了解當前語法。容器化、snap 和其他安裝方式可能需要不同的命令前綴或執行上下文;請遵循您的部署說明,而不是直接複製範例。

驗證部署情況並避免系統鎖定

使用對應工具檢查代表性使用者的強制執行狀態occ twofactorauth:state <uid>。然後,測試已強制執行使用者的正常瀏覽器登錄,並確認 Nextcloud 是否需要已配置的因素​​。只有當例外情況是故意為之時,才驗證被排除的使用者。妥善保管恢復程式碼,並確保管理員在擴展策略之前了解已記錄的復原路徑。

如果使用者遺失了雙重認證 (2FA) 驗證碼,Nextcloud 會提供一個特定於提供者的管理命令,用於停用該使用者的 2FA(前提是該提供者支援此功能)sudo -E -u www-data php occ twofactorauth:disable <uid> <provider_id>。這是一種恢復措施,並非降低所有使用者的 2FA 強制執行。官方手冊還介紹了一個獨立的雙重認證管理支援應用程序,該應用程式可以在支援的情況下發放一次性登入驗證碼。在使用前,請務必確認您安裝的 Nextcloud 版本和提供者是否支援此功能。

如需了解完整詳情,請參閱Nextcloud 35 管理員指南中的雙重認證部分以及Nextcloud 35 使用者指南中的註冊和備份程式碼部分。提供者的可用性和確切的介面標籤可能取決於您的 Nextcloud 版本和已啟用的應用,因此在為所有使用者強制執行雙重認證之前,請先在您的執行個體上確認這些資訊。

留下評論

設定 Nextcloud LDAP 和 Active Directory 登入

將 Nextcloud 連接到 LDAP 或 Active Directory,使用使用者和群組過濾器限制訪問,並在部署前驗證安全性驗證。

要求 Nextcloud 用戶啟用雙重認證

啟用受支援的 2FA 供應商,準備帳戶恢復,然後要求所有人或選定的 Nextcloud 群組進行雙重認證。

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

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

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

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

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

將 Collabora Online 連接到 ownCloud Infinite Scale

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

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

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

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

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

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

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

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

使用 Helm 在 Kubernetes 上部署 Collabora CODE

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

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

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

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