본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

웹 서버 보안은 인터넷에 노출된 웹 서버가 침해되거나 정보를 흘리지 않도록 운영체제와 웹 서버 소프트웨어의 설정을 줄이고 잠그는(하드닝) 조치를 묶어 부르는 말이다.

웹 서버는 조직 네트워크에서 가장 자주 공격받는 호스트이다. NIST SP 800-44 는 웹 서버를 안전하게 두려면 서버 소프트웨어와 플랫폼을 고르는 일부터, 하부 운영체제와 웹 서버 소프트웨어를 안전하게 설정하고, 네트워크 보호 장치를 두고, 안전한 설정을 계속 유지하는 일까지 해야 한다고 정리한다.[1] 원칙은 세 가지로 요약된다. 쓰지 않는 기능은 끄고, 서버 프로세스에는 꼭 필요한 권한만 주며, 밖으로 내보이는 정보와 받아들이는 입력의 크기를 제한한다.

불필요한 기능 끄기

편집 원본 편집
  • 쓰지 않는 서비스·모듈·스크립트 매핑, 기본 설치 샘플과 관리 페이지를 지운다
  • WebDAV 는 원격 사용자가 HTTP 로 서버의 파일을 만들고, 옮기고, 지우고, 함께 편집하게 하는 확장이다. 콘텐츠를 웹으로 올리는 용도가 아니면 끈다. IIS 6.0 의 WebDAV 서비스에는 긴 헤더를 담은 PROPFIND 요청으로 원격 코드를 실행하는 버퍼 오버플로(CVE-2017-7269)가 있어 실제 공격에 쓰였다[2]
  • PUT, DELETE 같은 쓰지 않는 HTTP 메서드를 막는다

서버 프로세스 권한 최소화

편집 원본 편집

NIST 는 웹 서버 서비스 프로세스를 root·administrator 같은 관리자가 아니라 권한이 엄격히 제한된 사용자로 실행하게 하라고 한다. 서비스 프로세스는 웹 콘텐츠 파일을 읽을 수만 있고 쓸 수 없어야 하며, 공개 콘텐츠 디렉터리에도 쓰지 못하고, 로그 파일은 쓸 수만 있고 읽지 못하게 한다.[1] 침입자가 웹 애플리케이션 취약점으로 서버 프로세스를 장악해도 할 수 있는 일을 줄이려는 것이다. 사용자에게 서비스를 잘 제공하려고 웹 서버 실행 계정에 많은 권한을 주는 것은 최소 권한 원칙과 정반대이다. 유닉스 계열에서 80번처럼 1024번 미만 포트를 열 때는 root 로 시작한 뒤 요청을 처리하는 프로세스를 일반 계정으로 낮춘다 → 잘 알려진 포트

디렉터리 목록 노출 막기

편집 원본 편집

요청한 디렉터리에 기본 문서(index.html 등)가 없을 때 서버가 파일 목록을 만들어 보여 주는 기능은 끈다. 백업 파일, 소스 코드, 설정 파일의 위치가 드러나기 때문이다. NIST 도 웹 서버의 디렉터리 목록 출력은 대부분 꺼야 하며, 일반에 공개된 파일만 있는 디렉터리라도 목록으로 응답하지 말라고 한다.[1] 아파치는 Options 지시자에서 Indexes 를 빼면 아파치 웹 서버의 mod_autoindex 모듈이 목록을 만들지 않는다.[3] IIS 는 '디렉터리 검색'을 사용하지 않음으로 둔다 → 디렉토리 리스팅, 윈도우 IIS

업로드·요청 크기 제한

편집 원본 편집
  • 아파치의 LimitRequestBody 는 클라이언트가 보내는 HTTP 요청 본문의 최대 바이트 수를 정한다. 2.4.54 부터 기본값이 1GiB 이고 그 전에는 0(무제한)이었다[3]
  • IIS 는 요청 필터링의 maxAllowedContentLength 로 요청 본문 크기를 제한하며 기본값은 30,000,000바이트(약 28.6MB)이다[4]
  • 크기 제한은 큰 파일로 디스크와 메모리를 채우는 서비스 거부를 막는다. 업로드 파일은 웹 서버가 실행하지 않는 별도 디렉터리에 두고 확장자를 검사한다 → 파일 업로드 취약점

정보 노출 줄이기

편집 원본 편집
  • 응답 배너·헤더에 서버 종류와 버전을 드러내지 않는다
  • 상세 오류 메시지를 외부에 보여 주지 않는다
  • 원격 관리는 SSH·HTTPS 같은 안전한 경로로만 하고 관리 계정 권한도 최소로 둔다[1]

조치 가려 보기

편집 원본 편집
설정 맞는 조치 이유
WebDAV 쓰지 않으면 비활성화 원격 파일 생성·삭제 기능이 공격 경로가 된다
웹 서버 실행 계정 제한된 일반 계정 장악당해도 피해를 줄인다. 권한을 넓히는 것은 잘못이다
디렉터리 목록 끔 숨은 파일 위치 노출
업로드·다운로드 크기 최대 크기 지정 자원 고갈 방지
서버 배너·오류 최소 정보만 버전별 취약점 탐색 방지
  1. ↑ 1.0 1.1 1.2 1.3 「Guidelines on Securing Public Web Servers」(NIST SP 800-44 Version 2), NIST, https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-44ver2.pdf, 확인일: 2026-11-04.
  2. ↑ 「CVE-2017-7269」, NIST National Vulnerability Database, https://nvd.nist.gov/vuln/detail/CVE-2017-7269, 확인일: 2026-11-04.
  3. ↑ 3.0 3.1 「Apache Core Features」·「mod_autoindex」, Apache HTTP Server 2.4 Documentation, https://httpd.apache.org/docs/2.4/mod/core.html, 확인일: 2026-11-04.
  4. ↑ 「Request Limits <requestLimits>」, Microsoft Learn(IIS 구성 참조), https://learn.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/requestlimits/, 확인일: 2026-11-04.