
管理画面に二要素認証(2FA)を入れる|一人運用で締め出されない手順
「管理画面に二要素認証を入れてください」
取引先のチェックシートや、社内の点検で、そう言われたことはないでしょうか。理屈は分かる。入れたほうがいいのも分かる。それでも手が止まるのは、たぶんこの一点だと思います。
入れたあとで自分が入れなくなったら、助けてくれる人がいない。
一人で保守を回している現場だと、これは大げさな心配ではありません。スマホを機種変更した。落とした。認証アプリを間違えて消した。そのどれか一つで、本番の管理画面に誰も入れなくなる可能性があります。パスワードなら他の人が知っているかもしれませんが、認証コードは自分の端末の中にしかありません。
だからこの記事では、順番を入れ替えます。先にリカバリ(戻る道)を用意して、そのあとで有効化する。 この順番さえ守れば、二要素認証はそれほど怖い作業ではありません。
結論:手順は4つです。①先に「予備コード(リカバリコード)」と「予備の管理者アカウント」を用意する → ②方式は認証アプリ(TOTP)を既定に。使えるならパスキーを足す → ③まず自分のアカウント1つだけで有効化して、一度ログアウトして入り直せることを確かめる → ④問題なければ他の人へ広げる。順番を逆にして「全員一斉に有効化」から入ると、締め出しの事故がいちばん起きやすいです。あわせて、cronやAPI連携が管理画面と同じアカウントを使っていないかを先に確認しておくと、夜間バッチが翌朝止まる事故を防げます。
なお、二要素認証の設定画面や呼び名は、使っているCMS・SaaS・自作システムによってかなり違います。ここに書くのは進め方の型です。実際の操作は、必ず自分の環境の公式ドキュメントで確かめてください。
何が起きているか:2枚目の鍵は「パスワードが漏れた後」のための備え
そもそも二要素認証が何を守っているのかを、一度だけ整理させてください。ここが腑に落ちると、どこまでやるかの判断が楽になります。
二要素認証(2FA/多要素認証・MFA とも呼ばれます) とは、ログインのときに性質の違う2つの確認を求める仕組みです。ふつうは「知っているもの(パスワード)」に加えて、「持っているもの(スマホ・鍵)」を確かめます。
守れるのは、こういう場面です。
- どこか別のサービスから漏れたパスワードを、そのまま試される。 使い回しは現場では珍しくありません。責める話ではなく、備える話です。
- 総当たりでログインを試される。 管理画面のURLが推測しやすい場所にあると、ログを見れば分かるくらい試行が来ています。
- 画面をのぞかれた・メモが見られた。 物理的な話ですが、実際にあります。
逆に、守れないこともはっきりしています。
- サーバー自体の脆弱性や、SSHからの侵入。こちらはSSHの鍵認証とrootログイン禁止の話です。
- すでにログイン済みのセッションを盗まれる場合。
- 管理画面以外の入口(FTP、DB、APIキー)。ここはパスワード・APIキーの平文放置をなくす保管方法と組み合わせて考えます。
つまり二要素認証は、万能ではないけれど、パスワード1枚で守っている状態から1段上がる手です。すでに管理画面のIP制限やBasic認証を入れているなら、そこに重ねる2枚目にあたります。どちらか一方ではなく、両方あるとかなり効きます。
先に決める:締め出されないための3つの備え
ここがこの記事のいちばん大事なところです。有効化ボタンを押す前に、戻る道を3つ用意します。

