管理画面のログイン設定を開いたまま、二要素認証を有効にするボタンを押すかどうか手を止めて考えている一人運用の保守担当者

管理画面に二要素認証(2FA)を入れる|一人運用で締め出されない手順

「管理画面に二要素認証を入れてください」

取引先のチェックシートや、社内の点検で、そう言われたことはないでしょうか。理屈は分かる。入れたほうがいいのも分かる。それでも手が止まるのは、たぶんこの一点だと思います。

入れたあとで自分が入れなくなったら、助けてくれる人がいない。

一人で保守を回している現場だと、これは大げさな心配ではありません。スマホを機種変更した。落とした。認証アプリを間違えて消した。そのどれか一つで、本番の管理画面に誰も入れなくなる可能性があります。パスワードなら他の人が知っているかもしれませんが、認証コードは自分の端末の中にしかありません。

だからこの記事では、順番を入れ替えます。先にリカバリ(戻る道)を用意して、そのあとで有効化する。 この順番さえ守れば、二要素認証はそれほど怖い作業ではありません。

結論:手順は4つです。①先に「予備コード(リカバリコード)」と「予備の管理者アカウント」を用意する → ②方式は認証アプリ(TOTP)を既定に。使えるならパスキーを足す → ③まず自分のアカウント1つだけで有効化して、一度ログアウトして入り直せることを確かめる → ④問題なければ他の人へ広げる。順番を逆にして「全員一斉に有効化」から入ると、締め出しの事故がいちばん起きやすいです。あわせて、cronやAPI連携が管理画面と同じアカウントを使っていないかを先に確認しておくと、夜間バッチが翌朝止まる事故を防げます。

なお、二要素認証の設定画面や呼び名は、使っているCMS・SaaS・自作システムによってかなり違います。ここに書くのは進め方の型です。実際の操作は、必ず自分の環境の公式ドキュメントで確かめてください。

何が起きているか:2枚目の鍵は「パスワードが漏れた後」のための備え

そもそも二要素認証が何を守っているのかを、一度だけ整理させてください。ここが腑に落ちると、どこまでやるかの判断が楽になります。

二要素認証(2FA/多要素認証・MFA とも呼ばれます) とは、ログインのときに性質の違う2つの確認を求める仕組みです。ふつうは「知っているもの(パスワード)」に加えて、「持っているもの(スマホ・鍵)」を確かめます。

守れるのは、こういう場面です。

逆に、守れないこともはっきりしています。

つまり二要素認証は、万能ではないけれど、パスワード1枚で守っている状態から1段上がる手です。すでに管理画面のIP制限やBasic認証を入れているなら、そこに重ねる2枚目にあたります。どちらか一方ではなく、両方あるとかなり効きます。

先に決める:締め出されないための3つの備え

ここがこの記事のいちばん大事なところです。有効化ボタンを押す前に、戻る道を3つ用意します。

認証アプリ・予備コード・予備の管理者という3つの入り口を横に並べ、どれか1つが生きていれば管理画面に入れることを示した図
3つのうち1つでも生きていれば入れる。1つだけに頼ると、その1つが消えた日に詰む

備え1:予備コード(リカバリコード)を、システムの外に保管する

二要素認証を有効にすると、たいていのシステムが予備コード(リカバリコード、バックアップコードなどと呼ばれます)を発行します。認証アプリが使えなくなったときに、代わりに1回だけ使える文字列です。

この扱いで、実務上いちばんやってはいけないのがそのサーバーの中や、その管理画面の中に保存することです。入れなくなったときに取り出せないのでは、備えになりません。

現実的な保管先は、この2つのどちらかです。

そして、紙に印刷したら、置き場所を引き継ぎ資料のアカウント一覧に1行書いておきます。 コードそのものは書きません。「どこにあるか」だけです。これがないと、自分がいない日に誰も探せません。

備え2:予備の管理者アカウントを1つ用意する

