주요 내용
- 의존성 요소들은 지원 종료(EOL) 시 발생할 수 있는 위험 요소를 가중시킵니다. Grafana의 Go 백엔드, TypeScript/React 프론트엔드, 그리고 번들된 라이브러리들은 Grafana가 지원 종료 단계에 접어들면 더 이상 패치가 제공되지 않아 취약점에 노출될 위험을 높이기 때문입니다.
- 서둘러 진행하는 업그레이드는 비용이 많이 듭니다. Grafana의 주요 업그레이드는 대시보드, 플러그인, 데이터 소스 및 프로비저닝 워크플로우에 문제를 일으킬 수 있어, 계획되지 않은 마이그레이션을 복잡하고 비용이 많이 드는 작업으로 만들기 때문입니다.
- Grafana의 지원 종료(EOL)가 보안의 종말을 의미하지는 않습니다. TuxCare의 Endless Lifecycle Support(ELS)는 지원이 종료된 Grafana 버전에 대해 전체 종속성 트리 전반에 걸쳐 지속적인 패치를 제공하므로, 고객은 원하는 시기에 맞춰 업그레이드할 수 있습니다.
Grafana는 전 세계 기업들이 널리 사용하는 대시보드, 알림 및 가시성 워크플로우의 기반이 됩니다. 이는 엔지니어와 SRE가 시스템을 실시간으로 모니터링하는 인터페이스이자, 비즈니스 지표를 실행 가능한 인사이트로 전환하는 플랫폼이며, 많은 환경에서 문제가 발생했을 때 가장 먼저 확인하는 곳이기도 합니다.
이러한 중심적 위상 때문에 한 가지 불편한 사실을 간과하기 쉽습니다. 바로 Grafana 버전에는 정해진 지원 기간이 있으며, 이 기간이 종료되면 보안 패치 제공도 중단된다는 점입니다. 지원이 종료된 Grafana 버전을 사용 중이라면, 그 시점부터 공개되는 모든 CVE는 업스트림의 도움 없이 직접 관리해야 할 문제가 됩니다.
이 글에서는 Grafana의 릴리스 라이프사이클이 실제로 어떻게 운영되는지, 보안 및 규정 준수 측면에서 ‘지원 종료(End of Life)’가 무엇을 의미하는지, 그리고 Grafana의 업그레이드 일정에 맞춰 대응할 준비가 되지 않은 조직이 선택할 수 있는 방안들에 대해 살펴봅니다.
Grafana의 제품 수명 주기는 무엇인가요?
Grafana는 EOL(지원 종료)에 대해 논의하기 전에 알아두면 좋은 월별 릴리스 주기를 따릅니다. 새로운 기능을 포함하는 마이너 버전은 2월, 4월, 6월 등 짝수 달에 출시됩니다. 지원되는 버전에 대한 버그 수정 및 보안 업데이트를 제공하는 패치 릴리스는 홀수 달에 출시됩니다. 또한 심각도가 높은 보안 취약점이 발견될 경우, 정기 일정을 따르지 않고 긴급 릴리스가 진행되기도 합니다.
Grafana는 MAJOR.MINOR.PATCH 형식의 시맨틱 버저닝을 사용합니다:
- 메이저 버전 (예: 11.x): 새로운 마이너 릴리스를 통해 새로운 기능을 제공합니다. 현재 메인 버전만 “전체 지원” 대상입니다.
- 소버전 (예: 11.3): 지원 종료(EOL) 날짜까지 패치 릴리스, 버그 수정 및 보안 패치를 제공합니다.
- 패치 버전 (예: 11.3.2): 보안 및 버그 수정만 포함됩니다.
지원 기간에 관한 규정은 명확하게 정해져 있습니다. 각 마이너 릴리스는 출시일로부터 9개월 동안 보안 및 버그 수정 패치를 제공합니다. 메이저 버전의 마지막 마이너 릴리스는 출시일로부터 15개월 동안 연장된 지원을 받아, 매 마이너 버전마다 업그레이드하지 않는 조직을 위한 더 긴 지원 기간을 보장합니다. 지원 기간이 만료된 버전은 “지원 종료” 범주에 속하며, 업데이트, 패치, 수정 사항이 제공되지 않습니다.
| Grafana 버전 | 상태 | 참고 사항 |
| 12.x (최신 버전) | 완전한 지원 | 적극적인 개발, 버그 수정, 보안 패치 및 새로운 기능 |
| 11.x (최신 소버전) | 제한된 지원 | 중요한 버그 수정 및 보안 패치만 포함 (새로운 기능 없음) |
| 11.x (최신 소버전 아님) | 지원되지 않음 | 수정이나 업데이트에 대한 보장은 없습니다 |
| 10.x 이하 | 제한적 / 과도기적 지원 | 단기간 동안 중요한 보안 수정 사항을 받을 수 있습니다(장기적인 보장은 없음). |
| 9.x 이하 | 수명 종료 | 업데이트 없음, 패치 없음, 지원 없음 |
실질적인 교훈은 이렇습니다. 현재 사용 중인 소버전 번호가 무엇인지, 그리고 9개월 지원 기간이 언제 종료되는지 추적하지 않는다면, 자신도 모르게 지원이 중단된 환경으로 넘어갈 수 있습니다.
Grafana EOL이란 무엇인가요?
보안 패치 더 이상 제공되지 않습니다
Grafana 버전이 EOL(지원 종료) 단계에 도달하면, 업스트림 프로젝트에서는 해당 버전에 대한 보안 업데이트를 더 이상 제공하지 않습니다. 이는 심각도가 ‘높음’ 또는 ‘치명적’인 CVE가 공개된 경우에도 마찬가지입니다. Grafana Labs에서 배포하는 패치는 지원 대상 버전에만 적용되며, 지원이 종료된 버전에는 패치가 제공되지 않습니다.
이것이 EOL(지원 종료) 소프트웨어를 사용할 때 직면하게 되는 결정적인 보안 현실입니다. 새로운 취약점이 계속해서 발견되고 공개되지만, 해당 버전에 적용될 수 있는 수정 패치는 전혀 제공되지 않습니다. 새로운 CVE가 공개될 때마다 보안 위험은 커져만 갑니다.
제품 수명 종료 후의 보안 및 규정 준수 위험
규정 준수 측면에서 그 의미는 분명합니다. PCI DSS(요구 사항 6.3.3)는 적용 대상 시스템의 경우, 중요 및 고위험 취약점(CVSS 점수 7.0 이상)에 대해 패치 출시 후 1개월 이내에 패치를 적용하도록 의무화하고 있습니다. HIPAA, FedRAMP 및 SOC 2 역시 해당 규정이 적용되는 환경에 대해 유사한 요구 사항을 포함하고 있습니다. 규제 대상 환경에서 Grafana의 EOL(지원 종료) 버전을 운영하는 것은 사실상 감사관이 요구하는 기한 내에 패치를 적용할 수 없는 인프라를 운영하는 것과 같으며, 이는 보완 통제 수단이 있더라도 정당화하기 어려운 규정 준수 격차를 초래합니다.
Grafana는 관측 가능성 스택의 핵심에 위치하기 때문에, 민감한 데이터 흐름은 물론 수십 개의 데이터 소스에 대한 인증 정보 및 운영 시스템 구성 정보에 자주 접근하게 됩니다. 이러한 접근 권한과 가시성이 결합되어 Grafana는 공격자들에게 매우 매력적인 표적이 됩니다.
Grafana의 CVE 이력
Grafana의 CVE 기록은 지원 종료 후 발생하는 보안 취약점이 실제로 어떤 모습인지 잘 보여줍니다.
CVE-2024-9264 (CVSS 9.9 – 심각): 이는 Grafana 11의 실험적 기능인 SQL 표현식을 통해 도입된 명령어 주입 및 로컬 파일 포함 취약점입니다. 이 기능은 DuckDB CLI를 통해 실행된 SQL 쿼리를 사용하여 데이터 소스 쿼리 출력을 후처리할 수 있게 했습니다. 쿼리가 적절히 정제되지 않았기 때문에, 공격자는 명령어를 주입하고 로컬 파일을 읽을 수 있었습니다. 이 취약점은 원격 코드 실행으로 분류되었습니다. Grafana는 지원되는 11.x 버전에 대해 긴급 패치를 배포했으나, 이는 지원이 종료된 Grafana 11의 하위 버전을 실행 중인 조직은 패치를 받지 못했음을 의미합니다.
CVE-2021-43798 (CVSS 7.5 – High): This is one of the most widely discussed vulnerabilities in Grafana’s history. An unauthenticated attacker could traverse directories via the /public/plugins/<plugin-id>/ endpoint, bypassing path restrictions using standard ../ sequences. Because every Grafana installation ships with pre-installed plugins, there was no prerequisite that any instance on a vulnerable version was exposed. The vulnerability allowed attackers to read Grafana’s SQLite database file (which contains auth tokens and data source credentials), config files with plaintext passwords, OAuth credentials, and LDAP credentials. It was disclosed as a zero-day after proof-of-concept code was published publicly before the patch was ready, and it is listed in CISA’s Known Exploited Vulnerabilities catalog. Affected versions: 8.0.0-beta1 through 8.3.0.
두 취약점 모두 지원 대상 버전에 패치가 적용되었습니다. 지원이 종료된 하위 버전에는 두 취약점 모두 패치가 제공되지 않았을 것입니다.
의존성 트리 문제
Grafana는 단순한 단일 바이너리 애플리케이션이 아닙니다. Go로 구현된 백엔드와 TypeScript/React로 구성된 프론트엔드를 갖춘 풀스택 관측성 플랫폼으로, 각 구성 요소는 방대한 종속성 트리를 가지고 있습니다.
백엔드는 HTTP 처리, 암호화, 데이터베이스 인터페이스, 알림 로직 등을 위해 Go 모듈을 활용합니다. 프론트엔드는 React, 상태 관리를 위한 Redux, 시각화 렌더링을 위한 D3, 스타일링을 위한 Emotion, Recharts 및 다양한 지원 패키지들을 포함하고 있습니다. 모노레포의 package.json 파일에는 프론트엔드 직접 의존성만 수십 개가 나열되어 있으며, 각 의존성은 자체적인 전이적 의존성 그래프를 가져옵니다.
Grafana가 지원 종료(EOL) 단계에 이르면, 이러한 종속성들 역시 패치를 받을 수 없게 됩니다. Grafana 백엔드에서 사용하는 Go 모듈의 심각한 취약점이나 프론트엔드 차트 라이브러리의 XSS 취약점은, Grafana 자체의 취약점과 마찬가지로 지원이 종료된 버전에서는 해결되지 않은 채 남게 됩니다. 업스트림 프로젝트에서는 이에 대한 수정 사항을 역포트하지 않을 것입니다. EOL로 인한 위험은 Grafana뿐만 아니라 Grafana가 의존하는 모든 요소에까지 미칩니다.
보안 유지 및 규정 준수 방안
지원되는 Grafana 버전으로 업그레이드하세요
현재 지원되는 버전으로 업그레이드하는 것은 언제나 가능한 선택지이며, 많은 조직에게 있어 이는 궁극적으로 올바른 방향입니다. Grafana의 업그레이드 가이드에는 버전 간 호환성 변경 사항이 상세히 설명되어 있으며, 동일한 메이저 버전 내에서 마이너 버전을 업그레이드하는 것은 메이저 버전 업그레이드보다 위험이 적은 편입니다.
이 과정의 복잡성은 사용자의 환경에 따라 크게 달라집니다. 커뮤니티 플러그인에서 가져온 대시보드를 사용하거나, 복잡한 프로비저닝 구성을 적용하고 있거나, 주요 버전이 여러 개 뒤처진 Grafana 버전을 운영하는 조직의 경우, 더 복잡한 마이그레이션 과정을 겪게 됩니다. 이러한 경우 일반적으로 스테이징 환경에서 테스트를 수행하고, 대시보드 렌더링을 검증하며, 데이터 소스 통합을 재확인하고, 운영 환경의 가시성을 확보하기 위해 Grafana에 의존하는 여러 팀 간의 협업을 조율해야 합니다.
다른 관측 가능성 플랫폼으로 마이그레이션하기
일부 조직은 관측 가능성 스택을 포괄적으로 재검토할 때, Kibana, Datadog, Grafana Cloud 또는 기타 호스팅형 대안과 같은 다른 모니터링 및 시각화 플랫폼으로의 전환을 고려하기도 합니다. 이는 장기적인 관점에서 내려야 할 결정입니다. 이러한 플랫폼 마이그레이션에는 데이터 소스 재구성, 대시보드 재작성, 알림 규칙 재작성, 그리고 상당한 재교육 부담이 수반되기 때문입니다.
특정 Grafana 버전의 보안 취약점을 해결해야 하는 대부분의 조직에게 있어, 이는 단기적으로 실현 가능한 해결책이 아닙니다.
권장 경로: Grafana를 위한 TuxCare의 무제한 라이프사이클 지원
TuxCare의 Grafana용 ‘무기한 라이프사이클 지원(ELS)’은 즉각적인 업그레이드 없이도 보안 및 규정 준수 문제를 직접 해결해 주는 솔루션입니다. TuxCare는 지원이 종료된 Grafana 버전에 대해 추가 비용 없이 지속적인 보안 패치를 제공하며, 이는 Grafana의 직접적인 종속성뿐만 아니라 전이적 종속성까지 포괄합니다. 이를 통해 기업은 실제로 원하는 업그레이드 계획을 수립하는 동안에도 견고한 보안 태세를 유지할 수 있습니다.
실무 적용: TuxCare는 NVD, 공급업체 보안 권고 사항 및 GitHub 보안 피드를 모니터링하여 Grafana와 그 종속 구성 요소에 영향을 미치는 취약점을 파악한 후, SLA에 기반한 프로세스를 통해 지원 종료(EOL) 버전에 대한 수정 사항을 역포트하여 제공합니다. 이를 통해 고객은 현재 사용 중인 버전을 계속 운영하면서도, 지원 종료 시 일반적으로 발생하는 보안 및 규정 준수 위험을 피할 수 있습니다.
Grafana 업그레이드를 서두를 경우의 위험성
제품 수명 종료(EOL) 시점이 다가오면, 흔히 저지르는 실수는 업그레이드를 신중하게 관리해야 할 위험 요소로 여기기보다는, 압박감 속에서 대응해야 할 마감 기한으로만 취급하는 것입니다.
Grafana 업그레이드의 실제 내용
예를 들어, Grafana를 9.x에서 11.x로 주요 버전 업그레이드하는 것은 단순히 기존 버전을 그대로 교체하는 것이 아닙니다. 이 과정에는 코드 수정 가 필요합니다. 또한 호환성 검증 이 필요합니다. 커뮤니티 플러그인은 독립적으로 버전이 관리되며 최신 Grafana 버전에 맞춰 업데이트되지 않았을 수 있기 때문입니다. 또한 툴체인 조정 Grafana 구성을 빌드, 테스트 또는 배포하는 모든 CI/CD 파이프라인에 대한 도구 체인 조정. 또한 테스트에 드는 추가 작업: 대시보드를 시각적으로 검증하고, 알림을 재확인하며, 데이터 소스 쿼리가 일관된 결과를 산출하는지 확인해야 합니다.
업그레이드를 서두르면 어떤 일이 벌어질까
필요한 계획 없이 EOL(제품 수명 종료) 마감 기한에 쫓겨 업그레이드를 강행할 경우, 그 결과는 예상 가능한 패턴을 따릅니다. 대시보드가 예기치 않게 오작동하면서 지원 업무량이 급증하고, 당직 엔지니어들은 시스템 장애 대신 시각화 오류 해결에 시간을 낭비하게 됩니다. 시스템 불안정성은 전환 과정에서 알림 중단, 데이터 소스 연결 문제, 또는 렌더링 불일치 등의 형태로 나타납니다. 팀들이 마감 기한을 맞추기 위해 적절한 테스트 단계를 생략함에 따라 기술 부채가 누적되고, 이는 나중에 다시 처리해야 할 작업을 만들어 냅니다. 또한 엔지니어링 시간, 잠재적인 서비스 중단, 그리고 범위가 제대로 설정되지 않은 마이그레이션을 관리하는 데 드는 운영 비용 등 계획에 없던 비용이 급증합니다.
Grafana 버전 전환을 원활하게 처리하는 조직은 이를 긴급 대응이 아닌 계획된 마이그레이션으로 여기는 조직입니다.
간편한 해결책: Grafana용 TuxCare ELS
TuxCare는 지원 종료된 소프트웨어에 대한 보안 패치를 대규모로 제공할 수 있도록 자동화 시스템, 전문 지식 및 프로세스를 구축하는 데 10년 이상을 투자해 왔습니다. 지원 제품 포트폴리오 전반에 걸쳐 22만 개 이상의 패치를 제공해 온 경험을 바탕으로, TuxCare는 신속하면서도 신뢰할 수 있는 패치 적용 워크플로를 완성해 왔습니다.
특히 Grafana의 경우, TuxCare의 ELS는 다음과 같은 기능을 제공합니다:
- 신속하고 SLA가 보장되는 보안 패치: TuxCare는 취약점 공개 정보를 지속적으로 모니터링하고, 정의된 SLA에 따라 고위험 및 치명적 CVE(CVSS 7.0+)에 대한 패치를 제공하여, 귀사의 Grafana 배포 환경이 PCI DSS, HIPAA 및 기타 규정 준수 프레임워크에서 요구하는 기한 내에 유지되도록 합니다.
- 완벽한 종속성 트리 지원: TuxCare는 추가 비용 없이 Grafana 배포 환경의 직접 및 전이적 종속성을 모두 지원합니다. 즉, Grafana가 의존하는 Go 모듈과 프론트엔드 패키지가 숨겨진 EOL(지원 종료) 위험 요소가 되지 않습니다.
- 기존 워크플로우와의 원활한 통합: 현재 패키지 관리자, Docker 이미지 또는 기존 CI/CD 파이프라인을 통해 Grafana 업데이트를 적용하고 계시더라도, 기존 워크플로우를 최소한으로만 변경하여 업데이트 소스를 TuxCare의 보안 저장소로 지정할 수 있습니다. 현재 사용 중인 툴체인에 아무런 차질이 없습니다.
- 서명되고 변조 방지 기능이 적용된 패키지: TuxCare가 제공하는 모든 패치는 사용자의 저장소에 도달하기 전에 무결성, 기능성 및 회귀 테스트를 철저히 거치며, 패키지는 암호학적으로 서명되어 사용자가 배포하는 내용을 정확히 파악할 수 있습니다.
- 연중무휴 전문가 지원: TuxCare의 보안 팀은 취약점 분류, 패치 요청 및 문제 해결을 위해 연중무휴 24시간 대기하고 있으므로, 지원 없이 EOL 보안 사고를 처리해야 하는 상황이 발생하지 않습니다.
어떤 Grafana CVE가 이미 해결되었는지 확인하려면, TuxCare에서 실시간 CVE 추적기를 운영하고 있습니다. TuxCare의 패치 적용 프로세스와 배포 전 패치 검증 방법에 대한 자세한 내용은 기술 백서를 참조하십시오.
Grafana의 지원 종료로 인해 모니터링 인프라가 위험에 처하지 않도록 하세요
Grafana의 지원 종료가 관측성 플랫폼이 즉시 위험에 처한다는 뜻은 아닙니다. 하지만 이는 인프라가 그동안 의존해 온 보안 지원이 사라졌음을 의미하며, 이러한 공백을 방치해서는 안 되고 신중하게 관리해야 합니다.
이 문제를 잘 처리하는 팀은 Grafana의 EOL을 단순히 대응해야 할 카운트다운이 아니라, 관리해야 할 보안 문제로 여기는 팀입니다. 팀의 역량, 플러그인 생태계의 준비 상태, 그리고 조직의 릴리스 일정에 진정으로 부합할 때, 신중하게 계획된 Grafana 최신 버전으로의 업그레이드를 진행할 수 있습니다. 일정을 확정하기 전에 전체 마이그레이션 범위를 평가할 수 있습니다. 또는 TuxCare ELS를 활용하여 압박감 없이 본인의 조건에 맞춰 결정을 내리는 동안에도 보안 및 규정 준수 범위를 유지할 수 있습니다.
Grafana용 ELS는 단순한 임시 해결책이 아닙니다. 이는 모니터링 인프라의 보안을 유지하고, 규정 준수 상태를 온전하게 지키며, 엔지니어링 팀이 긴급한 마이그레이션 작업이 아닌 개발 업무에 집중할 수 있도록 해주는 최적의 선택입니다.
현재 Grafana의 지원 종료(EOL)가 보안 관리의 주요 관심사라면, 다음을 방문해 보세요 TuxCare의 Grafana용 Endless Lifecycle Support 를 방문하여, 확장된 지원이 필요한 기간 동안 귀사의 관측 인프라를 어떻게 보호할 수 있는지 확인해 보십시오.

