HTTP Method의 종류
- GET: 클라이언트가 서버에게 URL에 해당하는 자료의 전송을 요청
- HEAD: GET 요청으로 반환될 데이터 중 헤더 부분에 해당하는 데이터만 요청(바디 제외)
- POST: 클라이언트가 서버에서 처리할 수 있는 자료를 보냄
- PUT: 클라이언트가 서버에게 지정한 URL에 지정한 데이터를 저장할 것을 요청
- DELETE: 클라이언트가 서버에게 지정한 URL의 정보를 제거할 것을 요청
- CONNECT: 클라이언트가 특정 종류의 프록시 서버에게 연결을 요청
- OPTIONS: 해당 URL에서 지원하는 요청 메시지의 목록을 요청(허용된 Method 확인)
- TRACE: 클라이언트가 서버에게 송신한 요청의 내용을 반환해 줄 것을 요청
- PATCH: 클라이언트가 서버에게 지정한 URL의 데이터를 부분적으로 수정할 것을 요청
Weblogic의 경우 WAS 자체에서 HTTP Method를 제한하는 방법이 없다. (Oracle Doc ID 1076314.1 참고)
--> application 단의 web.xml에서 메서드를 제한해야 한다.
Web.xml
web.xml 에 HTTP Method를 제한하는 옵션을 추가해줌
curl -v -X으로 특정 method가 허용되었는지 점검 가능함.
DELETE의 경우 위에서 제한하였기에 Method Not Allowed 확인 가능
POST는 제한을 두지 않았기에 200으로 method가 작동되는 것을 잘 확인 가능.
============================================================================
OHS Method 제한
method 제한은 GET, POST만 허용하게 해야 함. (그 외의 method (ex> DELETE, OPTIONS, PUT, TRACE, 등)은 보안 상의 문제로 허용하지 않아야 됨)
OHS에서 Method를 제한하기 위해서는 DocumentRoot의 httpd.conf를 수정해줘야 한다.
--> OHS 12.2.1.4 버전으로 실험함. 이 경우 Apache 2.4 버전의 명령어를 사용해야함 (Require all denied)
GET과 POST를 제외하고 모두 method를 제한하는 설정.
* Apache 2.2 버전을 기반으로 둔 OHS의 버전일 경우 (ex>12cR1), Order deny,allow // Deny from all 으로 설정 해야 함.
이후 curl 명령어를 날려보면
GET, POST만 Allow 목록에 뜬 것을 확인할 수 있다.
그 외 추가적으로 특정 method를 비활성화하고 싶은 경우 글 'ohs OPTIONS 메소드 비활성화 하기' 참고
'WAS & WEB' 카테고리의 다른 글
Session & Cookie (0) | 2022.06.20 |
---|---|
csp (0) | 2022.06.17 |
GCC (0) | 2022.06.14 |
Unicast vs Multicast (0) | 2022.05.18 |
Key store & Trust store (0) | 2022.04.18 |