웹사이트 검색

Linux 커널 라이브 패치의 역사


이 페이지에서

  1. 2001–2010: 특허 추적\n
  2. 2009: Rebootless의 탄생
  3. 2011–2016: 오라클과 뉴 웨이브
  4. 2014: 뉴 키드 온 더 블록
  5. 결론: 2019년 핵심 이슈\n
  6. 추가 자료
    1. 일반 기사
    2. 문서

    최신 리눅스 커널을 설치하는 것은 재부팅을 의미했지만, 서버를 다시 시작하지 않고 패치하는 방식인 '리부트 없는 커널 업데이트'가 개발되기 전까지는 말이다. 이제 10년이 조금 넘은 기술로 이 기사에서는 그 기원과 현재 상태를 간략하게 살펴봅니다.

    2001–2010: 특허 트레일

    핫 패치 또는 라이브 시스템 업데이트와 같은 키워드로 특허 자료실을 샅샅이 뒤지면 컴퓨터 시스템을 중단하지 않고 업데이트한다는 아이디어가 새로운 것이 아님을 보여주는 많은 응용 프로그램과 거부를 준설하게 될 것입니다. 아이디어를 일반에서 특정으로 추적하는 중요한 날짜는 다음과 같습니다.

    • 2001: Hewlett Packard는 누락된 하드웨어 기능을 우회하기 위해 소프트웨어를 동적으로 업데이트하는 방법에 대한 특허를 취득했습니다.\n
    • 2002: Microsoft는 중단 없이 시스템(Windows)을 업데이트하는 접근 방식으로 게임에 합류했습니다. (초기 신청은 HP의 '선행 기술'을 근거로 거부됩니다.)\n
    • 2008: 제프 아놀드 1).\n
    • 2010: Microsoft의 특허가 항소심에서 마침내 승인되었습니다.\n

    이들에 대한 흥미로운 점은 시스템의 지속적인 실행에 영향을 미치지 않고 하드웨어를 변경하지 않고 소프트웨어 업데이트를 통해 시스템의 핵심 소프트웨어 또는 하드웨어 결함을 수정하려는 열망을 공유한다는 것입니다. 익숙한 것 같나요? (단서: Meltdown, Spectre.)

    2009: Rebootless의 탄생

    Jeff Arnold는 서버2 중 하나를 관리하는 MIT 학생이었습니다. 보안 패치가 필요했지만 재부팅하면 사용자에게 불편을 줄 수 있기 때문에 연기했습니다. 시스템이 업데이트되기 전에 해킹당했습니다. 불명예와 (아이러니하게도) 불편을 겪은 제프는 지체 없이 재부팅하지 않고 시스템 업데이트를 수행하는 문제에서 석사 논문의 주제를 찾도록 영감을 받았습니다. 이 이야기는 출처가 불분명할 수 있지만 라이브 패치 기술은 편의성이 아니라 보안에 대한 우려에서 비롯되었으며 그 역할에 감사해야 한다는 점을 상기시켜 줍니다.

    Jeff Arnold는 세 명의 학생 동료와 팀을 이루어 지연 없이 시스템 프로세스를 중단하지 않고 Linux 서버의 커널을 업데이트하는 방법에 대한 문제를 연구했습니다. 솔루션은 Ksplice라는 소프트웨어의 형태로 제공되었으며, 그 기술 기반은 2005년 2009년 Microsoft에서 Windows 드라이버 업데이트에 적용하기 위해 마련되었습니다.

    졸업 후 Jeff와 그의 MIT 동료들은 Ksplice Inc.를 시작했고 2009년 5월에 MIT $100,000 기업가 정신 대회 상을 수상했습니다. 회사는 2010년에 상용 서비스를 시작했습니다. 일이 잘되고 있었다.

    2011–2016: 오라클과 뉴 웨이브

    2011년 7월 21일, Oracle은 Ksplice, Inc.를 인수하여 Red Hat3의 파생물인 자체 Linux 브랜드에 소프트웨어를 통합했습니다. 이러한 유산에도 불구하고 Oracle은 Red Hat 지원을 중단했습니다. 오라클이 Ksplice를 인수하면서 곤경에 처한 다른 주요 Linux 공급업체의 활동이 급증했습니다.

    2011년과 2014년 사이에 SUSE와 Red Hat은 각각 Kpatch에서 자체 라이브 커널 업데이트 솔루션을 출시하기 위해 서로의 목표를 무시하고 고립된 상태에서 작업했습니다. (약간의 출발에도 불구하고 SUSE의 Kgraft는 2016년에야 GA(즉, 생산 시스템에 적합)가 되었습니다.)

    Red Hat은 Kpatch 코드를 커뮤니티와 공유하고 이를 Red Hat Enterprise Linux의 지원 기능으로 통합했습니다.

    두 화신의 차이점은 오픈 소스 버전 프로젝트 페이지에 표시된 메시지에서 유추할 수 있습니다.

    경고: 주의해서 사용하세요!
    커널 충돌, 자발적인 재부팅,
    데이터 손실이 발생할 수 있습니다!

    같은 기간 동안 SUSE 및 Red Hat의 노력과 병행하여 라이브 패치를 지원하기 위한 기본 ABI 기반이 Linux 커널 버전 4.0 소스 코드에 통합되었습니다. 아이디어는 Kpatch와 Kgraft 모두에서 최고의 아이디어를 가져와 패치하고 메인라인에 대한 공통 접근 방식에 접목하는 것이었습니다. 이것은 livepatch라고 불렸고 2016년 10월에는 14.04 LTS도 포함하도록 확장되었습니다. Ubuntu 18.04에서 LTS Livepatch는 설치 옵션이며 내장 소프트웨어 관리 도구에서 구성할 수 있습니다. 이는 표준 소프트웨어 배포에서 중요성이 커지고 있다는 신호입니다.

    2014: 뉴 키드 온 더 블록

    주요 벤더들이 실행 가능한 라이브 패치 솔루션인 KernelCare를 3월에 성공적으로 베타 테스트를 마친 후 2014년 5월에 출시하기 위해 안간힘을 썼습니다.

    그들은 가장 많은 수의 Linux 플랫폼에서 가장 광범위한 기능 세트를 제공하고 Linux 커널 개발 및 고객 지원에서 강력한 명성을 뒷받침함으로써 시장을 놀라게 했습니다. 또 다른 충격은 KernelCare의 서버당 비용이 주요 경쟁사의 사이트당 비용보다 더 관리하기 쉽고 확장 가능하다고 생각하는 웹사이트 호스팅 업체에게 매력적인 경제성이었습니다.

    보다 최근에는 KernelCare와 Imunify360의 번들로 보안을 중시하는 시스템 관리자의 높은 비행 편대의 레이더에 나타나게 되었습니다.

    결론: 2019년 핵심 이슈

    세계가 자동화된 보안으로 이동함에 따라 자동 라이브 커널 패치 관리 소프트웨어가 널리 사용되는 Linux 배포판에 더욱 긴밀하게 통합되는 것을 볼 수 있습니다. 현재 시장에는 5개의 개별 공급업체만 있습니다. 특집 배경 기사.

    활성 커널로 땜질하는 것은 지저분할 수 있습니다. 기업이나 서버를 실행하는 사람은 테스트되지 않고 지원되지 않는 소프트웨어를 신뢰하기를 원하지 않습니다. 보안이라는 이름으로 수행될 경우 비용을 지불할 가치가 있는 Linux의 여러 응용 프로그램 중 하나이며 반드시 제대로 수행되어야 하는 몇 안 되는 응용 프로그램 중 하나입니다.

    lwn.net 2011년 7월.

    MIT 뉴스: \재부팅 없는 업데이트 제공(2014).

    3 2016년 1월부터 Ksplice는 Oracle UEK 및 Oracle Linux 6 및 7 제품의 일부로만 제공되었습니다. 그해 11월 Red Hat의 업스트림 Kpatch 코드를 제거했습니다.

    Linux 커널 라이브 업데이트 서비스: 기능 비교표

    Feature

    Ksplice

    Kgraft

    Kpatch

    Livepatch

    KernelCare

    Easy Install/config

    Yes

    N/A

    Yes

    Yes

    Yes

    Rollback

    Yes

    Yes

    Yes

    Yes

    Yes

    Fixed patches

    Yes

    No

    No

    No

    Yes

    Firewall-friendly

    Yes

    No

    No

    No

    Yes

    Offline updates

    Yes

    No

    No

    No

    Yes

    Patch access control

    Yes

    No

    No

    Yes

    Yes

    Fully automated

    Yes

    No

    No

    No

    Yes

    Management GUI

    Yes

    No

    No

    Yes

    Yes

    Free 24/7 Support

    No

    No

    No

    No

    Yes

    No. of Platforms

    2

    1

    1 (4)

    1

    9

    Instantaneous patching

    Yes

    No

    Yes

    Yes

    Yes

    Free Trial (days)

    30

    60

    No

    No

    30

    API (REST)

    Yes

    No

    No

    No

    Yes

    Non-latest override

    Yes

    No

    No

    No

    Yes

    Custom kernels

    No

    No

    Yes

    No

    Yes

    자세한 내용은 비교 참고 사항을 참조하십시오.

    추가 자료

    일반 기사

    • Livepatch: 재부팅 없이 Linux 커널 업데이트(2018년 6월 27일) linux-audit.com
    • Live Patching Meltdown–SUSE Engineer의 연구 프로젝트(1부)(2018년 5월 2일) suse.com\n
    • 라이브 커널 패치 업데이트(2017년 9월 27일) lwn.net
    • Red Hat Enterprise Linux 7.2 이상에서 kpatch에 대한 가이드(2016년 11월 10일) redhat.com\n
    • Canonical Livepatch 서비스로 Ubuntu 커널을 핫픽스하십시오! (2016년 10월 18일) blog.dustinkirkland.com
    • Linux 대 Unix 핫 패칭 – 티핑 포인트에 도달했습니까? (2016년 5월 20일) forrester.com
    • 라이브 패치를 위한 대략적인 패치(2015년 2월 25일) lwn.net\n
    • 라이브 커널 업데이트 도구(2014년 9월) admin-magazine.com
    • KernelCare: 재부팅이 필요 없는 새로운 Linux 패치 시스템(2014년 5월 6일) zdnet.com\n

    선적 서류 비치

    • Ksplice 사용자 가이드
    • Kpatch 가이드
    • Kgraft 설명서
    • KernelCare 설명서
    • 표준 Livepatch 서비스 데이터 시트(PDF)\n

    비교 참고 사항

    간편한 설치/구성

    • Ksplice - Uptrack 설치
    • Kgraft는 SUSE Linux Enterprise Server 12와 함께 사전 설치되어 제공됩니다.\n
    • kpatch 도구 설치
    • KernelCare 설치

    롤백

    • Ksplice 업트랙 제거
    • Kgraft 패치 제거
    • kpatch 핫픽스 제거\n
    • KernelCare - 패치 언로드

    방화벽 친화적

    • Ksplice 방화벽 및 프록시 구성\n
    • KernelCare 방화벽 및 프록시 설정\n

    오프라인 업데이트

    • Ksplice 오프라인 클라이언트\n
    • ePortal을 통해 기업 고객에게 제공되는 KernelCare 오프라인 업데이트\n

    패치 액세스 제어

    • Ksplice 액세스 정책
    • KernelCare 구성 및 위치

    완전 자동화

    • Ksplice 자동 업데이트
    • KernelCare 기본 관리

    관리 GUI

    • Ksplice GUI는 Ubuntu 또는 Fedora 데스크탑 에디션에서만 사용 가능
    • Canonical Livepatch Service-GUI 전용 유료 지원 옵션
    • KernelCare e포털

    연중무휴 무료 지원

    • Kpatch 지원(유료)
    • Kgraft 지원(유료)
    • Ubuntu Advantage(유료)
    • KernelCare 지원(포함)\n

    플랫폼 수

    • Ksplice 지원 커널(Red Hat Enterprise Linux, Oracle Linux)
    • Kgraft 데이터 시트(SUSE Linux Enterprise Server 12/15)
    • Kpatch(RedHat) 지원 범위(Red Hat Enterprise Linux)
    • Kpatch(github.com)(데비안, CentOS, 우분투, 젠투)
    • 표준 Livepatch 서비스 데이터 시트(PDF)(Ubuntu 14.04 LTS, 16.04 LTS)\n
    • KernelCare 패치 서버(Ubuntu, RHEL, CentOS, CloudLinux OS, Debian, Oracle Linux, Proxmox VE, Virt-SIG/Xen4CentOS, Virtuozzo/OpenVZ)

    무료 시험판

    • Ksplice 무료 30일 평가판(Oracle SSO 계정 필요)\n
    • Kgraft 무료 60일 평가판
    • KernelCare 무료 30일 평가판

    API(레스트)

    • Ksplice API
    • KernelCare Nagios/Zabbix API

    최신이 아닌 재정의

    • Ksplice(특정 유효 버전)\n
    • KernelCare 스티커 패치

    저자 폴 제이콥스

    Paul은 CloudLinux의 기술 전도사이자 콘텐츠 작성자입니다. 그는 IT 분야에서 25년 이상의 변화무쌍한 경험을 활용하여 Linux 웹 호스팅 및 보안의 복잡성을 분석, 해명 및 설명합니다.