📂 전자금융 보안 모의해킹 · 디렉토리 목록 노출 방지
Target: 웹서버 정적 자원 디렉터리
평가기준: 위험도 3 WEB-SER 디렉토리 목록(029)
평가기준: 위험도 3 WEB-SER 디렉토리 목록(029)
💡 쉽게 말하면
문서가 없는 방 문을 열면 창고 안 물건 목록이 다 보이는 셈입니다. 목록 보기를 끄고 대신 안내문(기본문서)을 걸어둬야 합니다.
문서가 없는 방 문을 열면 창고 안 물건 목록이 다 보이는 셈입니다. 목록 보기를 끄고 대신 안내문(기본문서)을 걸어둬야 합니다.
🔓 공격 시뮬레이션 (Red Team)
🛡️ 대응 방안 (Blue Team)
디렉터리 요청🔒 Secured Channel
웹서버에 디렉터리 인덱싱(autoindex)이 켜져 있으면, 기본문서가 없는 폴더 접근 시 백업·설정 파일 목록이 그대로 노출됩니다.
⚡ 디렉터리 인덱싱 열람
기본문서 없는 폴더 직접 요청
기본문서 없는 폴더 직접 요청
OFF
🖥️ 금융 시스템 처리 로그
[SYSTEM] Core Banking Channel ready.
[INFO] 거래 요청 대기 중...
⚖️ 컴플라이언스 위반 분석
공격 실행 후 분석 결과가 표시됩니다.
[심각] 전자금융 보안 기준 위반 감지
- 금융보안원 평가기준 WEB-SER 디렉토리 목록(029) (위험도 3)
- 디렉터리 인덱싱에 의한 정보 노출 위반
- 전자금융감독규정 제15조(정보보호대책) 미흡
🛡️ 대응 코드/설정 실습
웹서버에서 디렉터리 인덱싱을 비활성화하고 기본문서를 지정해야 합니다. 아래 설정을 보완하세요.
📚 금융보안원 평가기준 / 조치 가이드
1. 점검 항목
정보 노출 > 디렉토리 목록 노출 방지2. 위험 분석
- 디렉터리 인덱싱으로 백업·설정 파일 목록 노출
3. 조치 방법
- Options -Indexes(autoindex off)
- 기본문서(DirectoryIndex) 지정
🏗️ 현대 금융 IT 환경에서의 변형
컨테이너 기본값S3 정적호스팅IaC
어디가 달라졌나
점검 대상이 서버 설정 파일에서 이미지·클라우드 설정으로 옮겨 갔습니다.
공식 nginx 이미지는 기본적으로 autoindex 가 꺼져 있지만, 사내 베이스 이미지에서 켜 두고 잊는 경우가 있고,
S3 정적 호스팅에서는 ListBucket 권한이 사실상 같은 결과를 냅니다.
현대 스택에서의 조치
- 이미지 빌드 시
autoindex off;를 명시하고, 그 설정을 이미지에 굽습니다. - S3 는 퍼블릭
s3:ListBucket을 부여하지 않습니다. 객체 읽기 권한만으로 충분합니다. - 정적 자산은 CloudFront + OAC 로 서빙하고 버킷 직접 접근을 막습니다.
# 취약한 버킷 정책 — ListBucket 이 곧 디렉터리 목록이다
{"Effect":"Allow","Principal":"*",
"Action":["s3:GetObject","s3:ListBucket"], ← ListBucket 제거
"Resource":["arn:aws:s3:::fin-assets","arn:aws:s3:::fin-assets/*"]}
놓치기 쉬운 곳 — 목록이 막혀도 파일명을 추측할 수 있으면 의미가 없습니다.
backup.zip·db_2026.sql 같은 이름은 그대로 열립니다 — 웹루트에 두지 않는 것이 근본 조치입니다.