Joomla!でのログイン時の多要素認証(MFA)の設定

Joomla!のバックエンド・ログイン時に多要素認証(Multi-Factor Authentication / MFA)を使用する設定を行いました。

概要

  • Joomla! Coreには多要素認証(MFA)が用意されています
    • 参考までに、WordPressではユーザーがMFAプラグインの導入を別途行う必要があるそうです
  • 2026/05/26付のJoomla! 6.1.1アップデートで多要素認証(MFA)バイパスの脆弱性の修正が実施されました
  • 当サイトではMFAを使用していませんでしたが、これを機にセキュリティ向上のためMFAを設定することとしました
  • 現在、セキュリティレベルが最も高いMFAはPasskey認証とされています
  • そこで当サイトではPasskey認証をDefult MFA Methodに設定し、あわせてOne-time Passwordも設定しました

Joomla! Core標準のMFA

  • 次の5つのMFAを利用することができます現在、セキュリティレベルが最も高いMFAはPasskey認証とされています
    • Authentication Code by Email
    • Fixed Code
    • Verification Code
    • Passkeys
    • YubiKey
  • 今回、USB KeyによるPasskey設定も試しています
  • YubiKeyもUSB Keyの一つですが、専用Pluginが用意されています
    • Joomla!にはWebauthn規格を使用したPasskeyが登場する前から、YubikeyによるOne-time Passwordに標準対応していた歴史がありそのYbikey OTPの継続利用のために、専用Pluginが用意されているそうです

MFA導入設定

  • MFAを導入するには次の2つの設定が必要です
  • 複数のJoomla! Core MFA Pluginから、使用するPluginを有効にします
  • Global ConfigurationでMFAを強制するUser Groupを指定します

MFA Pluginの有効化

  • 使用する認証機能に応じたPluginを有効にする必要があります
  • 用意されているMFA Pluginは次のとおりです
    • Multi-factor Authentication - Authentication Code by Email
    • Multi-factor Authentication - Fixed Code
    • Multi-factor Authentication - Verification Code
    • Multi-factor Authentication - Passkeys
    • Multi-factor Authentication - YubiKey
  • One-time Password認証ではMulti-factor Authentication - Verification Codeを有効にします
  • Passkey認証ではMulti-factor Authentication - Passkeysを有効にします
    • USB Keyで圧倒的シェアを誇るYubiKey専用のPluginが用意されていますが、他社製Usb Keyの場合はPasskeysを設定・使用します
Plugin有効化の手順
  1. System > Manage > Pluginsをクリックします
  2. Search Boxに[multi]と入力して、Searchボタンをクリックします
  3. 今回使用するMulti-factor Authentication - Verification CodeとMulti-factor Authentication - PasskeysのStatusを有効に変更します

Global Configurationの設定

  • MFAの使用を強制するUser Groupを指定します
  1. System > Global Configurationをクリックします
  2. Multi-factor Aouthentication tab > Multi-factor Aouthentication blkを表示します
  3. Enforce Multi-factor Aouthentication: MFAを強制するUser Groupを指定します
  4. Save & Closeをクリックします

UserのMAF登録

  • UserのMAF登録は各User ProfileのMulti-factor Authentication tabに用意されています
  • 当サイトでは、バックエンドログインで運用しております
  • 通常のUser Account / Passward認証でログイン後、User Profileで自らMAF登録するか、あるいはMAF強制設定後の初めてのログイン時にMAF登録に誘導されます

記者のPassword管理

  • わたくしはPassward Managerに1Passwordを使用しています
    • 1password
    • Password, Passkey, One-time Passwordをまとめて管理しています
    • クロスプラットフォーム対応による利便性は圧倒的かと思います
  • Windows PCではブラウザにChromeを使用し1Passwordの拡張機能で各サイトのログインを行っています
  • iPhoneではブラウザにSafariをを使用し、1Password Appで各サイトのログインを行っています
  • iPhoneにインストールしているAuthenticator Appは、1Passwordをメインに、Google Authenticator、Microsoft Authenticatorなどを併用しています

Passkey認証

  • 現在、セキュリティレベルが最も高いMFAはPasskey認証とされています
  • 中でも、USB Key等のハードウェアキーによるPasskey認証は最強の評価がされています
  • One-time Password認証はフィッシング詐欺のリスクがあり、ドメインチェックが行われるPasskey認証ではそのリスクがありません
  • 今回は、1Passwordに登録したPasskeyと廉価なUSB KeyのTHETIS PRO-C FIDO2 SECURITY KEYを試しました

Passkeyの登録

