문서의 이전 판입니다!
WAS 보안 취약점 점검
서버 정보 노출
원인
서버 헤더에 해당 서버의 제품명, 버전등이 노출되는 문제
해결방법
JBoss EAP 6.x
- SERVER 헤더
SERVER 헤더는 완전히 노출되지 않도록 할 수는 없습니다. 다만 헤더의 내용은 임의로 변경 가능합니다.
서버의 해당 org.apache.coyote.http11.Http11Protocol.SERVER Property값을 설정합니다.
org.apache.coyote.http11.Http11Protocol.SERVER="foo"
또는 설정파일내에 시스템 프로퍼티를 지정합니다.
<system-properties>
<property name="org.apache.coyote.http11.Http11Protocol.SERVER" value="foo"/>
</system-properties>
- X-PoweredBy 헤더
X-PoweredBy 헤더는 JBoss 옵션을 변경하도록 합니다.
/subsystem=web/configuration=jsp-configuration/:write-attribute(name=x-powered-by,value=false)
{
"outcome" => "success",
"response-headers" => {
"operation-requires-reload" => true,
"process-state" => "reload-required"
}
}
그러면 구성파일이 변경되고 아래 섹션이 추가됩니다.
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<configuration>
<jsp-configuration x-powered-by="false"/>
</configuration>
...
...
</subsystem>
서버를 다시 시작하고 변경 사항을 테스트하십시오.
JBoss EAP 7.x
Server: JBoss-EAP/7와X-Powered-By: Undertow/1헤더
위 두 헤더 내용을 출력하지 않게 하려면 아래와같은 CLI명령어를 수행하도록 합니다.
/subsystem=undertow/server=default-server/host=default-host/filter-ref=x-powered-by-header:remove /subsystem=undertow/server=default-server/host=default-host/filter-ref=server-header:remove
위 두 헤더를 다른 값으로 변경하고자 할때는 아래 CLI명령어를 수행합니다.
/subsystem=undertow/configuration=filter/response-header=server-header:write-attribute(name=header-value,value=foo) /subsystem=undertow/configuration=filter/response-header=x-powered-by-header:write-attribute(name=header-value,value=bar)
X-Powered-By: JSP/2.3헤더
이 헤더를 출력하지 않게 하려면 아래 CLI명령어를 수행합니다.
/subsystem=undertow/servlet-container=default/setting=jsp:write-attribute(name=x-powered-by,value=false)