VPN MFA 요청이 거부되었을 때: 클라이언트가 해야 할 일
거부된 MFA 요청은 실패한 로그인이지 재시도 루프가 아닙니다. 요청을 식별하고, 실패를 드러내고, 지원팀이 물을 내용을 기록하십시오.
거부된 MFA 요청은 네트워크 문제처럼 보이지만 그렇지 않습니다. 서버가 두 번째 요소를 요구했고, 그 요소가 부정으로 돌아오거나 아예 도착하지 않았으며, 터널이 존재하기 전에 세션이 거부되었습니다. 그다음에 일어나는 일은 클라이언트 동작의 문제입니다. 실패를 드러내고 사용자가 깨끗한 시도를 시작하게 하거나, 더 많은 요청을 만들어 결국 계정 보호를 작동시키는 방식으로 재시도하는 것입니다. 두 번째 경로가 잘못 입력한 코드 하나를 잠긴 계정으로 만드는 길입니다.
어느 요청이 실패했는지 확인하십시오
어느 요청이 실패했는지 식별하는 것부터 시작하십시오. 푸시 알림, TOTP 코드, FIDO 어설션, 그리고 SAML 흐름은 각각 다르게 실패하며, 클라이언트는 보통 자신이 어느 것을 요청했는지 압니다. 거부, 만료된 챌린지, 기기에 도달하지 못한 전달 실패는 모두 같은 일반 오류로 끝나므로, 차이는 대개 클라이언트 자체의 상태에만 남습니다.
그 상태는 정확히 기록할 가치가 있습니다. 챌린지 식별자나 트랜잭션 참조, 요소 유형, 타임스탬프, 결과를 기록하되 코드나 어설션은 절대 기록하지 마십시오. 챌린지 식별자가 있어야 관리자가 ID 공급자 쪽에서 사건을 찾을 수 있습니다. 그것이 없으면 지원 대화는 “지난 한 시간 중 어딘가에서”로 시작해 대개 거기서 끝납니다. 이것을 비밀이 아니라 진단용 메타데이터로 취급하십시오.
새 챌린지로 한 번만 의도적으로 재시도하십시오
재시도는 새 챌린지를 사용한 새 시도여야 하며, 이전 것의 재생이 아닙니다. 클라이언트가 이전 챌린지를 재사용하면 ID 공급자는 이를 만료된 것으로 거부하거나, 더 나쁘게는 이전 시도를 위해 만들어진 승인을 수락합니다. 새 챌린지를 요청해 표시하고, 사용자가 지금 화면에 있는 챌린지에 대해 행동하게 하십시오.
짧은 간격을 둔 두 번의 시도는 합리적인 기본값입니다. 무제한 루프는 아닙니다. 두 번째 시도가 같은 방식으로 실패하면 계속하지 말고 멈추어 보고하십시오.
클라이언트가 해서는 안 되는 일
클라이언트는 도움이 되어 보이지만 그렇지 않은 여러 가지를 해서는 안 됩니다. 누군가 “승인”을 누를 때까지 푸시 알림을 계속 보내서는 안 됩니다. 그것은 사용자가 자신이 시작하지 않은 요청을 승인하도록 훈련시키며, 피싱 키트가 바로 그 행동에 의존하기 때문입니다. 강한 요소가 실패했다고 약한 요소로 되돌아가서는 안 되고, 동시에 나타난 인증서 문제를 피하려고 서버 신원 확인을 꺼서는 안 됩니다. 이 세 가지 지름길은 각각 인증 실패를 보안 사고로 바꿉니다.
실패를 조용히 삼켜서도 안 됩니다. 연결을 닫고 스피너를 보여 주는 클라이언트는 사용자에게 재시도할지, 기다릴지, 지원팀에 전화할지 알려 주지 않습니다. 요소 유형과 짧은 코드를 붙여 실패를 드러내고, 메시지에 비밀을 담지 않으며, 재시도 동작을 자동이 아니라 명시적으로 만드십시오.
요청을 키보드 앞의 사람이 시작하지 않았다면 올바른 조치는 이를 거부된 상태로 두고 검증된 지원 경로로 보고하는 것입니다. 소란을 멈추려고 요청을 승인하는 것이 실패 유형이며 해결책이 아닙니다.
지원을 위해 기록할 것
지원팀에게 유용한 기록은 작습니다. 시간대를 포함한 대략적 시각, 계정, 클라이언트와 버전, 요소 유형, 그리고 각 시도의 비밀이 아닌 상태입니다. 요청됨, 거부됨, 만료됨, 승인되었으나 정책으로 거부됨.
클라이언트와 서버의 시계도 살펴보십시오. TOTP는 시간 창 검사이므로 시계가 어긋난 기기는 유효해 보이는 코드를 만들어 매번 실패하며, 어긋남을 언급하지 않고 잘못된 코드를 보고하는 클라이언트는 한 번도 틀린 적 없는 자격 증명을 재설정하게 만듭니다. 로그인이 반복해서 실패하는 사용자는 더 많은 요청을 만들기 전에 지원되는 클라이언트 버전, 등록 상태, 문서화된 복구 흐름을 확인해야 합니다.
복구 경로는 로그인 경로만큼 주의를 기울일 가치가 있습니다. 분실 기기 워크플로는 거부가 인증을 우회할 권한이 되지 않도록 하기 위해 존재하며, 클라이언트는 자체 절차를 즉흥적으로 만들지 말고 조직의 문서화된 프로세스를 연결해야 합니다.
세워야 할 원칙은 거부가 결과이지 장애물이 아니라는 것입니다. 한 번, 명확하게, 행동할 수 있을 만큼의 맥락과 함께 보고하고 다음 시도는 새것이 되게 하십시오. 피싱 저항 MFA에 관한 CISA 지침은 “승인될 때까지 묻는” 패턴이 애초에 왜 위험한지 설명하며, 누군가 재시도 루프를 제안할 때 인용할 만한 참고 자료입니다. 거부 후에 클라이언트가 더하는 모든 것은 다음 결정을 사람에게 더 쉽게 만들어야 하며, 결정을 사람에게서 빼앗아서는 안 됩니다.