自分の1アカウントだけで運用していると、その1つが使えなくなった瞬間に手詰まりです。普段は使わない管理者アカウントを、もう1つ作っておきます。

「アカウントを増やすのはセキュリティ的に良くないのでは」と思うかもしれません。もっともな感覚です。だから普段は使わない・記録を残す・定期棚卸しの対象にするをセットにします。ここはアカウントの棚卸しと権限の最小化と同じ考え方で管理できます。

備え3:認証アプリを、2か所に登録できるか確かめる

認証アプリの多く(Google Authenticator、Microsoft Authenticator、Authy、1Password や Bitwarden などのパスワード管理ツール内蔵の機能)は、クラウド同期やエクスポートに対応しています。機種変更で消える事故は、ここを最初に確認しておくと防げます。

登録のときに表示されるQRコードは、実体としては共有鍵(シークレット) です。QRコードを表示した画面で「手動入力用のキー」も一緒に控えられるなら、それを予備コードと同じ場所に保管しておくと、別の端末にも後から登録できます。

ただしこのキーは、パスワードと同じくらい大事な情報です。取り扱いを軽くしないでください。控えるなら予備コードと同じ厳重さで、控えないなら「同期対応のアプリを使う」で代替します。どちらでも構いませんが、どちらかは決めておくのが大事です。

方式を選ぶ:迷ったら認証アプリ(TOTP)から

二要素認証にはいくつか方式があります。保守運用の現場で現実的なのは、次の4つです。

認証アプリ(TOTP):まずこれで大丈夫

TOTP は、30秒ごとに変わる6桁の数字を、時刻をもとに端末側で計算する仕組みです(RFC 6238 で定義されています)。ネットワークがなくてもコードが出るので、現場では扱いやすい方式です。

迷ったらここから始めて問題ありません。

パスキー/セキュリティキー(WebAuthn・FIDO2):対応していれば強い

パスキーは、端末の生体認証や画面ロックと紐づいた鍵でログインする仕組みです。偽サイトに誘導されてもコードを渡してしまわないため、フィッシングに強いのが最大の利点です。物理的なUSBキーを使う形(セキュリティキー)もあります。

対応しているサービスなら、有力な選択肢です。ただし一人運用では、端末が1つしかない状態でパスキーだけにするのは避けてください。 その端末が壊れた時点で入れなくなります。パスキーを主にするなら、予備コードは必ず紙で確保します。

SMS:使えるが、できれば主役にしない

携帯電話番号にコードを送る方式です。手軽で、対応も多いのですが、電話番号の乗っ取り(SIMスワップ)や、転送設定の悪用といった弱点が知られていて、公的なガイドライン(NIST SP 800-63B など)でも扱いに注意が求められています。

とはいえ、パスワードだけの状態よりは明確に安全です。認証アプリに対応していないシステムなら、SMSでも入れる価値はあります。「理想ではないが、無しよりずっといい」くらいの温度感で構いません。

なお、会社の代表番号や、担当者が代わったら受け取れなくなる番号を登録するのは避けます。ここは引き継ぎで詰まりやすいところです。

メールへのコード送信:条件つき

管理画面のパスワードリセットも、コードの受け取りも、同じメールボックスで完結してしまうなら、2つ目の要素として働いているとは言いにくくなります。メールアカウント側にも二要素認証がかかっているか、そこだけ確認してから採用してください。

先に確認する落とし穴:機械が使っているアカウントはないか

有効化する前に、必ず確認しておきたいことがあります。 ここを飛ばすと、翌朝に別の障害が起きます。

機械が使っている分は、画面ログインではなくAPIキーや専用のサービスアカウントに置き換えるのが本筋です。すぐに置き換えられないなら、そのアカウントだけ二要素認証の対象から外し、代わりにIP制限をかける、という段階的な進め方でも構いません。全部きれいにしてからでないと始められない、ということはありません。

もうひとつの落とし穴:サーバーの時刻ずれ