備え1:予備コード(リカバリコード)を、システムの外に保管する
二要素認証を有効にすると、たいていのシステムが予備コード(リカバリコード、バックアップコードなどと呼ばれます)を発行します。認証アプリが使えなくなったときに、代わりに1回だけ使える文字列です。
この扱いで、実務上いちばんやってはいけないのがそのサーバーの中や、その管理画面の中に保存することです。入れなくなったときに取り出せないのでは、備えになりません。
現実的な保管先は、この2つのどちらかです。
- 紙に印刷して、鍵のかかる場所(金庫・施錠キャビネット)に置く。 地味ですが、電源も端末も要らないので、いちばん壊れにくい方法です。封筒に入れて封をしておくと、開けた形跡も残ります。
- 別系統のパスワード管理ツールに入れる。 ただし、そのツール自体のログインに同じ認証アプリを使っているなら、片方が消えたとき両方失います。そこだけは分けておきます。
そして、紙に印刷したら、置き場所を引き継ぎ資料のアカウント一覧に1行書いておきます。 コードそのものは書きません。「どこにあるか」だけです。これがないと、自分がいない日に誰も探せません。
備え2:予備の管理者アカウントを1つ用意する
自分の1アカウントだけで運用していると、その1つが使えなくなった瞬間に手詰まりです。普段は使わない管理者アカウントを、もう1つ作っておきます。
- 認証アプリは、自分の常用端末とは別の端末(予備のスマホ、業務用タブレットなど)に登録する。端末を分けられないなら、この予備アカウントだけは二要素認証を入れず、代わりにIP制限でアクセス元を絞る、という割り切りもあります。
- パスワードは十分に長くして、普段は使わない。使ったら記録を残す。
- 存在と使い方を、上司か発注元に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つ目の要素として働いているとは言いにくくなります。メールアカウント側にも二要素認証がかかっているか、そこだけ確認してから採用してください。
先に確認する落とし穴:機械が使っているアカウントはないか
有効化する前に、必ず確認しておきたいことがあります。 ここを飛ばすと、翌朝に別の障害が起きます。
- cronやバッチが、管理画面のアカウントでログインしていないか。 スクレイピング的に画面を叩いて集計している処理は、意外と残っています。二要素認証を入れると、そこが静かに失敗します。しかもcronの失敗は気づきにくいのが厄介なところです。
- 外部サービスとの連携が、同じアカウントを使っていないか。 決済、配送、会計、MAツール。連携設定の画面に「ログインID/パスワード」を入れている箇所があれば、そこは要注意です。
- 外形監視・死活監視が、ログインして中身を見に行っていないか。 ログイン監視を設定していると、有効化した瞬間にアラートが鳴り始めます。
- 共有アカウントを、複数人で使っていないか。 ひとつのIDを何人かで使っている場合、認証アプリを誰の端末に入れるかで必ず揉めます。先に個人アカウントへ分けてから二要素認証を入れる順番が、結果的にいちばん早いです。
機械が使っている分は、画面ログインではなくAPIキーや専用のサービスアカウントに置き換えるのが本筋です。すぐに置き換えられないなら、そのアカウントだけ二要素認証の対象から外し、代わりにIP制限をかける、という段階的な進め方でも構いません。全部きれいにしてからでないと始められない、ということはありません。
もうひとつの落とし穴:サーバーの時刻ずれ
TOTPは時刻をもとにコードを作ります。だから、認証する側(サーバー)の時刻がずれていると、正しいコードを入れても通りません。
自作システムに自前で二要素認証を組み込んでいる場合、これは実際に起こります。「昨日まで通っていたのに、今日から誰も入れない」という形で表面化するので、原因にたどり着くまで時間を取られがちです。
有効化する前に、サーバーの時刻同期が生きているかだけ見ておきましょう。
# 時刻同期の状態を見る(systemd の環境)
timedatectl status
# chrony を使っている場合、同期先と誤差を確認
chronyc tracking
詳しい見方と直し方はNTPの時刻ずれが引き起こす障害にまとめています。スマホ側の時刻が自動設定になっているかも、あわせて確認しておくと安心です。
具体例:管理画面3つを、2週間で入れた現場
社内システムと会社サイトを、他の業務と兼務で守っている担当者の例で、順番をたどってみます。
- きっかけ:取引先のセキュリティチェックシートに「管理画面の多要素認証」の欄があり、「いいえ」と書くのが気まずかった。ただ、自分が締め出されるのが怖くて後回しにしていた。
- 1日目(数えるだけ):管理画面がいくつあるかを書き出した。CMS、受注管理、メール配信の3つ。ログインできるIDは全部で6つ。うち2つは部署で共有しているIDだった。
- 2日目(機械の分を探す):受注管理に、夜間の集計バッチがログインしていることが判明。ここは二要素認証を入れると止まる。ベンダーに聞くとAPI連携に切り替えられると分かり、切り替えを依頼した(2週間後に完了)。
- 3日目(戻る道を先に):CMSで自分のアカウントの予備コードを発行し、印刷して総務の金庫へ。予備の管理者アカウントを1つ作り、認証アプリは会社の予備タブレットに登録した。置き場所だけを引き継ぎ資料に1行書いた。
- 4日目(自分だけ有効化):CMSの自分のアカウントで有効化 → 一度ログアウトして、入り直せることを確認 → さらに予備コードでも1回入れることを確認し、使った1本は再発行した。ここまでで30分。
- 2週目(広げる):共有IDを個人アカウント3つに分割。設定手順をスクリーンショット付きで1枚にまとめて配り、各自に有効化してもらった。バッチのAPI切り替え完了を待って、受注管理も有効化。
- 記録:変更管理台帳に「いつ・どの管理画面に・誰の分を有効化したか」を残し、運用の年間スケジュールに「半年ごとに予備コードの所在確認」を追加した。
この例で効いたのは、高度な設定ではありません。バッチがログインしていないかを2日目に調べたことと、自分の1アカウントだけで先に往復したこと。この2つだけです。
影響:入れると、何が変わるか
正直に言うと、二要素認証を入れてもシステムが劇的に安全になるわけではありません。それでも、変わることがいくつかあります。
- パスワードが漏れても、それだけでは入られなくなる。 使い回しや過去の漏洩リストへの備えとしては、いちばん費用対効果が高い一手です。
- 総当たりのログイン試行が、実害につながりにくくなる。 ログにアクセスが並んでいても、以前ほど胃が痛くなりません。
- チェックシートや点検への回答が、すぐ出せるようになる。 「はい」と書けるだけで、往復のやり取りが1回減ります。
- アカウントの棚卸しが進む。 共有IDを個人IDに分けると、退職・異動の引き継ぎのときに「誰の分を止めればいいか」が一目で分かるようになります。副産物ですが、これがいちばん長く効きます。
- 何かあったときの調査が楽になる。 誰のIDで入られたかが分かれば、不正アクセスの疑いがあるときの初動も進めやすくなります。
一方で、増える手間もあります。ログインのたびにひと手間かかる。設定を人に説明する時間がいる。端末を替えるたびに登録し直す。ここは正直に見込んでおいたほうが、あとで「聞いてない」と言われずに済みます。
明日やること:まず「数えるだけ」から
設定を変えなくていいので、明日は次の順で大丈夫です。
- 管理画面をいくつ持っているか書き出す。 CMS、受注、配送、メール配信、監視ツール、ドメイン管理、レンタルサーバーのコントロールパネル。10分で十分です。
- そのうち、二要素認証に対応しているものに○を付ける。 対応していないものは、いまは置いておきます。
- 機械(cron・API連携・監視)が使っているアカウントに、印を付ける。 これが一番の事故予防です。心当たりがあれば、設定画面を1つ開いて確かめます。
- いちばん影響の小さい管理画面を1つ選ぶ。 本番の受注系ではなく、たとえば社内向けのツールから。
- その1つで、予備コードの発行だけやってみる。 有効化はまだしなくて構いません。発行して、印刷して、しまう。 ここまでで今日は終わりでいいです。
1と3だけでも、確実に前に進みます。有効化より先に現状を数えておくほうが、結果的に早い場面は、保守運用ではよくあります。
二要素認証チェックリスト
全部そろえる前提ではありません。上から優先順位で並べてあります。
入れる前に(ここが本体です)
- 予備コード(リカバリコード)を発行し、そのシステムの外に保管したか
- 予備コードの「置き場所」を引き継ぎ資料に1行書いたか(コード自体は書かない)
- 予備の管理者アカウントを1つ用意し、別端末か別手段で入れるようにしたか
- cron・バッチ・API連携・外形監視が、その管理画面のアカウントを使っていないか確認したか
- 共有IDを複数人で使っていないか(使っているなら、先に個人IDへ分ける算段をつけたか)
- サーバーとスマホの時刻同期が正常か確認したか
有効化するとき
- まず自分の1アカウントだけで有効化したか(全員一斉にしていないか)
- 有効化後、一度ログアウトして入り直せることを確認したか
- 予備コードでも1回入れることを確認し、使った分を再発行したか
- 認証アプリを、機種変更しても引き継げる状態にしたか(同期またはキーの控え)
- 変更管理の記録に「いつ・どこに・誰の分を」1行残したか
落ち着いたら(無理なら飛ばしてよい)
- 機械が使っていたログインを、APIキーやサービスアカウントへ置き換えたか
- 対応しているシステムで、パスキー(WebAuthn)を追加したか
- SMSを使っている箇所を、認証アプリへ寄せられないか検討したか
- 半年〜1年ごとの棚卸しに「予備コードの所在確認」「不要アカウントの停止」を入れたか
- 設定手順を1枚にまとめ、次の担当者が自力で登録できるようにしたか
「入れる前に」の6つが埋まっていれば、締め出しの事故はほぼ防げます。残りに○が付かなくても大丈夫です。
よければ、こちらも
二要素認証は、単体で完結する作業ではありません。周りを少し整えると、次の一歩が軽くなります。
- 管理画面のアクセス制限|IP制限・Basic認証の基本:二要素認証と重ねると効きます。対応していないシステムの代替にもなります。
- 退職者アカウントの棚卸しと権限の最小化:共有IDを分けたあとに、あわせてやっておきたい作業です。
- パスワード・APIキーの平文放置をなくす保管方法:予備コードや連携用のキーを、どこに置くかの考え方です。
- NTPの時刻ずれが引き起こす障害の見つけ方と直し方:TOTPが突然通らなくなったとき、真っ先に疑う場所です。
- 引き継ぎ資料に必ず入れる「アカウント・連絡先・契約」一覧:予備コードの所在を書き残しておく先です。

二要素認証を後回しにしてきたのは、面倒だったからではないと思います。本番が動いていて、自分が最後の砦だと分かっているから、慎重になっていただけです。その慎重さは、守る側の人が持つべき感覚です。
今日いきなり全部の管理画面に入れなくて大丈夫です。まず予備コードを1枚、印刷して金庫にしまう。 それだけで、「怖くて触れないもの」が「戻る道のあるもの」に変わります。有効化はそのあとでいい。
明日、管理画面をいくつ持っているか数えるところから始めてみませんか。数え終わったとき、たぶん思ったより少なくて、少し肩の力が抜けるはずです。
ほかの実務ヒントは記事一覧からどうぞ。保守運用の小さな備えを、メールでも少しずつお届けしています。
関連用語
</content> </invoke>