IP 검색엔진을 활용한 취약한 웹 사이트 정보 수집

Hae_To·2025년 5월 15일

한국 내 Jenkins 서버 현황 및 사이버 보안 위협 분석

- 목적

  • 이 보고서는 한국 내 설치된 Jenkins 서버의 보안 상태를 분석하고, 주요 취약점(CVE-2024-23897 등)에 노출된 서버 현황을 파악하여, 시스템 전반의 보안 강화 대책 제안을 목표로 한다.
  • 특히, Jenkins 서버의 취약한 구성보안 패치 미적용으로 이에 따라 발생할 수 있는 보안 위협을 집중적으로 분석한다.

- 배경

  • Jenkins는 DevOps 환경에서 지속적 통합(CI)지속적 배포(CD) 자동화를 지원하는 글로벌 표준 도구로 널리 사용된다.
  • 그러나, 잘못된 구성패치 미적용은 사이버 공격에 쉽게 노출될 수 있는 환경을 만들며, 이는 원격 코드 실행(RCE) 등의 심각한 보안 문제를 초래할 수 있다.
  • 최근 한국의 Jenkins 서버 다수가 주요 취약점에 노출된 것으로 확인, 이러한 취약점은 국가 및 기업에 심각한 사이버 보안 위협을 가중하고 있다.

- Data Collection Methodology

  • 데이터 출처
    • ShodanCriminal IP와 같은 인터넷 스캔 도구로 수집한 데이터를 바탕으로 작성되었다.
    • product: Jenkins country: KR와 같은 특정 검색 쿼리를 사용하여 한국 내 Jenkins 서버의 노출 현황을 분석하였다.
  • 사용된 도구
    • Shodan: Jenkins 서버 탐지
    • CVE 데이터베이스: Jenkins 버전 분석 및 취약점 데이터 활용

- Findings

1. 총 서버 수

한국 Jenkins 서버 총 8,981개 중, 심각한 취약점에 노출된 서버 `1,662개`

<2024.09.12 - PM 기준>

2. 실행 되고 있는 서버 수

한국 Jenkins 서버 총 3,265개 중, 심각한 취약점에 노출된 서버 `1,660개`

<2024.09.12 - AM 기준>

3. Vulnerability Analysis

  • CVE-2024-23897: Jenkins에서 발견된 원격 코드 실행(RCE) 취약점으로, 공격자가 원격에서 악성 코드를 실행하거나 중요한 파일을 탈취할 수 있도록 허용한다. 특히, Jenkins 명령어 분석 도구인 Args4j 라이브러리에서 발생하는 특정 취약점으로 인해 악의적인 파일 경로를 지정하여 해당 파일을 읽어오는 공격이 가능하다.
    • 주요 피해 사례: SSH 키 파일, Jenkins 암호화 키 등
  • CVE-2024-43044: Jenkins의 Remoting 라이브러리에서 발생하는 취약점이며, 에이전트와 서버 간 통신 과정에서 파일 경로를 검증하지 않아, 공격자가 서버의 파일을 임의로 읽을 수 있게 한다.

4. 주요 포트 및 버전

  • 노출된 포트: 가장 많이 사용되는 포트는 8080이며, 기본적으로 Jenkins 서버가 외부에 노출되는 포트이다. 그 외에도 443(SSL), 9090 등이 자주 사용된다.
  • 취약한 버전: 주로 사용 중인 취약한 Jenkins 버전은 **2.346.3**, **2.263.3**, **2.319.2** 등으로, 이 버전들은 최근 보안 업데이트를 적용하지 않은 상태이다.

5. 노출된 기관


