D-09
🔒 로그인 실패 횟수 제한
데이터베이스 보안
위험도: 상💡 쉽게 말하면
현관 비밀번호를 무한정 눌러볼 수 있다면 도둑은 언젠가 맞힙니다. "5번 틀리면 잠김"을 걸어두면, 자동으로 수천 번 눌러보는 공격이 5번 만에 멈춥니다. 그것이 계정 잠금 정책입니다.
현관 비밀번호를 무한정 눌러볼 수 있다면 도둑은 언젠가 맞힙니다. "5번 틀리면 잠김"을 걸어두면, 자동으로 수천 번 눌러보는 공격이 5번 만에 멈춥니다. 그것이 계정 잠금 정책입니다.
🎯 직접 해보기 — 공격을 실행해 보세요
아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.
# 공격자가 자동화 도구로 DB 비밀번호를 무차별 대입한다
# [공격 실행] 버튼을 누르면 시작합니다.
📋 설정 비교 (왜 막혔나?)
✗ 취약한 설정
-- 실패 임계값 확인
SQL>
SELECT limit FROM dba_profiles WHERE resource_name='FAILED_LOGIN_ATTEMPTS';
UNLIMITED
→ 무차별 대입 가능 (취약)
✓ 안전한 설정
-- 임계값/잠금 설정
SQL>
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LOCK_TIME 1;
Profile altered.
→ 5회 실패 시 계정 잠금 (양호)
🔧 조치 방법
FAILED_LOGIN_ATTEMPTS를 5회 이하로 설정합니다.PASSWORD_LOCK_TIME으로 잠금 시간을 설정합니다.
✅ 점검 체크리스트
- FAILED_LOGIN_ATTEMPTS가 제한되어 있는가
- 잠금 시간이 설정됨
점검기준: 데이터베이스 > 로그인 실패 횟수 제한