보안조치사항 요청으로 젠킨스 업그레이드 하라고 한다.
취약점 정보 (CVE-2024-23897)
- Jenkins에서 args4j 라이브러리를 사용하여 CLI 명령을 처리할 경우 원격 코드 실행, 임의 파일 읽기 취약점이 발생할 수 있음
- 임의 파일 읽기 취약점의 경우 권한이 없는 공격자는 파일의 처음 3줄을 읽을 수 있으며, Overall/Read 권한이 있는 경우 전체 파일을 읽을 수 있음
※ 원격 코드 실행 - 원격에서 서버의 시스템 명령어를 실행할 수 있으며, 서버를 장악 당할 수 있음
※ 임의 파일 읽기 - 원격에서 서버의 시스템 정보를 포함하는 파일들을 읽을 수 있음
심각도
- 현 시점으로 외부에 공개된 exploit 코드가 다수 존재하며, Jenkins 공식 홈페이지에서 최고 점수인 Critical로 책정 (취약점의 영향이 있는 버전 사용 시 최대한 빠르게 조치 부탁드립니다.)
영향받는 버전
- Jenkins 2.441를 포함한 이전 버전
- LTS 2.426.2를 포함한 이전 버전
취약점 조치 방안
- 취약점이 수정된 Jenkins 2.442, LTS 2.426.3으로 버전 업데이트를 권고
- 업데이트가 불가능할 경우 CLI에 대한 액세스 비활성화 권고
설치개요
젠킨스 업그레이드 전에 /usr/lib/systemd/system/jenkins.service 백업하기
젠킨스 업그레이드
젠킨스 설치시 java11이 적용되어야함, java구버전이면 실행이 안됨
젠킨스 버전 확인하는 방법
WEBUI에서 확인하는게 가장 간단하다.
로그인 후 화면 오른쪽 하단에 버전 표시가 되어있다.
YUM으로 설치했다면
yum info jenkins
젠킨스 업그레이드 하는방법
- 초기 구축시 YUM로 했기 때문에 YUM UPDATE로 진행하고자한다. 방법은 다음 과 같다
# 레파지토리 등록
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
# 젠킨스 버전 업그레이드
yum upgrade jenkins
업그레이드 자체는 쉽다 그런데 문제가 있으니...
버전 업그레이드 후 재구동하려고보니 아래와 같은 문제가 있었다.
디버깅 방법
보통은 systemctl status 서비스명을 치면 상단에 명확한 로그가 바로 나오는데 내 상황은 뜬구름 잡는 에러만 보였다.
자세히 확인하려면 서비스 구동을 시도한 직 후 아래 명령어로 확인하다
journalctl -xe
에러 내용중에 다음과 같은 에러가 눈에 띄었다.
젠킨스 최신버전은 java11이 필요하단 뜻이다
Running with Java 8 from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre, which is older than the minimum required version (Java 11).
java11 설치 및 적용
자바 최신버전을 설치한다고해도 기존버전이 적용되어있기때문에 alternatives명령어로 버전을 지정해야 한다.
#설치
yum install java-11-openjdk
# 적용
alternatives --config java
숫자로 최신버전 선택
그런데 하고 나서보니 jenkins 서비스 port와 https 설정이 날아가버렸다.
yum 업데이트를 하면서 설정파일을 덮어 씌운 모양이다 따라서 아래 설정파일은 젠킨스 업그레이드전 백업을 해두는게 좋다
/usr/lib/systemd/system/jenkins.service
젠킨스 버전 업그레이드 후 확인
centos jenkins 업그레이드
젠킨스 업그레이드
jenkins upgrade
젠킨스 취약점 조치
'인프라 > 젠킨스(jenkins)' 카테고리의 다른 글
[JENKINS] html 코드 markup format 적용 안될 때 해결방법 (0) | 2024.02.08 |
---|---|
[JENKINS] 젠킨스 에러 We trust you have received the usual lecture from the local System (0) | 2024.02.02 |
[JENKINS] 젠킨스 audit로그 로그인 기록 설정하기 (0) | 2023.12.05 |
[jenkins] 젠킨스 credentials 패스워드 평문 확인하기 (0) | 2023.09.12 |
[jenkins] 젠킨스 작업공간 workspace 경로 변경 (0) | 2023.09.08 |
댓글