티스토리 뷰

시스템 보안 설정이 미흡하여 웹 서버 버전, 웹 애플리케이션 버전, 크로스 도메인 정책 파일 등이 노출되는 취약점이다. 이런 정보는 공격자에게 특정 서비스 및 버전에서 실행 가능한 취약점 공격에 악용될 수 있다.


1. 웹 서버 버전 정보 제공 금지

웹 서버 버전 정보가 노출되는 취약점을 제거하는 방법은 응답 헤더(Response Header)의 서버 정보를 표시하지 않도록 설정해야 한다.


 Apache

Apache 설정 파일인 httpd.conf 파일이나 extra/httpd-default.conf 파일에서 ServerTokens 및 ServerSignature 값을 다음과 같이 설정


ServerToken Prod # 서버 이름만 표시

ServerSignature Off # 서버 정보 표시 안 함


 Nginx

Nginx 설정 파일인 nginx.conf 파일에서 server_tokens 값을 Server 또는 location, http 절에 다음과 같이 설정


server_tokens Off # 내용 추가


2. PHP 버전 정보 제공 금지

X-Powered-By:PHP/5.x 헤더를 비활성화하는 방법은 php.ini 파일의 expose_php 값을 다음과 같이 설정


expose_php = Off


3. 톰캣 버전 정보 제공 금지 - 웹에서 톰캣 정보 숨기기

웹에서 톰캣 버전 정보가 노출되는 취약점을 제거하는 방법은 ServerInfo.properties 파일의 server.info 지시자를 다음과 같이 설정


# cd /톰캣 설치 위치/lib/org/apache/catalina/util

#vi ServerInfo.properties

Server.info=Server // Apache Tomcat/버전

server.number= // 톰캣 버전

server.built= // 빌드 날짜


4. 톰캣 버전 정보 제공 금지 - 응답 헤더에서 서버 정보 숨기기

HTTP 응답 헤더에서 톰캣 버전 정보가 노출되는 취약점을 제거하는 방법은 server.xml 파일의 Server 인자를 다음과 같이 설정


# vi server.xml

<Connector excecutor="tomcatThreadPool" port="8180" protocol="HTTP/1.1" connectionTimeout="20000" Server=" " redirectPort="81443" URIEncoding="UTF-8" />


5. 크로스 도메인 정책 파일 설정

기본적으로 현재 웹 사이트(A)에서 다른 웹 사이트(B)의 콘텐츠(웹 페이지, 이미지, 플래시 등) 접근이 제한되어 있다. 하지만, B 웹 사이트에서 크로스 도메인 정책 파일의 접근 제한을 해제한다면, A 웹 사이트는 B 웹 사이트의 콘텐츠를 마음대로 사용할 수 있게 된다. 모든 도메인에서 접근을 하지 못하도록 domain 및 port를 지정한다.


<?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="*.example.com" /> <allow-access-from domain="www.friendOfExample.com" /> <allow-access-from domain="192.0.34.166" /> </cross-domain-policy>


이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band
댓글
댓글쓰기 폼