今すぐできる、WordPressサイトへの2要素認証導入

4月 21, 2015 Computer, Development, Security
(Last Updated On: 2018年8月14日)

このブログもWordPressです。パスワードの辞書攻撃、ブルートフォース攻撃を思われるアクセスが大量にあります。WordPressへの2要素認証導入はプラグインのインストールだけでできます。

開発者向けの2要素認証導入もブログに書いています。開発者の方は早めに自分のサイト/サービスに2要素認証を導入することをお勧めします。

 

2要素認証導入の準備

2要素認証(2段階認証、多要素認証とも呼ばれている)を導入するには、一時的なパスワードを生成するデバイスが必要です。「一時的なパスワードを生成するデバイス」というと難しく感じるかも知れませんが、スマホユーザーならGoogle認証アプリをインストールするだけです。

Screenshot from 2015-04-21 15:13:24

Google認証はAndroid, iPhone, Blackberryをサポートしています。まだインストールしていない方はインストールしてください。

2要素認証に慣れていない方はGoogleのドキュメントが参考になります。2要素認証とは何か理解してから設定すると良いです。要するに固定のパスワードとは別に一時的に生成される別のパスワードを使ってログインできるようにする仕組みが2要素認証です。※

※ Googleアカウントの場合、SMSや電話を使った認証もできますが、WordPressのアカウントはGoogleアカウントとは無関係なので利用できません。

 

WordPressへの2要素認証プラグインのインストール

Google認証をサポートしているプラグインには

などがあります。このブログにはGoogle Authenticator for WordPressを利用しています。どちらが良いかは評価していません。最初に試したプラグインがこちら※だったので使用しています。 Google Authenticatorの方が良い場合、コメントを頂けると助かります。

※WordPressのアップグレードは速いので、人気のプラグインでより最近メンテナンスされている物、という基準で選びました。

 

Google Authenticator for WordPressの設定

プラグインをインストールするだけでは2要素認証は有効になりません。2要素認証の設定は安全なネットワークから行います。安全でないネットワークから設定すると秘密情報が漏れる可能性があります。まずサイトの”設定”メニューからAuthenticatorを設定画面を表示します。

“Activate Plugin”のyesチェックボックにチェックを付けて設定を保存したのち、ユーザー毎に設定が必要です。

“Site Name”には自分のサイトの名前を入れるとGoogle認証で見た時に、そのサイトの一時パスワードが分かり易くなります。必ず設定しましょう。

 

screenshot-1

 

”ユーザー”メニューからユーザー一覧を表示し、特定のユーザーを選択します。ユーザー名、パスワードなどの設定情報の下の方にプラグイン設定が追加されています。

“Activate”チェックボタンにチェックします。先に進む前にここで設定を保存しておきましょう。

“Get QR Code”ボタンを押すとQRコードが表示されます。

 

screenshot-2

 

下のようなQRコード(このコードはダミーです)が表示されます。Google認証アプリを起動し、「設定」メニューから「アカウントを設定」を選択します。「バーコードをスキャン」を選んで、下のようなQRコードを読み取ります。

 

chart

 

読取に成功すると次の画面のように、新しく一時的なパスワードが表示されます。

 

google-authenticator

 

これで2要素認証が有効になります。

最後に”Recovery Code”を取得し、どこか安全な場所に保存しておきましょう。携帯電話が壊れたり、無くした時に必要になります。

 

動作確認

2要素認証が正しく動作するか、必ず確認してください。動作確認の為に”別のブラウザ”を開き、管理ページの開きます。

ユーザー名、パスワードの下に新しく”Google Authenticator”が追加されています。ユーザー名、パスワード、Google認証に表示されている一時的なパスワードを”Google Authenticator”のフィールドに入力します。ログインボタンを押してログインできたら正しく動作しています。

Screenshot from 2015-04-21 12:40:19

 

これで2要素認証がWordPressで使えるようになりました。パスワードのみの保護に比べ、格段に安全性が増します。

もしログインできなかったら何らかの問題があります。問題が解決しない場合、”Activate”のチェックボックスを外して2要素認証を無効にして設定を保存してください。そうしないとログインできなくなります。ログインできない原因は”サーバーの時計”がズレている事がほとんどです。サーバーの時計はNTP ※ を使って正確に合わせましょう。

※ NTPは時刻を合わせるプログラムです。

 

Google Authenticator for WordPressの注意点

このブログを書いている時点では秘密にしておくべき”Secret”キーがユーザー情報のページに表示されています。これはデフォルトでは表示されなくなるようですが、表示されている間は信頼できないネットワーク環境では十分に保護されません。ご注意ください。

2要素認証を有効にしても、WordPressにログインする場合は信頼できるネットワークでログインするようにしてください。自分のノートパソコンなどの場合、”ログイン状態を保存する”にチェックして、ログインした状態から仕様する方が安全です。信頼できないネットワークでログインするとパスワードが盗まれる可能性があります。パスワードが盗まれて安全にするための2要素認証ですが、パスワードが盗まれるとセッションハイジャックとパスワードの利用による秘密情報(SecretやRecovery Code)が漏洩します。パスワードも盗まれないように注意しなければなりません。

 

さいごに

WordPressに2要素認証を導入するのは簡単です。まだ導入していない知り合いが居たら勧めてください。このブログはさっと書いたので解りずらい部分があるかも知れません。間違いの指摘、解りずらいなど、コメント歓迎します。

Googleアカウントを持っている方でまだ2要素認証(2段階認証)を有効にしていない方はついでに有効化すると良いです。

 

投稿者: yohgaki