Skip to Content
Infra & DevOpsLog4j(CVE-2021-44228) 긴급 패치
☁️ Infra & DevOps2021년 12월 1일

Log4j(CVE-2021-44228) 긴급 패치

#e-commerce#nike-korea-migration#platform-operations#operations
Nike Korea Platform Migration · Series 1 - 입사 직후 운영과 적응4 / 7Infra & DevOps
어떤 운영 체계가 실제로 쓸모 있는지는 평상시보다 위기 상황에서 더 잘 드러난다. Log4j 취약점 대응은 그 점을 가장 선명하게 보여준 사건이었다. 평소라면 정기 배포 원칙을 지키는 것이 맞지만, 제로데이 보안 이

어떤 운영 체계가 실제로 쓸모 있는지는 평상시보다 위기 상황에서 더 잘 드러난다. Log4j 취약점 대응은 그 점을 가장 선명하게 보여준 사건이었다. 평소라면 정기 배포 원칙을 지키는 것이 맞지만, 제로데이 보안 이슈에서는 하루의 지연도 운영 리스크가 된다. 이 글은 그때 왜 전체 동시 패치와 긴급 배포가 필요했는지, 그리고 그 대응을 가능하게 한 배경이 무엇이었는지 남기기 위해 쓴다.

이 사건은 단순히 라이브러리 버전을 올린 기술 작업이 아니었다. 어떤 시스템이 영향을 받는지, 부분 대응이 허용되는지, 누구와 어떤 리듬으로 의사결정을 해야 하는지, 정기 배포 체계가 비상 상황에서 어떻게 활용될 수 있는지를 한 번에 보여준 운영 사례였다.

2021년 12월 Log4j 취약점이 공개되었을 때, 문제의 본질은 “취약한 버전을 썼는가”만이 아니었다. 여러 내부 운영 컴포넌트가 공통 기반 위에 올라가 있었기 때문에, 한 군데라도 취약한 경로가 남아 있으면 전체 플랫폼의 공격면이 유지될 수 있었다. 이런 상황에서는 일부만 빨리 고치고 나머지를 다음 배포로 넘기는 식의 대응이 사실상 의미가 없었다.

또한 이 이슈는 평소의 운영 원칙과도 충돌했다. 보통은 금요일 프로덕션 배포를 피하고, 충분한 검증과 회귀 테스트를 거쳐 정기 배포 리듬 안에서 움직이는 것이 안전하다. 하지만 제로데이 취약점은 지연 자체가 리스크다. 결국 평소 원칙을 깨더라도 더 큰 위험을 막기 위해 긴급 배포를 선택해야 했고, 이 선택을 가능하게 하려면 이미 정리된 배포 체계와 커뮤니케이션 경로가 필요했다.

D-Day: 2021년 12월 10일 - 발견과 즉시 대응

당시에는 연차 중이었지만, 취약점 소식이 퍼지면서 상황이 심각하다는 걸 바로 알 수 있었다. 이 이슈는 영향 범위가 워낙 넓어서 “조금 있다가 보자”가 가능한 종류가 아니었고, 바로 대응 모드로 전환해 수정과 영향 범위 확인을 시작했다.

취약점이 공개된 직후 가장 먼저 한 일은 영향 범위를 빠르게 확인하는 것이었다. 중요한 것은 개별 서비스의 세부 설정보다, 플랫폼 전체에서 어떤 내부 운영 컴포넌트가 같은 취약 지점을 공유하고 있는지 파악하는 일이었다. 이 판단이 늦어지면 대응이 분산되고, 분산된 대응은 남아 있는 취약 경로를 만들 수 있다.

영향 범위를 확인한 뒤에는 부분 패치 대신 전체 동시 패치가 필요하다는 결론에 빠르게 도달했다. 하나라도 늦으면 그 지점이 전체 리스크가 되기 때문이다. 그래서 평소의 정기 배포 리듬을 잠시 접고, 내부 배포 채널을 중심으로 테스트와 릴리스 준비를 압축해서 진행했다. 위기 대응에서는 속도가 중요하지만, 그 속도는 무질서가 아니라 이미 익숙한 절차를 단축해서 얻는 것이어야 했다.

시차도 변수였다. 미국은 아직 새벽이어서 초기에 로컬에서 선제 조치를 먼저 진행할 수 있었고, 미국 쪽이 업무 시간에 들어오면서 커뮤니케이션이 붙었을 때는 이미 1차 대응이 진행된 상태였다. 그때 “우리는 이미 조치에 들어갔다”는 공유가 가능했던 점이 대응 리듬을 안정시키는 데 도움이 됐다.

D+4: 2021년 12월 14일 - 2차 패치

첫 대응이 끝났다고 해서 사건이 바로 종료된 것은 아니었다. 곧바로 추가 취약 경로와 후속 패치 필요성이 확인되면서, 처음 대응을 다시 점검해야 하는 상황이 생겼다. 이때 중요한 것은 첫 번째 결정을 부정하는 태도가 아니라, 상황이 바뀌었을 때 빠르게 판단을 갱신하는 태도였다. 보안 이슈는 “한 번 조치했으니 끝”이라고 생각하는 순간부터 다시 위험해진다.

두 번째 패치가 필요해졌을 때도 의사결정 구조는 같았다. 어떤 보안 대응 티켓으로 추적하고, 어떤 컴포넌트를 다시 묶어 배포하고, 검증 범위를 어디까지 볼지를 빠르게 맞췄다. 결국 중요한 것은 패치 횟수가 아니라, 불확실성이 큰 상황에서 동일한 기준으로 재판단할 수 있는 운영 습관이었다.

