2026年5月20日
2026年5月20日
WordPressの二段階認証を設定する方法
はじめに
パスワードが漏洩しても二段階認証(2FA)があれば不正ログインを防げます。WordPressでは無料プラグインで簡単に2FAを導入できます。管理者アカウントには必ず設定することを推奨します。
推奨プラグイン
Two Factor(WordPress公式)
# インストール・有効化
wp plugin install two-factor --activate
設定手順:
1. 管理画面 → ユーザー → プロフィール
2. 「Two-Factor Options」セクションに移動
3. 「Time Based One-Time Password (TOTP)」を有効化
4. QRコードをGoogle Authenticator / Authy でスキャン
5. 認証コードを入力して確認
WP 2FA(より多機能)
wp plugin install wp-2fa --activate
# 設定ウィザードが自動的に起動
特定ユーザーロールに2FAを強制する
// functions.php — 管理者に2FAを強制
add_filter('two_factor_user_roles', function($roles) {
return ['administrator', 'editor']; // この役割に2FAを必須化
});
TOTPの仕組み
1. サーバーとアプリが共有秘密鍵を持つ
2. 現在時刻 + 秘密鍵 → 6桁コードを30秒ごとに生成
3. ログイン時にサーバー側も同じ計算で検証
4. コードが一致すればログイン許可
バックアップコードの生成・管理
# WP-CLIでバックアップコードを確認(Two Factorプラグイン)
wp user meta get {user_id} _two_factor_backup_codes
# バックアップコードをリセット
wp user meta delete {user_id} _two_factor_backup_codes
バックアップコードは安全な場所に保管し、スマートフォンを紛失した際の緊急アクセスに使用します。
2FAデバイスを紛失した場合の緊急解除
# 2FAを無効化してパスワードのみでログイン可能にする
wp user meta delete {user_id} _two_factor_enabled_providers
wp user meta delete {user_id} _two_factor_totp_key
# または特定ユーザーの2FAを完全リセット
wp user meta delete {user_id} two_factor_enabled
アプリケーションパスワード(WordPress 5.6以降)
REST APIやXML-RPC用の専用パスワードを発行できます。
管理画面 → ユーザー → プロフィール → アプリケーションパスワード
# WP-CLIでアプリケーションパスワードを確認
wp user list-app-passwords {user_id}
注意事項
- 2FA設定前に必ずバックアップコードを保存してください
- 管理者全員が2FAを設定する前にデバイス紛失時の手順を共有してください
- サーバーの時刻(NTP)が正確でないとTOTPコードが一致しなくなります
まとめ
Two Factor プラグインを wp plugin install two-factor --activate でインストールし、プロフィール画面でTOTPを有効化するだけで2FAが設定できます。デバイス紛失時のためにバックアップコードを必ず保存してください。