사용자 잠금
사용자 잠금 (User Lockout)
Vault의 사용자 잠금(User Lockout) 기능은 잘못된 자격 증명으로 반복 로그인을 시도하는 공격(브루트포스 공격)으로부터 인증 메서드를 보호하는 기능입니다. 일정 횟수 이상 실패하면 해당 사용자(또는 인증 주체)를 일시적으로 잠가 추가 인증 시도를 차단합니다.
출처: 문서
본문
사용자 잠금이란
사용자 잠금은 인증 메서드에서 보안을 강화하기 위한 기능으로, 지정된 시간 안에 실패한 로그인 시도가 한계값을 초과하면 해당 사용자의 인증을 일시적으로 차단합니다. 이를 통해 무차별 대입(brute-force) 및 자격 증명 스터핑(credential stuffing) 공격을 완화합니다.
동작 방식
인증 메서드 구성에서 잠금 관련 파라미터를 설정합니다. 일반적으로 다음과 같은 값들이 사용됩니다.
- 실패 시도 한계(failure attempts limit) — 잠금을 유발하는 실패 로그인 횟수
- 잠금 기간(lockout duration) — 잠금이 유지되는 시간
- 잠금 창(lockout window) — 실패 횟수를 계산하는 시간 창
예를 들어 일부 인증 메서드(LDAP 등)에서는 다음처럼 설정할 수 있습니다.
$ vault write auth/ldap/config \
...
userlockout_threshold=5 \
userlockout_duration="15m"
잠금 해제
- 잠금 기간이 지나면 자동으로 잠금이 해제됩니다.
- 관리자는 해당 인증 메서드의 상태를 조회·해제할 수 있는 권한이 있으면 잠금을 수동으로 해제할 수 있습니다.
주의사항
- 잠금 기능은 인증 메서드에 따라 지원 여부와 파라미터 이름이 다릅니다.
- 잠금 임계값을 너무 낮게 두면 정상 사용자도 잠길 수 있으므로, 조직의 위협 모델에 맞게 조정해야 합니다.
- 사용자 잠금은 단일 사용자 클래스에 적용되며, 전체 인증 메서드가 아닌 개별 사용자/계정 단위로 동작합니다.
참고: 사용자 잠금의 정확한 파라미터 이름과 지원 인증 메서드는 버전에 따라 다를 수 있으니 공식 문서를 확인하세요.