대응 타임라인 요약

시점핵심 판단실행
2021-12-10부분 대응이 아닌 전체 동시 패치 필요영향 범위 확인 후 긴급 배포 라인 가동
2021-12-10~2021-12-11시차를 고려한 선제 대응 유지내부 배포 채널 중심으로 교대 대응 진행
2021-12-14후속 취약 경로 반영한 2차 조치재검증 후 추가 패치 배포

내부 배포 채널의 역할

긴급 상황에서 내부 배포 채널은 단순한 공지 창구가 아니라 판단을 동기화하는 축이었다. 어떤 컴포넌트가 준비됐는지, 어떤 환경에서 테스트가 끝났는지, 누가 다음 확인을 이어받는지 같은 정보가 같은 맥락 위에서 흐를 수 있어야 했다. 이 통로가 없으면 위기 대응은 빠르지 않고, 오히려 여기저기 흩어진 대화 때문에 더 느려진다.

평상시부터 이 채널을 통해 정기 배포를 조율해 왔기 때문에, 위기 상황에서도 새로운 절차를 만들 필요가 없었다. 평소 사용하던 경로를 더 짧은 리듬으로 돌리면 됐고, 그래서 긴급 배포에서도 공통 상황 인식이 유지될 수 있었다. 정기 운영 체계가 위기 대응의 기반이 된다는 사실이 여기서 분명히 드러났다.

정기 배포 체계가 긴급 배포를 가능하게 한 이유

겉으로 보면 긴급 배포는 정기 배포 원칙을 깨는 일처럼 보인다. 하지만 실제로는 정기 배포 체계가 있었기 때문에 긴급 배포도 가능했다. 이미 어떤 순서로 검증하고, 어떤 축을 확인하고, 배포 후 무엇을 봐야 하는지가 조직 안에 익숙해져 있었기 때문이다. 위기 상황에서는 절차를 버리는 것이 아니라, 절차의 핵심만 남겨 더 빠르게 돌리는 것이 중요하다.

이 사건 이후 정기 배포를 다시 볼 때도 관점이 달라졌다. 평소의 반복 작업처럼 보이던 절차가 사실은 비상 상황에서 의사결정을 압축해 주는 안전망이었다. 다음 글에서 다룰 정기 배포 체계를 이해할 때도 이 경험이 중요한 배경이 된다.

잘못될 수 있었던 것들

이 사건에서 다시 보면 위험했던 지점은 여러 가지다. 일부 컴포넌트만 먼저 패치하고 남은 범위를 다음 배포로 넘기면 대응 속도는 빨라 보여도 실질적인 위험은 계속 남는다. 커뮤니케이션 경로가 흩어지면 같은 사실을 두고 서로 다른 판단이 반복될 수 있고, 보안 이슈를 단발성 이벤트처럼 다루면 첫 대응이 오히려 잘못된 안도감을 줄 수 있다.

결국 보안 대응에서 중요한 것은 완벽한 예측이 아니라, 범위를 넓게 보고 빠르게 갱신할 수 있는 운영 체계를 갖추는 일이다. 이 사건은 기술적 취약점 대응이면서 동시에 조직적 운영 능력의 테스트이기도 했다.

이후의 영향

이 경험 이후 보안 대응은 별도의 특수한 작업이 아니라, 정기 운영 구조 안에서 언제든 우선순위를 뒤집을 수 있는 일이라는 인식이 더 강해졌다. 라이브러리 하나를 교체하는 문제처럼 보여도, 실제로는 배포 구조, 검증 리듬, 커뮤니케이션 경로, 책임 경계를 한 번에 시험하는 일이었다.

시리즈 맥락에서도 이 글은 단독 사건으로 끝나지 않는다. 왜 정기 배포 체계가 필요했는지, 왜 운영 구조 이해가 중요했는지, 왜 전환기 플랫폼에서 큰 기능보다 안정성이 우선이었는지를 이 사건이 매우 압축적으로 보여준다. 다음 글에서는 그 기반이 되었던 배포 체계를 더 넓은 관점에서 정리한다.

기술 대응 방식과 트레이드오프

긴급 보안 패치의 핵심은 “빠르게 배포”가 아니라 “빠르게 검증 가능한 범위로 배포”였다. 전체 동시 패치는 배포 부담이 크지만, 부분 대응으로 남는 잔여 취약점 위험을 줄일 수 있다. 당시 선택은 운영 부담을 높이는 대신 보안 리스크를 빠르게 낮추는 방향이었다.

또한 이 사건은 취약점 대응이 개발 작업만으로 끝나지 않는다는 점을 보여줬다. 배포 파이프라인, 검증 절차, 커뮤니케이션 채널이 함께 맞물려야 실제 대응 속도가 나온다.

기술 체크포인트

  • 영향 범위 산정은 서비스 단위가 아니라 공통 라이브러리 의존 경로 기준으로 수행했다.
  • 부분 패치보다 동시 패치를 선택해 잔여 취약 경로를 최소화했다.
  • 1차 조치 이후에도 후속 취약점 공개를 전제로 재점검 루프를 유지했다.
Warning

보안 이슈에서 “일단 일부만 패치”는 대응 속도처럼 보이지만 실제 리스크를 남길 수 있다.

참고 자료

Last updated on