본문 바로가기

WAS/JBoss&WildFly

http method 제한

728x90

보안취약점 조치를 위한 내용으로 주로 Http Listener와 AJP 사용 시 AJP Listener를 사용할텐데,

사용하는 Listener마다 적용 필요

만약 GET POST를 제외한 메소드를 모두 제한해야 한다면 다음과 같이 진행

 

[관리 콘솔 상에서 설정]

Configuration -> Subsystems -> Subsystem -> Web(Undertow)  -> Settings -> Server -> default-server -> Listener

 

 

 

이렇게 제한할 method를 작성하고 난 뒤에 엔터를 눌러주어야 적용된다.

이렇게 말이다.

 

아래의 Save를 누르면 된다.

저장 후, Reload가 필요하니 재기동을 해주자.

 

[설정파일에 직접 작성하는 방법]

※ 가이드 문서에서는 이 방법으로 하라고 적혀있다.

Listener 별로 disallowed-methods 란을 작성해주자.

<server name="default-server">
	<ajp-listener name="ajp" socket-binding="ajp"/>
	<http-listener name="default" socket-binding="http" disallowed-methods="TRACE PUT MKDIR" redirect-socket="https" enable-http2="true"/>
	<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
	<host name="default-host" alias="localhost">
		<location name="/" handler="welcome-content"/>
		<http-invoker security-realm="ApplicationRealm"/>
	</host>
</server>

 

 

[jboss-cli를 통한 설정]

※ 기존에 적용되있던 http method도 같이 작성해줘야 한다.

만약 누락된 채 설정하게 되면 작성한 내용만 적용되고, 기존에 적용됐던 내용은 삭제된다.

[standalone@192.168.56.101:9990 /] /subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=disallowed-methods,value=[TRACE, PUT, MKDIR])