Linux 커널 업데이트는 세금처럼 지루하고 죽음보다 조금 덜 불편한 일상적인 일입니다. Linux 커널의 새로운 보안 취약점은 지루할 정도로 규칙적으로 나타나고 심지어 멋진 이름까지 붙습니다. 모든 경우는 아니지만 대부분의 경우, 이를 수정하는 데 필요한 패치가 곧바로 뒤따릅니다. 최신 Linux 커널 보안 업데이트를 커널에 패치하는 데에는 많은 작업이 수반되며, 너무 오래 지체하면 악의적인 공격자가 취약한 시기를 이용할 수 있어 위험합니다.
이제 리눅스 커널 보안 업데이트의 또 다른 방법인 재부팅 없는 라이브 커널 패치를 검토할 때입니다. 각 라이브 패치 도구와 대안에 대해 자세히 알아보려면 자세히 읽어보세요.
재부팅 없이 Linux 커널 업데이트 적용하기
보안 패치가 매우 중요한 경우도 있지만 재부팅 시 프로세스가 멈추는 경우도 있습니다. '상시 가동' 또는 '고가용성' 시스템을 운영하고 있다면 이러한 딜레마에 대해 이미 잘 알고 계실 것입니다.
재부팅 없는 Linux 커널 업데이트는 보안 취약점이나 중요한 버그 수정에 대한 패치만 적용하므로 전체 커널 업그레이드를 대체할 수 없습니다. 그러나 대부분의 경우 이 방법만으로도 충분하며, 이 방법을 사용하면 재부팅 사이에 서버를 수년 동안 안전하게 실행할 수 있습니다.
여러 주요 Linux 공급업체에서 재부팅 없이 커널 업데이트를 제공합니다. 어떤 제품을 선택할지는 실행 중인 배포판과 예산에 따라 달라집니다. 이 글의 나머지 부분에서는 다음 제품에 대해 설명합니다:
Ksplice by Oracle (Oracle Linux 업데이트용, 엔터프라이즈용 Ksplice Uptrack)
Ksplice는 재부팅 없이 커널 업데이트를 상용화한 최초의 구현이었습니다. 는 결국 오라클에 인수되어 현재는 당연히 오라클 Linux 및 RedHat Enterprise Linux 배포판에서만 사용할 수 있으며, 배포를 위해서는 오라클의 라이선스가 필요합니다.
재부팅할 필요가 없습니다.
자동 업데이트.
데스크톱 Linux 설치에서 무료로 사용할 수 있으며, 페도라 및 우분투 Linux 배포판에서 공식 지원을 받을 수 있습니다.
오라클 리눅스, 레드햇 엔터프라이즈 리눅스, 센트OS 및 우분투에서만 작동합니다.
지원 라이선스가 필요하며, 가격은 시스템당 연간 $1,399부터 시작합니다.
배포하려면 실행하세요:
sudo wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc
sudo sh install-uptrack-oc -autoinstall
재부팅 명령이 없으며 서버 수명 기간 동안 설치 스크립트를 한 번만 실행하면 됩니다. 그 후에는 Uptrack 서비스가 새 커널 업데이트를 자동으로 감지하여 배포합니다. 스케줄링이나 다운타임이 없으며 더 이상 할 일이 없습니다.
정식 라이브 패치 서비스
이것은 커널 라이브 패치를 위한 Canonical의 기술입니다. 어렵고 시간이 많이 걸리는 작업이지만 직접 패치를 만들 수도 있습니다. 일부 공급업체는 유료로 Ubuntu 업그레이드 커널을 생성해 줍니다. 이 서비스는 Ubuntu 16.04 이상에서 사용할 수 있습니다.
재부팅할 필요가 없습니다.
자동 커널 업데이트 개인용 무료(최대 3대, 공인 Ubuntu 커뮤니티 회원의 경우 최대 50대까지)
사소하지 않은 커스텀 커널 패치.
제한된 배포가 지원됩니다.
업데이트할 수 있는 호스트 수로 제한합니다.
유료 호스트 추가 - Ubuntu Advantage(최소 Essential) 지원 구독의 가격은 물리적 서버의 경우 연간 $225-$1,500/머신, 가상 머신의 경우 연간 $75-$500/머신부터 시작됩니다.
Canonical 라이브패치 서비스는 개인용으로는 최대 3대, Ubuntu 커뮤니티 회원용으로는 최대 50대의 머신에 대해 무료로 제공됩니다. 여기에서 토큰을 신청할 수 있습니다.
Red Hat K패치
이것은 Red Hat의 자체 커널 패치 도구입니다. 2014년에 발표되었으며 같은 계열의 다른 시스템(Fedora, CentOS)은 물론 일부 데비안 기반 시스템(Ubuntu, Gentoo)에서도 작동하도록 포팅되었습니다.
재부팅할 필요가 없습니다.
자동화되지 않습니다.
배포가 제한됩니다.
프리미엄 지원 구독을 통해 연간 $1299에 이용할 수 있습니다.
다음은 RHEL 7에 배포하는 예제입니다:
sudo yum 설치 kpatchsudo yum 설치 kpatch-patch-X.X.X.el7.x86_64.rpm
우분투의 라이브패치 서비스나 오라클의 Ksplice와 달리 자동이 아니므로 커널 패치가 제공될 때마다 수동으로 확인하여 설치해야 합니다.
SUSE Kgraft
Red Hat의 솔루션과 거의 동시에 개발 및 발표된 Kgraft는 SUSE의 라이브 패치 제품입니다(SUSE Linux Enterprise Live Patching으로 알려져 있음). SUSE의 자체 Linux Enterprise Server 12 전용이며 사전 설치되어 제공되므로 비용을 지불하는 것 외에는 실제로 할 일이 없습니다. 대부분의 다른 접근 방식과는 다른 원리로 작동하지만 Kpatch와 비슷한 기능 세트를 갖추고 있습니다.
설치가 필요 없습니다.
재부팅할 필요가 없습니다.
단일 플랫폼 지원.
상업용(하지만 60일 무료 평가판이 제공됩니다).
CloudLinux 커널케어
또한 2014년에 출시된 KernelCare의 Linux 커널 라이브 패치 서비스는 CentOS, RHEL, Oracle Linux, Debian, Ubuntu 등을 포함하는 커널 패치 솔루션 중 단연 돋보이는 서비스입니다. 또한 Oracle의 솔루션과 마찬가지로 KernelCare는 RHEL 6의 이전 2.6.32 커널을 지원합니다.