http 기본 메소드 제한해야 하는 이유
http 인증 프로토콜 순서
- 요청 : 사용자가 서버에게 인증이 필요한 자료를 요청
- 인증요구 : WWW-Authenticate 서버는 사용자에게 인증을 요구하는 401 상태정보를 요구
- 인증 : Authorization 사용자는 이름과 비밀번호를 기술한 헤더와 함께 보낸다.
- 성공 : Authorization-Info 인증이 정확하면 서버는 응답한다.
http method 중에 OPTIONS 메소드가 있는데, OPTIONS는 웹서버에서 지원하는 method가 어떤 것들이 있는지를 알려준다.
GET, POST는 기본적인 메소드이므로 제한을 두지 않는데 OPTIONS 은 어떤 메소드가 허용 가능한지 알려줘서 제한 해야함.
TRACE는 클라이언트가 송신한 request를 그대로 return한다. connector 의 allowTrace 속성으로만 제한함.
tomcat 에서는 web.xml에 이런식으로 http-method를 넣어서 메소드를 제한 시킬 수 있음.
<security-constraint>
<web-resource-collection >
<web-resource-name >restricted methods </web-resource-name >
<url-pattern >/* </url-pattern >
<http-method >OPTIONS </http-method >
</web-resource-collection >
<auth-constraint />
</ security-constraint>
이때 사용자가 서버에 요청을 하고 서버에서는 인증요구를 나타내는 401 상태정보를 사용자에게
내려줄때 공격자가 해당 공격이 유효하나 권한문제로 인하여 공격이 실패되었음을 유추 할 수 있다.
tomcat에서 http 기본 메소드를 web.xml에서 제한시키고 options 요청을 날리면 401상태 정보를
사용자에게 넘기는데 이때는 공격이 유효하지 않아서 401 메세지에 대해 다른 작업을 할 필요가 없어보임.
'개발' 카테고리의 다른 글
서블릿으로 Dispatchservlet 역할 구현하기-2 (request.getRequestURI ,getParameter ) (0) | 2016.07.01 |
---|---|
서블릿으로 Dispatchservlet 역할 구현하기-1 (0) | 2016.07.01 |
웹페이지 한글 출력,servlet 한글 출력,물음표 표시 해결, 웹 브라우져에 따른 파라미터 처리,오라클 케릭터셋-2 (0) | 2015.05.10 |
톰켓 한글 setCharacterEncoding 안되는 이유, jsp,servlet 한글 인코딩 문제, 웹 브라우져에 따른 파라미터 처리방식-1 (0) | 2015.05.10 |
자바 리플렉션 사용법 , Reflection (0) | 2015.05.10 |