WAS 정보 보호 가이드: 예제 파일 삭제 및 응답 헤더 설정법
·2023.07.06 08:00
핵심 내용
WAS의 버전 및 OS 정보 노출을 막기 위해 불필요한 예제 파일 삭제와 HTTP 응답 헤더 설정 변경이 필수적이다.
자세히 보기
WAS(Web Application Server)의 종류, 버전, 서버 운영체제 정보는 공격자가 취약점을 파악해 공격하기 쉬운 환경을 제공하므로, 개인정보와 동일한 수준으로 보호해야 한다. 기본 설정 그대로 운영하면 이러한 정보가 은연중에 노출되어 금전적 및 정신적 피해로 이어질 수 있다.
불필요한 파일 제거
실제 운영에 필요하지 않은 예제 프로그램, 매뉴얼, 관리자 페이지는 공격 표면이 되므로 반드시 삭제해야 한다.
- IIS: 5.0/6.0 버전의
iissamples,iishelp,msadc\sample등 디렉터리 삭제 (7.0 이상은 해당 없음) - Apache: 컴파일 설치 시
[Apache Dir]/htdocs/manual등 매뉴얼 디렉터리 삭제 - Tomcat:
webapps/examples,host-manager,manager,docs디렉터리 삭제 - NGINX: 별도 예제 파일이나 도움말 디렉터리를 제공하지 않음
HTTP 응답 헤더 정보 숨김
HTTP 응답 헤더의 Server 항목에 WAS 버전과 OS 정보가 노출되는 것을 방지하기 위해 각 서버별 설정을 변경한다.
- IIS: URL 재작성 모듈을 설치하고 아웃바운드 규칙을 통해
Server헤더 값을0등으로 치환 - Apache:
ServerTokens Prod,ServerSignature Off설정 적용 - Tomcat:
server.xml의server속성 값을Unknown Server등으로 변경 - NGINX:
server_tokens off;지시문 적용 - Node.js:
app.disable('x-powered-by');코드를 추가하여X-Powered-By헤더 제거
상태 코드 페이지 커스터마이징
기본 제공되는 HTTP 상태 코드 페이지(404, 500 등)에는 서버 정보가 포함될 수 있으므로, 각 서버에 맞는 커스텀 HTML 페이지로 매핑하여 정보를 숨기고 사용자 친화적인 안내를 제공한다.
- IIS:
web.config의<httpErrors>태그를 이용해 상태 코드별 커스텀 페이지 경로 지정 - Apache:
ErrorDocument지시문을 통해 상태 코드별 파일 경로 설정 - Tomcat:
web.xml의<error-page>태그로 상태 코드와 위치 매핑 - NGINX:
error_page지시문으로 4xx, 5xx 상태 코드별 공통 또는 개별 페이지 지정 - Spring Boot:
src/main/resources/error폴더에 상태 코드별 HTML 파일 배치 - Node.js: Express 미들웨어를 통해
res.sendFile로 커스텀 에러 페이지 응답
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.