WordPress.orgにあるTwo-Factorの説明ページには、設定方法の最初に「2要素認証は、ユーザーが一人ずつ自分で設定する必要がある」と書かれています。
プラグインを有効にしただけでは、ログインの方法は何も変わりません。管理者が「全員に2要素認証を使わせる」スイッチもありません。この前提を知らずに入れると、守ったつもりで誰も設定していなかった、ということになります。
テストサイトに最新版(0.17.0)を入れて、設定からログインの画面まで試しました。
2要素認証とは
2要素認証は、パスワードのほかに、もう1つ別の種類の確認を求めるログインの方法です。
- 知っているもの:パスワード
- 持っているもの:スマートフォンの認証アプリ、メールを受け取れるアドレス、紙に控えたコード
パスワードが漏れても、「持っているもの」がなければログインできません。パスワードを2回入れるような「同じ種類の確認を2回」とは違う点が、2要素認証の強みです。
Two-Factorとは
Two-Factorは、WordPressのログインに2要素認証を追加するプラグインです。10万以上のサイトで使われていて、管理画面は日本語で表示されます。
| 確認の方法 | しくみ |
| 認証アプリ(おすすめ) | スマートフォンの認証アプリ(Google Authenticator、Microsoft Authenticatorなど)に出る6桁の数字を入れる |
| メール | ログインのたびに、登録したメールアドレスへ届く確認コードを入れる |
| リカバリコード(おすすめ) | あらかじめ10個のコードを発行して控えておき、1個ずつ使う。スマートフォンをなくしたときの予備 |
以前のバージョンにあった、USBのセキュリティキー(FIDO U2F)で確認する方法は、今のバージョンには入っていません。セキュリティキーや指紋などでログインしたいときは、パスキーのプラグインを使います。
Two-Factorの使い方

管理画面から「Two-Factor」を検索してインストールするか、下のボタンからもダウンロード可能です。プラグインファイルを wp-content/pluginsディレクトリにアップした後、管理画面から有効化してください。
1. 認証アプリを設定する
「ユーザー」→「プロフィール」を開くと、下のほうに「2要素認証の設定」が追加されています。

認証アプリを使うときは、スマートフォンの認証アプリで②のQRコードを読み取り、アプリに出た6桁の数字を下の「認証コード」に入れて「検証」を押します。これで①の「認証アプリを有効化」が使える状態になります。
2. リカバリコードを発行する
スマートフォンをなくしたり、機種を変えたりすると、認証アプリの数字が見られなくなります。そのときの予備がリカバリコードです。

「新しいリカバリコードを生成」(①)を押すと、10個のコード(②)が表示されます。「コードをコピー」「コードをダウンロード」(③)で控えておきます。このページを離れると、同じコードは二度と表示されません。
3. 使う方法を選んで保存する
使う方法にチェックを入れ(①②)、ログインのときに最初に使う方法を「メイン認証方法」(③)で選んで、「プロフィールを更新」を押します。

説明欄には、メインの方法に加えて、リカバリコードなどの予備の方法も設定しておくように書かれています。メインだけだと、スマートフォンをなくしたときに自分でもログインできなくなります。
4. ログインしてみる
今回はメールを有効にして、ログインし直してみました。ユーザー名とパスワードの確認が済むと、管理画面の前にこの画面が表示されます。

登録したメールアドレスに、確認コードが届いていました。

メールに書かれたコード(①)を、確認コードの画面の欄(①)に入れて「検証」を押すと、管理画面に進みます。コードの有効期限は15分です(②)。メールが届かないときは、確認コードの画面の「コードを再送信」(②)で送り直せます。
メールには、ログインしようとしたIPアドレスとユーザー名も書かれています。自分がログインしていないのにこのメールが届いたら、パスワードが漏れているということなので、すぐにパスワードを変えます。
サイトで使う方法を絞る
管理者は「設定」→「Two-Factor」(2要素認証の設定)の「有効なプロバイダ」で、サイトで使える方法を選べます。たとえば、メールを外して「認証アプリとリカバリコードだけ」にできます。初期設定では、すべての方法が使えます。
ただし、ユーザーごとに設定させる、という仕組みは変わりません。全員に使ってほしいときは、ユーザーに頼んで設定してもらい、プロフィール画面で設定できているかを確かめます。
気をつけること
- メールの方法は、メールが届くことが前提:WordPressのメールが届かないサイトでは、コードが届かず、自分も締め出されます。先にメールが届くことを確かめておきます。
- 外部のツールとつなぐときはアプリケーションパスワード:2要素認証を有効にすると、REST APIやXML-RPCでは通常のパスワードが使えなくなります。外部のツールやアプリからつなぐときは、プロフィール画面の「アプリケーションパスワード」を発行して使います。
- 締め出されたら:リカバリコードもなくしてしまったときは、FTPやサーバーのファイルマネージャーで two-factor のフォルダ名を変えると、プラグインが止まり、パスワードだけでログインできます。
問い合わせフォームから送ったはずの通知メールが、どこにも届いていない。迷惑メールフォルダにも見当たらない。 WordPressは、初期設定のままだとサーバーのPHPから直接メールを送ります。送信元のアドレスは「wordpress@サイトのドメイン」。実在しないこともあるこのアドレスから、送信の認証...
まとめ
Two-Factorで手間がかかるのは、プラグインを入れるところではなく、ユーザー一人ひとりに設定してもらうところです。
まず管理者の自分が、認証アプリとリカバリコードを設定します。コードを控えたら、ほかの管理者や編集者にも同じ手順を頼みます。最後に、全員のプロフィール画面を開いて、設定が済んでいるかを確かめれば完了です。
ログインまわりのほかの対策は、こちらの記事でまとめています。
デフォルト設定(初期状態)のままのWordPressサイトでは、ユーザー名が漏えいしている可能性があります。そのまま放置していると、不正ログインのリスクが高まります。 そこで当記事では、見落としやすい3つのリスク(ログインページ、投稿者情報、REST API)と対策をご紹介します。 ...
WordPressテーマ集










