1.問題の発端
JoomlaでのGoogle2段階認証システムとは、スマフォに導入した「認証システム」というアプリが吐き出すキーをパスワードは別のシークレットキーとして使ってログインする方法だ。
ネットでは、この導入に関する情報は多い。例えばGoogle認証を利用したJoomla!での2段階認証ログイン
でもスマフォが壊れたりすると、いきなりこれほど不便なものはない。
セキュリティを甘くするわけには行かないが、まさにがっちり守ったつもりが仇になる例だ。
その上、この困った場合の対処方法についてあまり情報がない。
参考にしたのは、How to Enable, disable and use Joomla 2 Factor Authentication
この記事ではPhpMyAdminを使用した例が示されているが、Adminer でも同じ。
2.Adminer でのログイン後の処理
- ログインしたら、totp で検索(記事にあった plg_twofactorauth_totp でいきなり検索する方法は、何故かうまく行かなかった。)
- 使用しているテンプレートごとの _extensions を選択
- 「編集」をクリックすると plg_twofactorauth_totp というテーブルが出て来るので、enabled = 1 の項目を 0 に変更して保存
- 同じく_usersを編集して、otpkey の項目を削除し、空にする。
以上で、googleの2段階認証は無効になり、パスワードだけでログインできた。
今回は、情報も少なく、中にはバックアップ前のデータに戻すしかないと書いてあるものもあった。でもこれは2段階認証での運用が長期にわたった後にトラブルとほぼ役に立たない救済法だと思う。
一旦は諦めかけたが、諦めないで良かった。
3.安全な運用
2段階認証を実行しつつも、スマフォが壊れてしまうなんて事態に遭遇しても困らない方策を調べてみた。
- 複数のスマフォに同じ設定を施しておく(QRコードを複数のスマフォに読み込ませる)。複数のスマフォが同時に壊れることはまずないだろうから、万一の備えになる。
- 提供されたQRコードと一緒に表示されるキーを別に保管しておく。このキーさえあればGoogle 認証を復元できるからだ。
最後は今回のようにデータベースを直接いじれば良いので、このぐらいの対策でほぼ完璧だと思う・・・・
コメント