D-16
🔗 불필요한 DB 링크 제거
데이터베이스 보안
위험도: 중💡 쉽게 말하면
우리 집에서 옆집 현관까지 바로 통하는 비밀 통로가 있고, 그 통로에 옆집 열쇠까지 걸려 있다면 위험합니다. 안 쓰는 DB 링크는 인접 DB의 자격증명을 품은 그런 통로입니다. 필요 없는 통로는 막아두어야 합니다.
우리 집에서 옆집 현관까지 바로 통하는 비밀 통로가 있고, 그 통로에 옆집 열쇠까지 걸려 있다면 위험합니다. 안 쓰는 DB 링크는 인접 DB의 자격증명을 품은 그런 통로입니다. 필요 없는 통로는 막아두어야 합니다.
🎯 직접 해보기 — 공격을 실행해 보세요
아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.
# 공격자가 남아 있는 DB 링크를 타고 인접 DB로 측면 이동한다
# [공격 실행] 버튼을 누르면 시작합니다.
📋 설정 비교 (왜 막혔나?)
✗ 취약한 설정
-- DB 링크 목록
SQL>
SELECT db_link, username, host FROM dba_db_links;
OLD_LINK APPUSER legacy-db
→ 미사용 링크에 자격증명 잔존 (취약)
✓ 안전한 설정
-- 불필요 링크 삭제
SQL>
DROP DATABASE LINK OLD_LINK;
Database link dropped.
→ 미사용 링크 제거 (양호)
🔧 조치 방법
- 사용하지 않는 DB 링크를
DROP DATABASE LINK로 제거합니다. - 필요한 링크는 최소 권한 계정으로 생성하고 주기적으로 점검합니다.
✅ 점검 체크리스트
- 불필요한 DB 링크가 제거됨
- 잔존 링크가 최소 권한으로 구성됨
점검기준: 데이터베이스 > 불필요한 DB 링크 제거