취지 : tomcat을 이용한 web application을 만들경우 종종 고객사에서 보안상 jsp에서
사용하는 메소드 접근을 못하도록 설정해달라고 한다. 이때 톰켓에서 PUT,DELETE, OPTION 등등의 메소드를 막아보자
1. c:\[톰켓 설치장소]\conf\server.xml 파일을 수정한다.
==> <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
allowTrace="false" />
==> allowTrace="false" 부분을 추가 설정한다.
2. c:\[톰켓 설치장소]\conf\web.xml 파일을 수정한다.
==> <init-param>
<param-name>readonly</param-name>
<param-value>true</param-value>
</init-param>
==> <security-constraint>
<display-name>Forbidden</display-name>
<web-resource-collection>
<web-resource-name>Forbidden</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>TRACE</http-method>
<http-method>OPTIONS</http-method>
</web-resource-collection>
<auth-constraint>
<role-name></role-name>
</auth-constraint>
</security-constraint>
==> 2개의 수정된 부분을 추가로 넣어준다.
==> 헷갈리는 부분이 있을까봐 원본파일(web.xml, server.xml) 파일과 수정본 파일을 첨부한다.
(직접 비교할것)
==> tomcat을 다시 restart 시킨다.
3. 메소드를 호출하는 프로그램을 이용하여 프로그램을 실행시켜본다.
==> strawberry-perl-5.18.1.1-32bit.msi 파일을 설치한다. (기본으로 next 만 시켜주면 된다.)
(용량이 커서 다음의 파일은 검색하여 다운로드 할것 / naver N드라이브에 올려놓았음)
==> nikto-2.1.5.tar.bz2 파일을 다운로드하여 tomcat Servlet 정보를 손쉽게 얻을 수 있도록 한다. (Delete, Option, Put 정보)
4. 프로그램 구동하여 테스트 방법
==> strawberry-perl-5.18.1.1-32bit.msi 파일을 설치하였다면 cmd 창을 연다.
==> 다음의 화면이 정상적으로 출력되면 정상적으로 설치가 되었다는 뜻이다.
==> 명령어를 이용하여 nikto-2.1.5.tar -> nikto.pl 파일을 실행시킨다.
- nikto.pl 파일이 있는 위치로 이동한다.
- 명령어 입력한다 : nikto.pl -host localhost:8080 -output result.html -Format html -Cgidirs all (엔터)
- nikto.pl 위치한 파일에 result.html파일이 생성된다. 이 파일을 분석할때 OPTION, DELETE, PUT에 관련된 메소드가 없음을 확인한다.
'jsp' 카테고리의 다른 글
iframe 사용방법 (0) | 2009.11.20 |
---|