반응형

Apache나, Tomcat 같은 웹서버나, WAS 서버를 공개 소프트웨어를 사용하게 되면 돈이 절약 됩니다.


하지만, 오픈소스 확산에 걸림돌로 작용하는 보안 패치문제는 걱정이 됩니다.


오픈 소스 패키지의 특정 버젼에서 버그를 일으키는 현상을 해커가 알고 있다면 그 홀(구멍)을 통해서 해킹을 할 수도 있습니다.


그래서 오늘은 Java로 웹 서비스할때 많이 쓰이는 apache Tomcat이 오류를 내보낼때 Tomcat의 버젼을 내보지 않도록 하는 설정에 대해서 말씀 드리겠습니다.


톰캣에서 오류를 일으켜 보면 아래와 같은 화면을 만날 수 있습니다.



위 화면에서는 Tomcat의 버젼이 표시 되어 있습니다. 


따라서 해당 버젼의 보안 취약점을 이용해서 공격이 들어 올 수도 있겠죠 ^^;;


1차적으로 브라우져를 통해서가지 아니고 curl 같은 툴을 통해서 확인 하는 부분 부터 해결 책을 알아 보면


<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" useBodyEncodingForURI="true"

URIEncoding="UTF-8"

server="apache" />

 

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" server="apache" />


위 문서 처럼 Connector 태그를 찾아서 server="apache" 라 써 주시면 됩니다.


curl -i 도메인 주소:포트 하시면


apache만 나오는 것을 보실 수 있을 것입니다.


그리고 웹에서의 해결책은 


cd [톰캣 설치 위치]/lib/org/apache/catalina/util


vi ServerInfo.properties

열어 보시면 아래와 같이 되어 있을 겁니다.

Server.info=Apache Tomcat/톰캣 버젼

server.number=톰캣 버젼

server.built=빌드 날짜


아래와 비슷하게 수정하시면 됩니다.

server.info=Apache Tomcat

server.number=

server.built=

그리고, 저파일이 저위치에 없을 경우에는 


cd [톰캣 설치 위치]/lib/


하시면


catalina.jar 파일이 있습니다.


이파일을 압축을 푸시면 해당 폴더가 생깁니다.


jar xf catalina.jar


그리고 압축을 해제한 jar 파일은 다른곳에 백업해 두십시오.


mv catalina.jar ../catalina.jar.bak


그리고 해당 위치에 가셔서 다시 저 작업을 수행한 후에


톰캣을 재실행하시면 됩니다.


그리고 다시 동일한 오류를 일으켜 보시면



위와 같이 보이시면 해결 된 것입니다. ^^;;


감사합니다.



반응형

+ Recent posts