19장. 비밀번호 재설정을 계정 탈취 경로로 다룬다
재설정 요청 응답은 계정 존재 여부와 무관하게 같게 한다. token은 이메일 검증과 다른 purpose, 저장소, 만료를 사용한다. 성공하면 모든 기존 재설정 token을 폐기하고, 위험도에 따라 기존 세션과 refresh token을 무효화하며 사용자에게 보안 알림을 보낸다.
{
"message": "계정이 존재하면 재설정 안내를 보냈습니다."
}
support 상담원이 임시 비밀번호를 보고 전달하는 절차는 없앤다. 관리자 계정 재설정은 더 강한 본인 확인과 이중 승인을 요구한다. 이메일 계정 자체가 탈취된 상황을 고려해 패스키, 복구 코드, 조직 관리자 확인 등 복구 수단을 설계한다.
재설정 후 공격자와 정상 사용자가 경쟁하는 상황을 runbook으로 연습한다. 어떤 세션이 남는지, 감사 이벤트가 무엇인지, 사용자가 어디서 “모든 기기 로그아웃”을 누르는지 실제로 확인한다.