D-05
🔁 패스워드 재사용 금지
데이터베이스 보안
위험도: 중💡 쉽게 말하면
도둑이 예전에 한 번 알아냈던 집 비밀번호를, 당신이 시간이 지나 다시 그 번호로 바꾸면 도둑은 또 들어옵니다. "최근에 쓰던 번호는 다시 못 쓰게" 막아두면, 과거에 새어 나간 비밀번호가 더는 통하지 않습니다. 그것이 패스워드 재사용 금지입니다.
도둑이 예전에 한 번 알아냈던 집 비밀번호를, 당신이 시간이 지나 다시 그 번호로 바꾸면 도둑은 또 들어옵니다. "최근에 쓰던 번호는 다시 못 쓰게" 막아두면, 과거에 새어 나간 비밀번호가 더는 통하지 않습니다. 그것이 패스워드 재사용 금지입니다.
🎯 직접 해보기 — 공격을 실행해 보세요
아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.
# 공격자가 과거에 유출된 비밀번호로 재로그인을 시도한다
# [공격 실행] 버튼을 누르면 시작합니다.
📋 설정 비교 (왜 막혔나?)
✗ 취약한 설정
-- 재사용 제한 확인
SQL>
SELECT limit FROM dba_profiles WHERE resource_name='PASSWORD_REUSE_MAX';
UNLIMITED
→ 과거 비밀번호 재사용 가능 (취약)
✓ 안전한 설정
-- 재사용 제한 설정
SQL>
ALTER PROFILE DEFAULT LIMIT PASSWORD_REUSE_MAX 10 PASSWORD_REUSE_TIME 365;
Profile altered.
→ 최근 비밀번호 재사용 차단 (양호)
🔧 조치 방법
PASSWORD_REUSE_MAX(횟수)와PASSWORD_REUSE_TIME(기간)을 함께 설정합니다.- 모든 사용자 프로파일에 정책이 적용되는지 확인합니다.
✅ 점검 체크리스트
- PASSWORD_REUSE_MAX/TIME이 UNLIMITED가 아닌가
- 전 계정 프로파일에 정책 적용
점검기준: 데이터베이스 > 패스워드 재사용 제한