← 전체 목록
병원홈페이지보안

디렉토리 열람 차단으로 사이트 구조 노출을 막습니다

ℹ️ 본 글은 정보 제공 목적이며, 광고·제휴 링크가 포함될 수 있습니다.

워드프레스 디렉토리 열람 차단은 간단하지만 많은 사이트에서 놓치는 설정입니다. 디렉토리 리스팅이 열려 있으면 브라우저에서 폴더 URL을 입력했을 때 폴더 안 파일 목록이 그대로 보입니다. 제가 점검한 병원 사이트 중 하나는 https://병원사이트.com/wp-content/plugins/ 에 접속하면 설치된 모든 플러그인 이름이 나열됐습니다. 공격자 입장에서는 어떤 플러그인의 어떤 취약점을 공략할지 파악하기가 너무 쉬운 환경이었습니다.

디렉토리 열람이 위험한 이유

단순히 파일 목록이 보이는 것처럼 보여도, 공격자에게는 귀중한 정보입니다.

  • 플러그인 목록 노출: 어떤 플러그인이 어떤 버전인지 알면 CVE 취약점을 바로 적용 가능
  • 백업 파일 발견: backup, old, bak 같은 이름의 파일이 폴더에 방치된 경우 다운로드 가능
  • 로그 파일 열람: 에러 로그나 디버그 파일에 DB 정보나 경로가 노출될 수 있음
  • 미완성 파일 노출: 개발 중 임시 파일이나 테스트 스크립트가 남아 있을 경우 실행 가능

차단 방법

Nginx 환경 (권장)

nginx.conf 또는 사이트 설정 파일에서 autoindex off 를 확인합니다.

server {
    # 기본적으로 off이지만 명시적으로 선언
    autoindex off;
    
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
}

nginx는 기본이 off이지만, 어딘가에서 autoindex on 이 설정돼 있을 수 있습니다. 전체 설정 파일을 검색해서 확인하세요.

grep -r "autoindex on" /etc/nginx/

Apache 환경 (.htaccess)

Options -Indexes

이 한 줄을 .htaccess 파일에 추가하면 됩니다. 워드프레스 .htaccess에 이미 있는 경우도 있지만 없다면 추가하세요.

차단 확인 방법

설정 후 브라우저에서 파일이 없는 폴더 URL로 접근해봅니다.

https://병원사이트.com/wp-content/uploads/2024/

파일 목록 대신 403 Forbidden 또는 빈 화면이 나오면 차단된 것입니다. 여전히 파일 목록이 보인다면 설정이 적용되지 않은 것이니 웹서버를 재시작 후 다시 확인하세요.

sudo systemctl reload nginx
# 또는
sudo service apache2 reload

디렉토리 열람 차단은 설정 한 줄이면 되는 기초 조치입니다. 신규 서버 세팅 시 체크리스트에 반드시 포함시키세요.

편집 정책

AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.

작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)