Nextcloudユーザーに二段階認証を必須にする

Nextcloudで二要素認証(2FA)を強制するには、まず少なくとも1つの2FAプロバイダーを有効にし、次に「管理設定」→「セキュリティ」で強制を有効にするか、occ twofactorauth:enforceコマンドを使用します。プロバイダーとは、認証アプリからのワンタイムコードなど、2つ目の本人確認情報を提供する方法です。強制を有効にすると、選択したスコープで2FAが必須になります。プロバイダーをインストールするだけでは必須にはなりません。これらの手順は、最新のNextcloud 35管理マニュアルに準拠しています。

どのような執行変更があるかを知る

Nextcloud では、プロバイダーの可用性と 2FA の使用要件は分離されています。まず管理者がプロバイダーを有効にし、次にユーザーがアカウントで認証方法を有効化するか、管理者が 2FA を強制してユーザーが設定を完了する必要があります。組み込みの TOTP プロバイダーは、互換性のある認証アプリによって生成される時間ベースのコードをサポートしています。Nextcloud 35 ではインストールされていますが、デフォルトでは無効になっています。バックアップコードプロバイダーは常に有効になっており、ユーザーにワンタイムの復旧コードを提供します。

大規模グループに対する要件を有効にする前に、それがすべてのアカウントに適用されるのか、パイロットグループのみに適用されるのかを決定してください。また、サービス管理者、統合管理者、緊急管理者アカウントも特定してください。広範なルールは、まだ登録していないユーザーや認証ポイントにアクセスできないユーザーのアクセスを妨げる可能性があります。Nextcloud の公式ガイドでは、グループの選択と除外について説明しています。ユーザーが除外グループにも属している場合は、選択されたグループのメンバーシップが優先されます。ポリシーを適用する前に、メンバーシップを確認してください。

プロバイダーと回復経路を準備する

  1. Nextcloud管理者としてサインインし、「アプリ」を開きます。認証コードを使用する場合は、二要素認証(TOTP)プロバイダーを有効にしてください。メニューのレイアウトは、サポートされているサーバーのバージョンやテーマによって若干異なる場合があります。
  2. バックアップコードプロバイダーはいつでも利用できる状態にしておいてください。パイロットユーザーに個人設定を開いてもらい、二段階認証を設定してバックアップコードを生成してもらいます。Nextcloudのユーザーマニュアルでは、ワンタイムコードは認証デバイスとは別の安全な場所に保管することを推奨しています。
  3. 別のブラウザセッションでそのユーザーのサインインをテストしてください。一度サインアウトし、再度サインインして、2要素認証のプロンプトで現在のコードが受け入れられることを確認してください。ユーザーがデスクトップまたはモバイルクライアントを使用している場合は、それらのサインインフローも確認してください。Nextcloudは、2要素認証に対応していないクライアントでは、デバイス固有のパスワードが必要になる場合があると指摘しています。

移行計画を立てずに、ユーザーが既に登録済みのプロバイダを無効化またはアンインストールしないでください。管理者マニュアルには、Nextcloud はプロバイダの関連付けを保持するため、アプリを削除すると、ログイン時に利用不可の警告が表示される可能性があると記載されています。プロバイダを完全に削除する場合は、ドキュメントに記載されているクリーンアップ手順を参照し、元に戻せないことを理解してください。

管理者インターフェースで2要素認証を強制する

  1. 管理設定 → セキュリティを開きます。
  2. 二要素認証の適用設定を確認してください。システム全体で二要素認証を適用するかどうかを選択し、二要素認証を使用する必要のあるグループを選択し、ポリシーで必要な場合にのみ除外設定を追加できます。
  3. インターフェースに保存コントロールが表示されている場合は、設定を保存または適用し、その後、適用範囲内の通常のアカウントと適用範囲外のアカウントでテストしてください。

グループが選択されていない場合、Nextcloud は除外グループのメンバーを除くすべてのユーザーに対して 2 要素認証 (2FA) を適用します。グループを選択した場合は、選択したグループのメンバーに対して 2FA を適用します。ユーザーが選択したグループと除外グループの両方に属している場合は、選択したグループが優先されるため、要件は引き続き適用されます。これらのルールにより、適用を有効にする前に、ネストされたグループや同期されたグループのメンバーシップを確認することが重要になります。

繰り返し可能なポリシーが必要な場合は、occを使用してください。

occNextcloud のコマンドライン管理ツールです。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を、サーバーに存在する値に置き換えてください。このポリシー例では、staffおよびのメンバーに対して2FAを強制していますadminsが、サービスアカウントを除外することは必ずしも推奨されるものではありません。アカウントを除外する場合は、認証方法と、それを保護する代替制御策を決定してからにしてください。Nextcloudのドキュメントに--offは強制を無効にする方法が記載されていますが、これはテストの代替手段としてではなく、計画的なロールバックとして使用してください。

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

