라이브 패칭이 무엇인지, 어떻게 작동하는지 잘 모르시겠어요? 이 종합 가이드를 확인하세요.
유지 관리 기간에 어려움을 겪고 있고, 불완전한 패치 메커니즘과 Red Hat 보안 운영에 미치는 영향이 걱정되시나요? 핫 패칭이라고도 하는 라이브 Linux 커널 패치는 이 두 가지 문제에 대한 해답이지만, 모든 라이브 커널 패치 도구가 동일하게 만들어지지는 않습니다.
대부분의 엔터프라이즈 Linux 공급업체는 레드햇의 레드햇 엔터프라이즈 리눅스(RHEL)용 도구인 Kpatch를 포함하여 라이브 패치 도구를 출시했습니다. 이제 라이브 패치를 채택하는 것은 사이버 보안 모범 사례이며, 필요에 가장 적합한 도구를 사용하는 것이 중요합니다.
Kpatch는 커널이 실행되는 동안 커널에 변경 사항을 적용하여 유지 관리 기간과 관련된 문제를 완화합니다. 2014년 Kpatch의 초기 버전부터 Red Hat 기반 서버 워크로드를 지원해 왔지만 장단점이 있습니다. 살펴보겠습니다.
콘텐츠 표
레드햇이 리눅스 커널 메인라인에 Kpatch를 도입하기로 결정한 것은 MIT 프로젝트인 KSplice와 CloudLinux 팀이 개발한 KernelCare 이후에 개발되었기 때문에 다소 늦은 감이 있습니다. 다른 커널 패치와 마찬가지로 Kpatch는 패치된 버전의 커널 코드가 포함된 대체 기능을 핫스왑하여 라이브 패치를 수행합니다.
즉, Kpatch를 사용하면 패치 적용 후 서버를 즉시 재시작할 필요 없이 Red Hat 기반 워크로드에 보안 패치를 적용할 수 있습니다. 이 도구는 Red Hat에서 자체 개발했으며, 처음에는 SUSE Linux 팀이 개발한 도구인 kGraft와 유사했습니다. kGraft가 Kpatch와 얼마나 밀접하게 연관되어 있는지 고려했을 때 두 조직은 함께 협력하고 노력을 통합하기로 결정했습니다.
다음은 Kpatch 동적 커널 패치에 대해 이해해야 할 핵심 사항입니다. 라이브 패치 또는 예전에는 동적 커널 패치를 수행할 때 임시 패치와 영구 패치의 두 가지 경로가 있습니다. 임시 라이브 패치는 말 그대로 재부팅 없이 실행 중인 워크로드에 중요한 패치를 설치하는 임시적인 방법입니다.
그러나 임시 패치는 완전히 통합되지 않으며, 실행 중인 커널을 재부팅할 때까지 지속적인 임시 패치에 의존하면 결국 성능이 저하될 수 있습니다. 패치와 관련된 문제를 완화하는 데는 도움이 되지만 커널 모듈에 대한 임시 패치에 의존하는 것은 완벽한 해결책이 아닙니다.
패치를 적용하는 더 좋은 방법은 모든 커널 라이브 패치가 하나의 바이너리에 누적된 수정 사항을 포함하는 지속적 패치입니다. 패치 모듈은 서로 겹쳐서 적용되지 않으므로 성능 저하가 없고 시스템을 재부팅할 필요가 없습니다. 그리고 패치와 관련하여 커널 버전을 업데이트하는 데 필요한 재부팅을 없애는 것이 가장 중요한 목표라고 할 수 있습니다.
Kpatch는 Red Hat Enterprise Linux(RHEL)를 실행하는 모든 사용자를 위한 옵션입니다. 결국 Red Hat 개발자가 구축하고 유지 관리합니다. 그러나 RHEL 6 또는 특정 버전의 RHEL 7을 실행하는 사용자는 Kpatch의 핫 패치가 적용되지 않습니다. RHEL 8, 7.7 및 7.6만 지원됩니다. 특정 버전의 우분투, 데비안, 젠투를 비롯한 일부 비 RHEL Linux 배포판도 지원됩니다.
Kpatch가 지원하지 않는 RHEL, Ubuntu 또는 Debian 버전 또는 CentOS 또는 Amazon Linux와 같은 다른 Linux 배포판을 실행하는 경우, 실시간 패치 지원을 위해 KernelCare를 찾아야 합니다.
또한, KernelCare Enterprise를 선택하면 연간 서버당 60달러 미만의 예산 친화적인 가격으로 이용할 수 있습니다. 지속적인 패치와 광범위한 Linux 배포판 지원을 통해 KernelCare는 비교적 풍부한 기능 세트도 제공합니다.
이미 RHEL 지원 플랜에 가입하지 않은 경우 Kpatch를 구현하는 데 드는 비용이 상당히 높습니다. 그 이유는 프리미엄 지원 플랜에 가입한 Red Hat 고객만 Kpatch를 사용할 수 있으며, 이 플랜은 머신당 연간 1,299달러이기 때문입니다.
레드햇 엔터프라이즈 리눅스 | LibCare 애드온이 포함된 KernelCare Enterprise | |
---|---|---|
지원되는 배포판 | 레드햇 엔터프라이즈 리눅스 | 레드햇 엔터프라이즈 리눅스 6, 7, 8, 9, 우분투, 오라클, 알마리눅스 등 |
아키텍처 | x86-64 | x86-64, ARM64 |
적용 범위 | Linux 커널 | Linux 커널 및 중요 사용자 공간(glibc 및 openssl) |
패치된 취약점 | 높음 및 중요의 하위 집합 | 모두 |
커널 패치 수명 | 6개월 | 사실상 무제한 |
사용자 지정 패치 | 예 | 예 |
QEMU 패치 | 아니요 | 예 |
데이터베이스 패치 | 아니요 | 예 |
연중무휴 24시간 지원 | 아니요, 심각도 1 및 2 사례의 경우 연중무휴, 그 외에는 표준 업무 시간(프리미엄 가입자의 경우) | 예, 온라인, 연중무휴 24시간, 구독마다 다른 우선순위를 적용합니다. |
패치세트 배포 | 배포 채널 없음, 패치 별도 | 모든 패치를 위한 단일 패치 세트 |
API 사용 가능 | 아니요 | 예 |
롤백 기능 | 예 | 예, 재부팅 필요 없음 |
신규 고객에게 제공 | RHEL 전용 | 예, 40개 이상의 배포판이 지원됩니다. |
패치 유형 | 임시 | 영구 |
애드온 | - | 사용자 지정 패치, QEMU, 데이터베이스 패치 |
비용 | CPU 소켓당 연간 349달러의 RedHat 구독에 번들로 제공됩니다. | 시스템당 연간 $59.50. 구독에 다양한 추가 기능이 포함될 수 있습니다. 대량 구매가 가능합니다. |
Kpatch 라이브 커널 패치 메커니즘에서 KernelCare Enterprise로 전환하는 것은 간단합니다. 간단한 빠른 시작 스크립트만으로 KernelCare를 설치하면 Linux 시스템 전반에서 지속적이고 영구적인 패치를 받을 수 있습니다.
KernelCare Enterprise를 설치해도 기존 워크로드가 중단되지 않으며 Kpatch의 원래 기능을 그대로 유지합니다. 하지만 영구 패치를 통해 중단을 완전히 최소화하여 재부팅할 필요 없이 훨씬 더 많은 작업을 수행할 수 있습니다.
Red Hat 프리미엄 지원 고객이고 서버에서 RHEL을 독점적으로 사용하며 임시 커널 패치로 인해 과도한 리소스 소모나 다운타임이 발생하지 않는 경우, Red Hat과의 계약에 이미 포함되어 있는 Kpatch를 고려할 수 있습니다.
여러 Linux 배포판을 혼합하여 실행하거나 Red Hat 지원 계약에 포함된 모든 추가 기능이 필요하지 않은 조직은 KernelCare Enterprise의 저렴한 비용과 더 광범위한 기능 세트를 고려할 때 Kpatch의 대체 도구 중 하나로 KernelCare를 진지하게 고려해야 합니다. 마지막으로, 많은 조직과 마찬가지로 Kpatch의 임시 라이브 패치 방식에 수반되는 재부팅을 감당할 수 없다면 KernelCare가 최선의 선택입니다.