본문 바로가기

WAS/JBoss_WildFly

[JBoss/WildFly] Server 헤더, X-Powered-By 헤더 제거

#. 참고 RedHat 문서

https://access.redhat.com/solutions/158523

 

#. 참고 블로그 글

http://www.opennaru.com/jboss/jboss-remove-x-powered-by/

 


 

#. 서버 정보가 노출되는 보안취약점

Server 헤더와 X-Powered-By 헤더 정보가 노출되면

어떤 WAS 서버를 사용하고 있는지 외부로 노출되어 보안취약점이 발생한다.

다른 값으로 변경하거나, 헤더 자체를 보이지 않게끔 조치해야 한다.

 


 

#. Server 헤더 조치 

JBoss 기동 명령어에 아래 옵션을 추가.

-Dorg.apache.coyote.http11.Http11Protocol.SERVER="원하는값"

 

해당 옵션의 이름 값은 자유롭게 설정 가능

아래 예시와 같이 SecureServer로 설정하면

Response Header Server 항목에 SecureServer로 출력된다.

 

 


 

#.  X-Powered-By 헤더 조치

standalone.xml 파일을 수정해야 한다.

 

standalone.xml 파일에서

jboss:domain:web 키워드로 검색

<subsystem> 태그 내에 <configuration> 태그가 없다면

<configuration> 태그를 우선 추가해준다.

<configuration> 태그 내에

<jsp-configuration x-powered-by="false"/>

옵션을 추가.

        <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
            <configuration>
                <jsp-configuration x-powered-by="false"/>
            </configuration>
            <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
            <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp" enabled="true"/>
            <virtual-server name="default-host" enable-welcome-root="true">
                <alias name="localhost"/>
                <alias name="example.com"/>
            </virtual-server>
        </subsystem>

 

해당 설정은 JSP가 컴파일될 때 적용되기 때문에, 

이미 컴파일이 된 JSP 파일에 적용하려면 tmp 디렉터리를 삭제해야 한다.

 

tmp 디렉토리의 위치는

일반적으로 configuration 디렉토리와 동일한 경로 상에 위치한다.

{JBOSS_HOME}/{서버 인스턴스 홈 디렉토리}/tmp

 

반드시 JBoss 프로세스를 우선 shutdown 시킨 후에

tmp 디렉토리를 제거하도록 한다.