TOTPは時刻をもとにコードを作ります。だから、認証する側(サーバー)の時刻がずれていると、正しいコードを入れても通りません。

自作システムに自前で二要素認証を組み込んでいる場合、これは実際に起こります。「昨日まで通っていたのに、今日から誰も入れない」という形で表面化するので、原因にたどり着くまで時間を取られがちです。

有効化する前に、サーバーの時刻同期が生きているかだけ見ておきましょう。

# 時刻同期の状態を見る(systemd の環境)
timedatectl status

# chrony を使っている場合、同期先と誤差を確認
chronyc tracking

詳しい見方と直し方はNTPの時刻ずれが引き起こす障害にまとめています。スマホ側の時刻が自動設定になっているかも、あわせて確認しておくと安心です。

具体例:管理画面3つを、2週間で入れた現場

社内システムと会社サイトを、他の業務と兼務で守っている担当者の例で、順番をたどってみます。

この例で効いたのは、高度な設定ではありません。バッチがログインしていないかを2日目に調べたことと、自分の1アカウントだけで先に往復したこと。この2つだけです。

影響:入れると、何が変わるか

正直に言うと、二要素認証を入れてもシステムが劇的に安全になるわけではありません。それでも、変わることがいくつかあります。

一方で、増える手間もあります。ログインのたびにひと手間かかる。設定を人に説明する時間がいる。端末を替えるたびに登録し直す。ここは正直に見込んでおいたほうが、あとで「聞いてない」と言われずに済みます。

明日やること:まず「数えるだけ」から

設定を変えなくていいので、明日は次の順で大丈夫です。

  1. 管理画面をいくつ持っているか書き出す。 CMS、受注、配送、メール配信、監視ツール、ドメイン管理、レンタルサーバーのコントロールパネル。10分で十分です。
  2. そのうち、二要素認証に対応しているものに○を付ける。 対応していないものは、いまは置いておきます。
  3. 機械(cron・API連携・監視)が使っているアカウントに、印を付ける。 これが一番の事故予防です。心当たりがあれば、設定画面を1つ開いて確かめます。
  4. いちばん影響の小さい管理画面を1つ選ぶ。 本番の受注系ではなく、たとえば社内向けのツールから。
  5. その1つで、予備コードの発行だけやってみる。 有効化はまだしなくて構いません。発行して、印刷して、しまう。 ここまでで今日は終わりでいいです。

1と3だけでも、確実に前に進みます。有効化より先に現状を数えておくほうが、結果的に早い場面は、保守運用ではよくあります。

二要素認証チェックリスト

全部そろえる前提ではありません。上から優先順位で並べてあります。

入れる前に(ここが本体です)

有効化するとき

落ち着いたら(無理なら飛ばしてよい)

「入れる前に」の6つが埋まっていれば、締め出しの事故はほぼ防げます。残りに○が付かなくても大丈夫です。

よければ、こちらも

二要素認証は、単体で完結する作業ではありません。周りを少し整えると、次の一歩が軽くなります。

二要素認証を有効にしたあと、予備コードを封筒にしまい終えて静かに安心している保守運用担当者

二要素認証を後回しにしてきたのは、面倒だったからではないと思います。本番が動いていて、自分が最後の砦だと分かっているから、慎重になっていただけです。その慎重さは、守る側の人が持つべき感覚です。

今日いきなり全部の管理画面に入れなくて大丈夫です。まず予備コードを1枚、印刷して金庫にしまう。 それだけで、「怖くて触れないもの」が「戻る道のあるもの」に変わります。有効化はそのあとでいい。

明日、管理画面をいくつ持っているか数えるところから始めてみませんか。数え終わったとき、たぶん思ったより少なくて、少し肩の力が抜けるはずです。

ほかの実務ヒントは記事一覧からどうぞ。保守運用の小さな備えを、メールでも少しずつお届けしています。

関連用語

</content> </invoke>