1PasswordのChrome拡張機能でのPasskey登録手順
  • 事前に1Passwordに当該ユーザーのUsername / Passwordを登録しております
  1. Usersをクリックします
  2. 当該のUserをクリックします
  3. Multi-factor Authentication tabを表示します
  4. Passkey認証ではPasskey見出しの下にある+ Add a new Passkeyをクリックします
  5. Add a Multi-Factor Authentication Methodへ遷移します
  6. Titleへ任意の名称を入力します
    • DefaultでPasskeyと入力されていますが、わたくしはPasskey - Mobilephoneとしました
  7. Make this the default Multi-factor Authentication methodにチェックを入れます
    • 複数のMFA認証を登録している場合、Default指定したMFA認証がUsername / Passwordログイン後に自動的に表示されます
  8. Register your passkeyをクリックします
  9. わたくしの環境では、1PasswordのChrome拡張機能のSave passkeyのポップアップが開き、Passkeyを保存するユーザーの選択を求められます
  10. 同ポップアップでユーザーを選択し、Saveをクリックします
  11. Multi-factor Authentication tabに戻り、Passkey見出しの下にPasskey - Mobilephoneが登録されていることが確認できます
    Passkeyの見出しには[Default]と表示されています
    Passkeyが認証手段のデフォルトとして登録
  12. Save & Closeをクリックします (他の項目を編集している場合)
USB KeyでのPasskey登録手順
  • 事前にTHETIS PRO-C FIDO2 SECURITY KEYの専用AppであるTHETIS Key Managerで当該USB KeyのPINを登録済です
  • 作業前にUSB KeyをUSBコネクタに挿入しています
  • Windows PCでの動作になります
  1. Usersをクリックします
  2. 当該のUserをクリックします
  3. Multi-factor Authentication tabを表示します
  4. Passkey認証ではPasskey見出しの下にある+ Add a new Passkeyをクリックします
    + Add a new Passkeyをクリック
  5. Add a Multi-Factor Authentication Methodへ遷移します
    Titleを入力
  6. Titleへ任意の名称を入力します
    • DefaultでPasskeyと入力されていますが、わたくしはPasskey - Hardware tokenとしました
  7. Register your passkeyをクリックします
  8. わたくしの環境では、1PasswordのChrome拡張機能のSave passkeyのポップアップが開きます
  9. Passkeyを保存するユーザーが選択されていることを確認します
  10. 同ポップアップの右肩にあるUSB KeyデザインのUse a Security Key or another passkeyをクリックします
    Use a Security Key or another passkeyをクリック
  11. Windowsセキュリティダイアログが表示されます
  12. セキュリティキーをクリックします
    セキュリティキーをクリック
  13. セキュリティキー暗証番号(PIN)を入力します
    セキュリティキー暗証番号(PIN)を入力
  14. OKをクリックします
  15. [セキュリティキーにタッチしてください]と表示されます
    [セキュリティキーにタッチしてください]と表示
  16. THETIS PRO-C FIDO2 SECURITY KEYの点滅しているボタンを押します(残念ながらタッチではありません・廉価版ならではのボタン仕様です)
  17. Multi-factor Authentication tabに戻り、Passkey見出しの下にPasskey - Hardware tokenが登録されていることが確認できます
    USB KeyのPasskeyが登録
  18. Save & Closeをクリックします (他の項目を編集している場合)

Passkey認証経由のログイン

1PasswordのChrome拡張機能でのPasskey認証経由のログイン
  1. わたくしの場合、1Passwordの拡張機能によるアシストでログインします
    1Passwordでは当該アカウントにPasskeyが登録されている場合、その旨のアイコンがユーザーネームの右に表示されます
    1Password拡張機能でログインユーザーを選択
    Username / Passwordによるログイン
  2. 1Passwordの拡張機能によりLog inボタンは自動的に押下状態になります
  3. Multi-factor Authenticationのページに遷移します
  4. Validation with your passkeyをクリックします
    Validation with your passkeyをクリック
  5. わたくしの環境では、1PasswordのChrome拡張機能のSign in with a passkeyのポップアップが開きます
  6. 同ポップアップに表示されたアカウントに間違いないことを確認し、(登録されたPasskeyの)Sign inをクリックします
    Sign inをクリック
  7. Passkey認証されHome Dashboardが表示されます
USB KeyでのPasskey認証経由のログイン
  1. わたくしの場合、1Passwordの拡張機能によるアシストでログインします
    1Password拡張機能でログインユーザーを選択
    Username / Passwordによるログイン
  2. 1Passwordの拡張機能によりLog inボタンは自動的に押下状態になります
  3. Multi-factor Authenticationのページに遷移します
  4. Validation with your passkeyをクリックします
    Validation with your passkeyをクリック
  5. わたくしの環境では、1PasswordのChrome拡張機能のSave passkeyのポップアップが開きます
  6. 同ポップアップの右肩にあるUSB KeyデザインのUse a Security Key or another passkeyをクリックします
    Use a Security Key or another passkeyをクリック
  7. Windowsセキュリティダイアログが表示されます
  8. セキュリティキーをクリックします
    セキュリティキーをクリック
  9. セキュリティキー暗証番号(PIN)を入力します
    セキュリティキー暗証番号(PIN)を入力
  10. OKをクリックします
  11. [セキュリティキーにタッチしてください]と表示されますので、THETIS PRO-C FIDO2 SECURITY KEYの点滅しているボタンを押します(残念ながらタッチではありません・廉価版ならではのボタン仕様です)
    [セキュリティキーにタッチしてください]と表示
  12. 認証されHome Dashboardが表示されます