위협 요소 및 영향 (Threat Assessment and Impact)

  • 위협 요소: Jenkins 서버의 취약점은 공격자가 서버에 악성 코드를 주입하거나 민감한 데이터를 탈취할 수 있는 원격 접근을 허용한다. 이러한 서버가 내부 네트워크와 연결되어 있을 경우, 전체 인프라에 심각한 위협을 초래할 수 있다.
  • 영향 범위: 한국 내 주요 클라우드 서비스 제공 업체들과 대형 기업들이 Jenkins 서버를 사용하고 있으며, 그중 다수가 취약한 상태에 있다. 이는 국가 전반의 보안, 금융 서비스, 의료, IT 인프라에 악영향을 미칠 수 있다.
    • 금융 산업: 금융 거래와 고객 데이터를 보호해야 하는 금융 기관은 원격 코드 실행(RCE) 공격을 통해 자금 탈취, 거래 조작, 고객 정보 유출 등의 위험에 노출될 가능성이 있다.
    • 의료 산업: 의료 기관에서 Jenkins 서버를 사용하는 경우, 환자의 민감한 의료 기록이 유출되거나 시스템이 마비되어 중요한 의료 서비스 제공이 중단될 수 있다.
    • 공공기관: 공공 부문에서 발생하는 공격은 국가 기반 시설에 대한 위협을 가중한다. 서버 장악 및 데이터 유출은 국가 안보에 심각한 영향을 미칠 수 있다.

권장 사항 (Recommendations)

  • 신속한 보안 패치 적용

    • Jenkins 취약점(CVE-2024-23897 및 CVE-2024-43044) 해결 패치를 즉시 적용하고, 향후 자동 업데이트 또는 보안 업데이트 알림을 활성화하여 최신 보안 상태를 유지한다.
  • 기본 포트 변경 외 추가적인 보안 강화

    • 기본 포트 변경(8080에서 비표준 포트로 변경) 외에도 VLAN 또는 VPN을 통해 Jenkins 서버 내부 접근만 허용하여 외부로부터의 접근을 차단할 수 있다.
  • 접근 제어 리스트(ACL) 설정

    • IP 허용 목록을 설정해 허가된 IP에서만 Jenkins 서버에 접근할 수 있도록 접근 제어를 강화한다.
    • 서버 접근 허용 사용자의 범위가 최소화되어 있는지 확인한다.
  • 다중 인증(MFA) 및 강력한 패스워드 정책 도입

    • 다중 인증 외에도 비밀번호 길이, 복잡성, 만료 주기와 같은 강력한 패스워드 정책을 설정하여 외부 공격으로부터 추가적인 방어를 확보한다.
    • 비인가 사용자의 서버 접근을 방지하기 위해 관리자가 정기적으로 정책을 점검한다.
  • 서버 로그 분석 및 알림 설정

    • Jenkins 서버의 로그를 중앙화된 SIEM(Security Information and Event Management) 시스템과 연동하여 자동화된 로그 분석 및 경고 시스템을 구축한다. 이를 통해 비정상적인 활동을 실시간으로 탐지할 수 있도록 한다.
  • 서버 접근에 대한 제로 트러스트 정책 적용

    • 원격 접속이나 CI/CD 파이프라인에 대해 제로 트러스트(Zero Trust) 접근 방식을 도입하여, 매번 모든 사용자와 기기의 신원을 검증하고 최소 권한 원칙을 유지하도록 한다.

Conclusion

이 보고서는 한국 내 노출된 Jenkins 서버의 보안 상태를 분석하였으며, 다수의 서버가 심각한 취약점에 노출되어 있음을 확인하였다. 이를 해결하기 위해서는 신속한 보안 패치 적용 및 강화된 접근 제어 정책을 통해 국가와 기업의 사이버 방어 능력을 향상해야 할 필요가 있다. 추가로, 지속적인 보안 모니터링과 대응 계획을 마련함으로써 잠재적인 보안 사고를 예방하는 것이 중요하고 판단된다. 빠르고 체계적인 대응이야말로 사이버 위협으로부터 안전한 환경을 구축하는 핵심이기 때문이다.


References

profile
진인사대천명

0개의 댓글