D-08
⌛ 세션 타임아웃 설정 (유휴 세션 종료)
데이터베이스 보안
위험도: 중💡 쉽게 말하면
로그인한 채로 자리를 비운 관리자 PC입니다. 화면이 켜져 있고 문서도 열려 있죠. 지나가는 누구나 쿼리를 실행하고 자료를 빼갈 수 있습니다. 15분이면 자동으로 잠기도록 해야 합니다.
로그인한 채로 자리를 비운 관리자 PC입니다. 화면이 켜져 있고 문서도 열려 있죠. 지나가는 누구나 쿼리를 실행하고 자료를 빼갈 수 있습니다. 15분이면 자동으로 잠기도록 해야 합니다.
🎯 직접 해보기 — 공격을 실행해 보세요
아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.
# 공격자가 자리 비운 세션을 탈취해 데이터를 빼간다
# [공격 실행] 버튼을 누르면 시작합니다.
📋 설정 비교 (왜 막혔나?)
✗ 취약한 설정
-- 유휴 세션 제한 확인
SQL>
SELECT limit FROM dba_profiles WHERE resource_name='IDLE_TIME';
UNLIMITED
→ 방치 세션이 무제한 유지 (취약)
✓ 안전한 설정
-- 유휴 세션 자동 종료 설정
SQL>
ALTER PROFILE DEFAULT LIMIT IDLE_TIME 15; -- 15분
Profile altered.
>> 15분 유휴 시 세션 자동 종료 (양호)
🔧 조치 방법
- 프로파일에
IDLE_TIME(예: 15분)을 설정합니다. - 종료된 세션의 리소스 회수를 위해
RESOURCE_LIMIT=TRUE를 확인합니다. - 장기 배치 작업은 별도 프로파일로 예외 관리합니다.
✅ 점검 체크리스트
- IDLE_TIME이 제한(예: 15분)되어 있는가
- 예외 작업 프로파일이 문서화되어 있는가
점검기준: 데이터베이스 > 세션 타임아웃