Drupal のサイトに Yubikey モジュールをインストールしてセキュリティを強化
最近、Google の二段階認証でも USBのセキュリティキーが使えるようになったとか。セキュリティキーは、僕も Yubikey を持ってて、昔運用しているサイトに使ってた。
このセキュリティを使えば、ID とパスワードの組み合わせに加えて ワンタイムパスワード による認証が利用できる。万が一パスワードが漏れてしまっても、この物理キーというかセキュリティキーが盗まれない限り大丈夫ということだ。
モジュールのインストールと設定
Yubikey モジュール をインストールし、設定画面で Yubikey の認証種別と API キーを登録する。
http://example.com/admin/config/yubikey/settings
まずは、Enable YubiKey authentication をチェックし、YubiKey の認証を有効にする。
Yubikey の認証種別は、YubiKey authentication scheme の欄で設定する。
- Password + YubiKey OTP(ワンタイムパスワード)
- (Username or yubiKey OTP) + Password
- YubiKey OTP only
- Username + Password + YubiKey OTP
から選べるが、やはり一番安全な 'Username + Password + YubiKey OTP' を選んだ。
API Key の設定は、バリデーションサービスで発行されたものを設定する。 自前でサーバを立てることも可能らしいが、Yubikey のサーバを利用することにした。
VALIDATION SERVICE URLS の Use Yubico online validation service を選択し、Yubico サイトで API Key を発行してもらう。
https://upgrade.yubico.com/getapikey/
'Your e-mail address:' 欄に自分の電子メールアドレスを入力し、'YubiKey one-time password:' の欄では Yubikey をタッチしてワンタイムパスワードを入力する。
ほんの 2,3秒ほど待つと、次の画面に変わるだろう(Client ID, Secret key には文字が表示されているが、安全のために消させていただいた)。
発行された Client ID を API ID に設定し、Secret key を API Key を設定する。
Drupal で構築したサイトと Yubico のサイトとの通信は、安全のために HTTPS にしておこう。 Use HTTPs にチェックを入れれば HTTPS で通信してくれる。
最後に、YUBIKEY E-MAIL SETTINGS の LOSS OF YUBIKEY REPORTED EMAIL の Recipients に管理者のメールアドレスを入力して、設定画面を保存する。
アカウントの設定
設定はこれだけではない。ここでログアウトせずに、自分の Yubikey の ID を登録する作業が残っている。この登録をしないと、 ログインできないサイトになってしまうので注意 していただきたい。
ユーザページ(ログインユーザの表示画面)https://example.com/user
から、 YubiKey identities タブを選択して、YubiKey の登録をおこなう。
YubiKey OTP 欄で Yubikey をタッチし、YubiKey ID を登録する。
これで設定は完了である。一旦ログアウトして、実際に YubiKey が使えるかどうか確認してみよう。
もし心配であれば、設定に使ったものとは違うブラウザ(例えば、Safari を使って設定したのであれば、Safari はログアウトせずに、Firefox や Chrome) でログインできることを確認し、万が一ログインできなかった時に慌てないようにしたほうがいいかもしれない。