라이브 패칭이 무엇인지, 어떻게 작동하는지 잘 모르시겠어요? 이 종합 가이드를 확인하세요.
Canonical은 라이브 패치를 잘 수행하지만 임시 패치가 적합한 솔루션이며 상대적으로 높은 비용을 지불할 가치가 있을까요? 게다가 다른 Linux 배포판은 어떻습니까?
라이브 패치는 Linux 시스템에 보안 업데이트를 설치하는 가장 좋은 방법입니다. 실시간 패치를 사용하면 커널 취약성에 대한 최신 보안 수정을 적용할 수 있지만 패치를 적용하기 위해 시스템을 재부팅할 필요가 없습니다. 즉, 유지 관리 기간을 계획할 필요가 없으며 시스템을 보다 일관되게 안전하게 유지할 수 있습니다.
그렇기 때문에 다른 주요 Linux 공급업체와 마찬가지로 Canonical은 Livepatch라는 우분투용 라이브 패치 도구를 개발하기로 결정했습니다. 그러나 Livepatch는 작동 방식에 두 가지 주요 결함이 있으며 상대적으로 비싼 옵션입니다.
대안으로 TuxCare의 KernelCare Enterprise를 고려해 볼 수 있습니다. 두 도구의 차이점을 자세히 살펴보겠습니다.
콘텐츠:
라이브 Linux 커널 패치는 10년 이상 사용되어 왔으며, 2009년에 MIT에서 처음으로 실행 가능한 솔루션이 등장했습니다. 이 솔루션은 KSplice라고 불렸습니다. CloudLinux 팀은 곧바로 KernelCare를 출시했고, 그 사이 많은 주요 Linux 벤더가 라이브 패치 도구를 출시했습니다. 우분투 사용자에게는 보안 업데이트를 제공하는 라이브패치가 있습니다.
모든 라이브 패치 도구의 전제는 본질적으로 동일하지만, 임시 패치와 영구 패치의 차이점은 다음 섹션에서 다룹니다. 라이브 패치 도구는 실행 중인 Linux 커널을 실시간으로 가져와 영향을 받는 코드를 즉시 교체합니다. 커널 취약성이 있는 순간에는 안전한 코드를 실행하고, 다음 순간에는 다시 시작할 필요가 없습니다.
라이브 패치 토큰을 받고 스냅 패키지를 배포하는 과정을 거치면 시스템 관리 팀이 유지 관리 기간을 예약하고 패치를 적용하기 전에 다운타임을 기다릴 필요가 없습니다. 패치가 지연 없이 일관되게 적용되므로 시스템이 취약해질 수 있는 시간이 줄어듭니다.
모든 라이브 패치 도구가 동일하지는 않으며, 중요한 차이점 중 하나는 중요한 커널 패치를 적용하는 방식입니다. 임시 패치와 영구 패치의 두 가지 경로가 있습니다. 동적 커널 패칭이라고도 하는 임시 패치는 특수 기술을 사용하여 커널에 패치를 접목하지만 패치가 완전히 통합되지는 않습니다.
의 우분투 라이브패치는 커널 업데이트를 적용할 때 임시 패치 기술을 사용하며, 시스템 관리자가 해당 패치를 완전히 통합하기 위해 시스템을 다시 시작해야 하므로 결국 시스템을 중단 없이 다시 시작해야 합니다. 따라서 임시 패치는 안전한 워크로드를 실행하는 데 큰 도움이 되지만 여전히 이상적이지는 않습니다. 여기서 문제는 동일한 코드에 영향을 미치는 후속 패치 간의 상호 작용 가능성에서 비롯되는데, 특정 코드 섹션에 이미 배포된(또는 배포되지 않은) 패치의 가능한 조합 수가 빠르게 증가할 수 있기 때문에 이를 올바르게 적용하기가 매우 까다롭습니다. 이것이 바로 지속적 패치가 필요한 이유입니다.
영구 패치는 모든 커널 패치가 즉시 완전히 통합되므로 패치를 완료하기 위해 재시작할 필요가 없기 때문에 접근 방식이 다릅니다. 즉, 하나의 패치를 다른 패치 위에 적용하는 대신 모든 수정 사항이 한 번에 바이너리에 포함됩니다. 지속적 패치는 재부팅의 필요성을 완전히 없애고 다운타임을 최대한 줄인다는 중요한 목표를 달성합니다.
대부분의 관리형 라이브 커널 패치 도구는 특정 Linux 배포판에서만 작동하며, 우분투 시스템과 4.4 이상의 커널만 지원하는 Canonical Ubuntu Livepatch도 마찬가지입니다. 전체 워크로드가 최신 우분투 배포판을 기반으로 하는 경우에는 괜찮지만, 다른 Linux 배포판에는 적용되지 않습니다. 일부 Linux 배포판은 특정 시나리오에 더 적합하기 때문에 특정 조직에서 서로 다른 역할을 수행하는 여러 배포판이 실행되는 것이 일반적입니다. 따라서 Livepatch는 라이브 패치 요구 사항을 부분적으로만 충족합니다.
반면에 KernelCare Enterprise는 RHEL, Debian, CentOS 등에 대한 커널 라이브 패치를 포함하여 훨씬 더 광범위한 배포판을 지원합니다(실제로 40개 이상의 엔터프라이즈급 Linux 배포판과 4000개 이상의 배포판+커널 버전 조합을 지원합니다). 원스톱 솔루션이므로 모든 Linux 기반 시스템을 커버하기 위해 여러 라이브 패치 솔루션을 실행할 필요가 없습니다.
Canonical의 Ubuntu Livepatch는 중요한 커널 패치를 위한 가장 비싼 라이브 솔루션은 아니지만, 가장 저렴한 솔루션도 아니다. 라이브패치는 별도의 제품으로 구매할 수 없으며, 사용자가 Ubuntu One 계정을 사용하여 가입하는 Ubuntu Advantage 구독의 일부로만 포함되어 있습니다.
가격은 약간 복잡하며 물리적 서버를 실행하는지 가상 머신을 실행하는지에 따라 다르지만 연간 머신당 $75부터 시작하여 연간 머신당 최대 $2,500입니다. TuxCare의 KernelCare Enterprise는 서버당 연간 $60 미만입니다.
정식 우분투 라이브 패치 | KernelCare 엔터프라이즈 라이브 패치 | |
---|---|---|
지원되는 배포판 | 우분투 LTS 14.04, 16.04, 18.04, 20.04, 22.04 | 우분투 LTS 14.04, 16.04, 18.04, 20.04, 22.04, 레드햇, 오라클, 알마리눅스 및 기타 여러 버전 |
아키텍처 | x86-64 | x86-64, ARM64 |
적용 범위 | Linux 커널 | Linux 커널 및 중요 사용자 공간(glibc 및 openssl) |
패치된 취약점 | 높음 및 중요의 하위 집합 | 모두 |
커널 패치 수명 | 3~6개월 | 사실상 무제한 |
사용자 지정 패치 | 아니요 | 예(특수 버전 또는 구성에 대해서는 당사에 문의) |
QEMU 패치 | 아니요 | 예 |
데이터베이스 패치 | 아니요 | 예 |
연중무휴 24시간 지원 | 예, 유료 구독 시 | 예, 온라인, 연중무휴 24시간, 구독마다 다른 우선순위를 적용합니다. |
패치세트 배포 | 각 패치는 별도의 커널 모듈로 표현됩니다. | 모든 패치를 위한 단일 패치 세트 |
API를 사용할 수 있나요? | 예 | 예 |
롤백 기능 | 아니요 | 예, 재부팅 필요 없음 |
신규 고객도 이용할 수 있나요? | 우분투 클라이언트만 | 예, 40개 이상의 배포판이 지원됩니다. |
패치 유형 | 임시 | 영구 |
애드온 | - | 사용자 지정 패치, QEMU, 데이터베이스 패치 |
라이브 패치 비용 | 모든 인프라스트럭처 지원 패키지(물리적 서버의 경우 연간 $225-$1,500/머신, 가상 머신의 경우 연간 $75-$500/머신)의 일부로 포함됩니다. | 시스템당 연간 $59.50. 구독에 다양한 추가 기능이 포함될 수 있습니다. 대량 구매가 가능합니다. |
이미 Livepatch를 사용 중이라면 KernelCare로 손쉽게 전환하여 모든 Linux 배포를 하나의 라이브 패치 전송으로 관리할 수 있습니다. 명령줄 인터페이스에서 짧은 스크립트를 실행하기만 하면 되기 때문에 KernelCare 설치는 간단하며, Canonical Livepatch를 활성화하는 것보다 더 어렵지 않습니다.
라이브패치 도구를 설치할 때와 마찬가지로 KernelCare는 백그라운드에서 실행되므로 작업을 방해하지 않습니다. 가끔씩 재시작해야 하는 우분투의 라이브패치 서비스와 달리 KernelCare의 지속적 패치 방법론 덕분에 스크립트 하나만 있으면 패치 관련 재시작이 거의 필요하지 않습니다.
우분투 시스템만 실행하는 경우, 중요한 커널 패치를 통합하기 위해 계속되는 재부팅 관련 중단을 수용할 수 있는 능력과 비용으로 결정됩니다. 우분투만 사용 중이고 어쨌든 우분투 어드밴티지를 구독해야 하나요? 그렇다면 라이브패치 커널 라이브 패치는 라이브패치 임시 패치 체제의 중단 정도에 따라 합리적인 옵션이 될 수 있습니다.
반면, 우분투 어드밴티지 구독의 모든 기능이 필요하지 않다면 KernelCare를 사용하면 비용을 크게 절약할 수 있습니다. 우분투뿐만 아니라 다양한 Linux 배포판을 사용하시나요? 예를 들어, 라이브패치는 우분투가 아닌 머신에는 적용되지 않으며, 라이브패치가 RHEL에서 작동하도록 강제할 수도 없습니다. 또한 가끔씩 재시작해야 하는 Livepatch 요구 사항으로 인해 워크로드에 문제가 발생하고 다운타임을 줄여야 하는 경우 KernelCare를 고려해야 합니다.