Jenkins 버전 업그레이드 방법
출처: https://jenkins.io
2015년 말부터 Java deserialization 관련 취약점이 이슈화되면서 자바를 사용하는 애플리케이션에 대한 공격이 지속적으로 늘어나고 있습니다.
CI 오픈 소스 툴인 Jenkins도 공격이 가능한 Exploit 코드가 발표되면서 버전 업그레이드가 불가피 하게 되었습니다.
(참고, CVE-2015-8103, CVE-2016-0788, CVE-2016-9299, CVE-2017-1000353)
최근 발표된 CVE-2017-1000353 취약점에는 2.56, LTS 2.46.1 이전 버전을 사용하는 경우에 해당하고 있으니
Jenkins를 사용하시는 분은 버전을 확인해서 피해를 입으시는 일이 없길 바랍니다.
1. 기존 버전 확인
- Jenkins 관리 -> About Jenkins 또는 Jenkins 메인 페이지 오른쪽 하단
2. 최신 버전 다운로드
- 운영체제에 따라 rpm, pkg 등으로 설치할 수 있지만 여기서는 tomcat과 war 파일을 이용하여 구동하도록 합니다.
[seyou@localhost ~]$ cd ~/apps
[seyou@localhost apps]$ wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
[seyou@localhost apps]$ mkdir jenkins-2.89.4
[seyou@localhost apps]$ mv ./jenkins.war ./jenkins-2.89.4
(war 파일 다운로드 받는 위치는 tomcat의 server.xml의 appBase에 따라 다를 수 있습니다)
3. 기존 동작 중인 tomcat 동작 중지
(개인적으로 yum 등으로 설치하는 것은 애플리케이션 관리가 불편해 바이너리로 다운 받아 구동합니다)
[seyou@localhost apps]$ cd ~/apps/tomcat-8.5.11/bin
[seyou@localhost apps]$ shutdown.sh
Using CATALINA_BASE: /home1/seyou/apps/tomcat-8.5.11
Using CATALINA_HOME: /home1/seyou/apps/tomcat-8.5.11
Using CATALINA_TMPDIR: /home1/seyou/apps/tomcat-8.5.11/temp
Using JRE_HOME: /home1/seyou/apps/jdk
Using CLASSPATH: /home1/seyou/apps/tomcat-8.5.11/bin/bootstrap.jar:/home1/seyou/apps/tomcat-8.5.11/bin/tomcat-juli.jar
4. tomcat 재시작
(appBase가 기존 버전과 같은 디렉토리를 사용한다면 war 파일이 교체되어 있어야하며, 다른 디렉토리를 사용하면 appBase 수정이 필요합니다.)
[seyou@localhost apps]$ startup.sh
Using CATALINA_BASE: /home1/seyou/apps/tomcat-8.5.11
Using CATALINA_HOME: /home1/seyou/apps/tomcat-8.5.11
Using CATALINA_TMPDIR: /home1/seyou/apps/tomcat-8.5.11/temp
Using JRE_HOME: /home1/seyou/apps/jdk
Using CLASSPATH: /home1/seyou/apps/tomcat-8.5.11/bin/bootstrap.jar:/home1/seyou/apps/tomcat-8.5.11/bin/tomcat-juli.jar
Tomcat started.
5.변경된 버전 확인