본문 바로가기

프로그래밍 학습/보안 이론

톰캣 서버 보안 취약점 정리

728x90

 

취약점

- Tomcat은 Web 환경의 관리자 콘솔을 제공함.

- 관리자 콘솔이 외부로부터 침해되는 경우 Web에 관련된 모든 권한을 누출할 수 있으므로 관리에 주의해야 함.

- 관리자 인증을 위한 페이지가 쉽게 인지 가능하거나 유추로 인해 접근 되어지는 경우에는 취약함.

 

접근 방법 : IP주소/manager OR IP주소/admin 

EX) 164.122.2.61/manager

 

ㅇ 해결방법

기존의 Tomcat Web 환경의 관리자 콘솔을 사용하지 않아 콘솔을 사용하는 페이지명 변경

톰캣 폴더 안에 있는 manager 폴더명을 바꾸면 해결된다.

 

□ 취약점

- 웹 디렉토리에 Write(쓰기) 권한을 제거

- 일반 사용자가 웹 서버 홈 디렉토리에 임의의 파일을 생성, 삭제, 변경할 수 있으면, 홈페이지의 변조, 파일의 삭제 등의 피해가 발생할 수 있음.

- 로그 파일에는 공격자에게 유용한 정보가 들어있을 수 있으므로 권한

관리가 필요함.

- 일반 사용자에 의한 정보 유출이 불가능 하도록 권한 설정 필요함.

 

ㅇ 해결방법

◦ webapps, root 폴더 권한을 750(rwxr-x---) 권한으로 변경

◦ Tomcat 로그파일 생성할 때 디폴트 권한 umask 026 처리

로그파일은 startup.sh 파일에서 umask 026을 코드에 추가해주시면 이후로 생성되는 것은 640 권한으로 변경

 

□ 취약점 

- 불필요한 examples 디렉토리(/examples) 제거

- 서버에 대한 상세 정보를 제공하고 있고, 예제 프로그램 취약점 공격 예방을

위해서는 삭제하는 것이 바람직함.

 

ㅇ 해결방법

Tiomcat Dir/webapps/examples 폴더 삭제

 

 

□ 취약점

- 공격자가 대상 시스템의 정보를 획득하기 위해 고의적으로 다양한 에러를 유발하여 돌아오는 에러 메시지를 통해 웹 프로그램의 구조 및 환경 설정을 추정할 수 있음.

 

ㅇ 해결방법

◦ web.xml에 400, 401, 403, 404, 500 에러 페이지 설정