最新の構文については、Nextcloud 35の公式ユーザーおよびグループコマンドリファレンスを参照してください。コンテナ化されたインストール、Snap、その他のインストールでは、異なるコマンドプレフィックスまたは実行コンテキストが必要になる場合があります。例をそのままコピーするのではなく、デプロイメントの手順に従ってください。

展開状況を確認し、ロックアウトを回避してください。

代表ユーザーの適用状態を確認するには、 を使用しますocc twofactorauth:state <uid>。次に、適用対象ユーザーで通常のブラウザログインをテストし、Nextcloud が設定済みの認証要素を必要とすることを確認します。除外されたユーザーについては、例外が意図的な場合にのみ検証してください。ポリシーを拡張する前に、リカバリーコードは保護し、管理者が文書化されたリカバリー手順を理解していることを確認してください。

ユーザーが認証要素を紛失した場合、Nextcloud はプロバイダが対応している場合、そのユーザーの 2FA を無効にするプロバイダ固有の管理コマンドを提供しますsudo -E -u www-data php occ twofactorauth:disable <uid> <provider_id>。これは復旧措置であり、すべてのユーザーに対する 2FA の適用を弱める方法ではありません。公式マニュアルには、サポートされている状況でワンタイムログインコードを発行できる別の Two-Factor Admin Support アプリについても記載されています。この方法を使用する前に、インストールされているバージョンとプロバイダに適した方法を確認してください。

詳細については、Nextcloud 35 管理者ガイドの二要素認証に関する説明と、Nextcloud 35 ユーザーガイドの登録およびバックアップコードに関する説明を参照してください。プロバイダーの利用可否および正確なインターフェースラベルは、Nextcloud のバージョンと有効になっているアプリによって異なる場合があるため、すべてのユーザーに 2FA を適用する前に、インスタンスで確認してください。

コメントを残す

Nextcloud LDAPとActive Directoryログインの設定

NextcloudをLDAPまたはActive Directoryに接続し、ユーザーおよびグループフィルタを使用してアクセスを制限し、展開前に安全な認証を検証してください。

Nextcloudユーザーに二段階認証を必須にする

サポートされている2要素認証プロバイダーを有効にし、アカウント復旧の準備を行った後、すべてのユーザーまたは選択したNextcloudグループに対して2要素認証を必須にします。

Collabora CODEの保存済みドキュメントをストレージ暗号化で保護する

Collabora CODEで編集されたファイルは、ストレージ層を暗号化し、一時データを保護し、暗号化と復元を検証することで安全に保護されます。

Collabora CODEをARM64上で正しいイメージを使って実行しましょう

Collabora CODEをARM64上で正しいイメージを使って実行しましょう

ホストアーキテクチャを確認し、CODEタグがARM64を公開していることを確認し、強制的に設定されているAMD64設定を削除し、イメージエラーを権限の問題やメモリの問題から切り離してください。

Collabora OnlineをownCloud Infinite Scaleに接続する

Collabora OnlineとownCloud Infinite Scale間のWOPI接続を設定し、適切なサービスURLを構成して、ドキュメントの編集内容が保存されることを確認します。

Collabora CODEにおけるWOPIを介したブロックファイルのエクスポート

Collabora Online CODEでドキュメントのエクスポートを防止するには、WOPIのDisableExport権限を設定し、ホストとエディタがその権限を適用していることを確認してください。

CollaboraをNginxの背後に配置してもWebSocketが壊れないようにする方法

CollaboraをNginxの背後に配置してもWebSocketが壊れないようにする方法

NginxのTLS終端、Collaboraのルート、およびWebSocketヘッダーを設定し、実際のドキュメントを開く前に公開エンドポイントをテストしてください。

コード編集セッションが10分で終了しないようにする

10分間のCODE切断の原因をプロキシ、ロードバランサー、またはWebSocketパスまで追跡し、タイムアウトを修正してセッションが接続された状態を維持することを確認してください。

Helmを使用してKubernetes上にCollabora CODEをデプロイする

Collabora公式Helmチャートをインストールし、WOPIアクセスとイングレスアフィニティを設定し、一般的な設定ミスがないかデプロイメントを確認します。

Collaboraの空白ドキュメントをトレースして、問題のあるレイヤーを特定する

Collaboraの空白ドキュメントをトレースして、問題のあるレイヤーを特定する

Collaboraが空白のドキュメントを開く理由を特定するために、ブラウザのリクエスト、WOPIログ、およびターゲットを絞ったプロキシチェックを使用し、証拠に合った修正方法を選択してください。