One-time Password認証

  • 今回は、1Passwordのone-time password機能とMicrosoft Authenticatorを試しました

One-time Passwordの登録 

1PasswordのChrome拡張機能でのOne-time Password登録手順
  1. Usersをクリックします
  2. 当該のUserをクリックします
  3. Multi-factor Authentication tabを表示します
  4. One-time Password認証ではVerification Code見出しの下にある+ Add a new Verification Codeをクリックします
    + Add a new Verification Codeをクリック
  5. わたくしの環境では、1PasswordのChrome拡張機能のSave one-time passwordのポップアップが開き、One-time Passwordを設定するユーザーの選択を求められます
    One-time Passwordを設定するユーザーを選択
  6. 同ポップアップで当該ユーザーの選択を確認し、Saveをクリックします
  7. ポップアップは[Saved one-time password]の表記となり、ページ下部には同様のChromeのポップアップが表示されます
    One-time Passwordが保存
  8. また、Enter the six digit verification codeにリアルタイムの6 digit codesが自動挿入されていることが確認できます
  9. Save & Closeをクリックします
    Save & Closeをクリック
  10. Verification Code見出しの下に登録されたことが確認できます
    当該アカウントにone-time passwordが登録
  11. Save & Closeをクリックします (他の項目を編集している場合)
  12. iPhoneの1Passwordを確認すると当該アカウントにone-time passwordが登録されていることを確認できます
Microsoft AuthenticatorでのOne-time Password登録手順
  • One-time Passwordは複数登録することができないようです
  • 別のサイトで試しました
  1. Usersをクリックします
  2. 当該のUserをクリックします
  3. Multi-factor Authentication tabを表示します
  4. One-time Password認証ではVerification Code見出しの下にある+ Add a new Verification Codeをクリックします
    + Add a new Verification Codeをクリック
  5. Add a Multi-factor Authentication Methodへ遷移します
    Add a Multi-factor Authentication Methodへ遷移
  6. 必要に応じてTitleを編集します
    • 場合により、Make this the default Multi-factor Authentication methodにチェックを入れます
  7. iPhoneでMicrosoft Authenticatorを起動します
  8. 画面右下のQR Codeスキャンボタンをタップしてカメラを起動します
  9. QR Codeを撮影して登録します
  10. Microsoft Authenticatorに表示された6 digit codesをEnter the six digit verification codeに記入します
    6 digit codesをEnter the six digit verification codeに記入
  11. Save & Closeをクリックします
    Save & Closeをクリック

Authenticator AppによるOne-time Password経由のログイン

1Passwordの拡張機能でのOne-time Password経由のログイン
  • default MFA MethodがPasskeyである環境での手順になります
  1. 1Passwordの拡張機能によるアシストでUsername / Passwordログインします
    1Passwordでは当該アカウントにPasskeyが登録されている場合、その旨のアイコンがユーザーネームの右に表示されます
    1Password拡張機能でログインユーザーを選択
    Username / Passwordによるログイン
  2. Multi-factor Authenticationのページに遷移します
  3. Passkeyが表示されていますので、Select a different methodをクリックします
    Select a different methodをクリック
  4. Select a Multi-factor Authentication methodのページに遷移します
  5. Verification Codeをクリックします
    Verification Codeをクリック
  6. Verification Code > Enter the six digit verification codeのテキストボックスに1Passwordのプルダウンが表示されます
  7. プルダウンから当該のアカウントをクリックします
    プルダウンから当該のアカウントをクリック
  8. Enter the six digit verification codeのテキストボックスにsix digit verification codeが挿入されます
    six digit verification codeが挿入
  9. Validateをクリックします
  10. 認証されHome Dashboardが表示されます
Microsoft AuthenticatorでのOne-time Password経由のログイン
  • default MFA MethodがPasskeyである環境での手順になります
  1. 1Passwordの拡張機能によるアシストでログインします
    1Passwordでは当該アカウントにPasskeyが登録されている場合、その旨のアイコンがユーザーネームの右に表示されます
    1Password拡張機能でログインユーザーを選択
    Username / Passwordによるログイン
  2. Multi-factor Authenticationのページに遷移します
  3. Passkeyが表示されていますので、Select a different methodをクリックします
    Select a different methodをクリック
  4. Select a Multi-factor Authentication methodのページに遷移します
  5. Verification Codeをクリックします
    Verification Codeをクリック
  6. Verification Codeのページに遷移します
    Verification Codeのページに遷移
  7. iPhoneでMicrosoft Authenticatorを起動します
  8. Verification Code  > Enter the six digit verification codeにMicrosoft Authenticatorの当該アカウントに表示されているsix digit verification codeを入力します
    six digit verification codeを入力
  9. Validateをクリックします
  10. 認証されHome Dashboardが表示されます