VPN の MFA 要求が拒否された場合: クライアントがすべきこと
拒否された MFA 要求はログインの失敗であり、再試行ループではありません。要求を特定し、失敗を可視化し、サポートが尋ねる情報を記録します。
拒否された MFA 要求はネットワークの問題のように見えますが、そうではありません。サーバーが第二要素を求め、その要素が否定的に返るか届かないまま、トンネルが存在する前にセッションが拒否されました。その後に起きることはクライアントの振る舞いの問題です。失敗を提示して利用者に新しい試行を始めさせるか、より多くの要求を生み出し最終的にアカウント保護を作動させる形で再試行するかです。後者の道が、打ち間違えた一つのコードをロックされたアカウントに変えます。
どの要求が失敗したかを確認する
まず、どの要求が失敗したかを特定します。プッシュ通知、TOTP コード、FIDO アサーション、そして SAML フロー はそれぞれ異なる形で失敗し、クライアントは通常どれを要求したかを知っています。拒否、期限切れのチャレンジ、端末に届かなかった配信失敗はすべて同じ一般的なエラーに終わるため、違いが残るのは多くの場合クライアント自身の状態だけです。
その状態は正確に記録する価値があります。チャレンジ識別子またはトランザクション参照、要素の種類、時刻、結果を記録しますが、コードやアサーションは決して記録しません。チャレンジ識別子があれば管理者は ID プロバイダ側で事象を特定できます。それがなければサポートとの会話は「この一時間のどこかで」から始まり、たいていそこで終わります。これは診断用のメタデータとして扱い、秘密として扱わないでください。
新しいチャレンジで、意図的に一度だけ再試行する
再試行は新しいチャレンジによる新しい試行であるべきで、古いものの再生ではありません。クライアントが前のチャレンジを再利用すると、ID プロバイダはそれを古いものとして拒否するか、さらに悪いことに以前の試行向けの承認を受け入れてしまいます。新しいチャレンジを要求して表示し、利用者には今画面にあるものに対して操作させてください。
短い間隔を置いた二回の試行は妥当な既定値です。無制限のループはそうではありません。二回目の試行が同じように失敗したら、続けずに停止して報告します。
クライアントがしてはならないこと
クライアントは、役に立つように見えて実際にはそうでないことをいくつもしてはなりません。誰かが「承認」を押すまでプッシュ通知を送り続けてはなりません。それは利用者に自分が開始していない要求を承認する習慣を付け、フィッシングキットがまさに依存する振る舞いだからです。強い要素が失敗したからといって弱い要素に切り替えてはならず、同時に現れた証明書の警告を回避するためにサーバー身元確認を無効にしてはなりません。これら三つの近道はいずれも認証の失敗をセキュリティ事故に変えます。
失敗を黙って飲み込んでもいけません。接続を閉じてスピナーを表示するクライアントは、再試行すべきか、待つべきか、サポートに電話すべきか分からないまま利用者を放置します。要素の種類と短いコードを添えて失敗を提示し、メッセージに秘密を含めず、再試行の操作を自動ではなく明示的にしてください。
要求を開始したのがキーボードの前にいる本人でない場合、正しい対応は拒否されたままにして、検証済みのサポート経路で報告することです。騒ぎを止めるために要求を承認することは失敗の型であり、解決ではありません。
サポートのために記録するもの
サポートにとって有用な記録はわずかです。タイムゾーン付きのおおよその時刻、アカウント、クライアントとバージョン、要素の種類、そして各試行の秘密でない状態です。要求済み、拒否、期限切れ、承認されたがポリシーで拒否。
クライアントとサーバーの時計にも注意してください。TOTP は時間枠の確認なので、時計がずれた端末は有効に見えるコードを生成し、毎回失敗します。ずれに言及せずに無効なコードを報告するクライアントは、決して誤っていなかった資格情報をリセットさせることになります。ログインが繰り返し失敗する利用者は、さらなる要求を生成する前に、対応するクライアントのバージョン、登録状態、文書化された復旧手順を確認すべきです。
復旧の経路はログインの経路と同じ配慮に値します。紛失した端末のワークフロー は、拒否が認証を回避する許可にならないようにするためにこそ存在し、クライアントは自前の手順を作るのではなく組織の文書化されたプロセスにリンクすべきです。
築くべき原則は、拒否は結果であり障害ではないということです。一度だけ明確に、対応に足る文脈を添えて報告し、次の試行は新しいものにしてください。フィッシング耐性のある MFA に関する CISA の指針は、「承認されるまで問い続ける」型がそもそも危険な理由を説明しており、再試行ループを誰かが提案したときに引用する価値のある資料です。拒否の後にクライアントが加えるものはすべて、次の判断を人にとって容易にするものであるべきで、判断を人から取り上げるべきではありません。