Roundcube: Google二段階認証プラグイン

導入メモ。

環境

  • FreeBSD 14.1
  • Roundcube 1.6.7

インストール

twofactor_gauthenticatorインストール

二段階認証プラグインはいくつかあるけれども、一番使われているalexandregz/twofactor_gauthenticatorを入れることにした。

gitでコードをpluginsディレクトリにインストールする。

# cd /usr/local/www/roundcube/plugins
# sudo -u www git clone https://github.com/alexandregz/twofactor_gauthenticator.git

twofactor_gauthenticator設定

config.inc.php.distをコピーして使用する。

# /usr/local/www/roundcube/plugins/twofactor_gauthenticator
# sudo -u www cp config.inc.php.dist config.inc.php

config.inc.phpをエディタで開いて編集する。

二段階認証を全員に強制したい場合には、$rcmail_config['force_enrollment_users']にtrueを設定する。デフォルトではfalse。

特定のホストやネットワークからのログイン時に二段階認証を無効にしたい場合、$rcmail_config['whitelist']の配列にそのアドレスを指定する。特に例外を設けない場合には、設定行を削除する。

二段階認証の入力フィールドを、パスワード欄のように入力内容をマスクしたい場合には、$rcmail_config['twofactor_formfield_as_password']にtrueを設定する。デフォルトではfalse。

二段階認証を特定のユーザに限定して利用許可したい場合には、$rcmail_config['users_allowed_2FA']の配列にそのユーザ名を指定する。全員に利用許可したい場合には、この設定行を削除する。

ログイン失敗時にログを残したい場合、$rcmail_config['enable_fail_logs']をtrueにする。デフォルトではfalse。

$rcmail_config['force_enrollment_users'] = false;
$rcmail_config['allow_save_device_30days'] = true;
$rcmail_config['twofactor_formfield_as_password'] = false;
$rcmail_config['enable_fail_logs'] = true;

二段階認証設定

ワンタイムパスワードの生成と入力に1Passwordを使用する場合。

Roundcube設定

プラグインのインストールが完了すると、ユーザの設定画面に「Google二段階認証」の項目が表示されるようになる。

二段階認証を有効にするには、次の設定を行う。

  • 設定からGoogle二段階認証を選択
    二段階認証の設定画面を表示する
  • 「全フィールド設定(保存必要)」ボタンをクリック
    設定画面の下の方にある「全フィールド設定(保存必要)」ボタンをクリックすると、秘密鍵などのフィールドが自動で入力される
  • リカバリーコードを保存
    リカバリーコードを忘れないよう保存しておく
  • 二段階認証用のワンタイムパスワードを確認
    二段階認証アプリの設定を行い、設定がきちんとできているか確認するために、アプリに表示されるワンタイムパスワードを「コードチェック」の右側のフィールドに入力して、「コードチェック」ボタンをクリックする
  • 「保存」ボタンをクリック
    二段階認証用アプリの設定に成功したことを確認してから、「保存」ボタンをクリックする。

二段階認証を一時的に無効にしたい場合には、設定画面上部にある「有効」のチェックをはずして「保存」ボタンをクリックする。

1Passwowrd設定

二段階認証用のワンタイムパスワードを使用するには、1Passwordで次のように設定する。

  • Roundcubeのログイン情報を編集
    「さらに追加」で「ワンタイムパスワード」を選択してフィールドを追加
  • QRコード読み取りのアイコンをクリック
    QRコード読み取り用のアイコンは、追加したフィールド内にある。PC上の1PasswordからQRコードを読み込ませる場合、ブラウザ上に表示されているものを自動で読み取る。画面上にQRコードが表示されていなくてもかまわない。たとえ別のウィンドウが上にあって隠れていても、ブラウザ上に表示されてさえいれば、自動で読み込む
  • ワンタイムパスワードをコピーして確認
    表示されているワンタイムパスワードをコピーし、Roundcube設定画面にある「コードチェック」の欄に貼り付けてから「コードチェック」ボタンをクリック。OKなら設定完了して保存

これで、ブラウザ上に1Passwordがワンタイムパスワードを自動入力して、二段階認証を使ったログインができるようになる。

参考

タイトルとURLをコピーしました