Ubuntu에서 Canonical의 Livepatch 서비스를 사용하는 방법

Ubuntu 시스템을 재시작하지 않고도 중요한 Linux 커널 패치를 자동으로 적용하는 방법을 궁금하십니까? Canonical의 Livepatch 서비스를 활용하여 이를 실현하는 방법을 소개합니다.

Livepatch란 무엇이며 어떻게 작동하는가?

Canonical의 더스틴 커클랜드는 몇 년 전 Canonical Livepatch가 커널 라이브 패칭 기술을 기반으로 한다고 설명했습니다. 이는 표준 Linux 커널에 통합된 기술입니다. Canonical의 라이브패치 웹사이트에 따르면, AT&T, Cisco, Walmart와 같은 대기업들이 이 서비스를 이용하고 있습니다.

개인 사용자는 최대 3대의 컴퓨터에서 무료로 Livepatch를 사용할 수 있습니다. 커클랜드에 따르면 이러한 컴퓨터는 “데스크톱, 서버, 가상 머신 또는 클라우드 인스턴스”가 될 수 있습니다. 기업의 경우 유료로 더 많은 시스템에서 Livepatch를 사용할 수 있으며, 우분투 어드밴티지를 신청하면 됩니다.

커널 패치는 필수지만 번거롭다

Linux 커널 패치는 불가피합니다. 시스템의 보안을 유지하고 최신 패치를 적용하는 것은 오늘날의 상호 연결된 세계에서 매우 중요합니다. 하지만 커널 패치를 적용하기 위해 컴퓨터를 재부팅해야 하는 것은 매우 불편합니다. 특히, 컴퓨터가 사용자에게 서비스를 제공하고 있고 서비스를 중단하기 위해 사용자와 협의해야 하는 경우에는 더욱 그렇습니다. 또한 여러 Ubuntu 시스템을 관리해야 한다면, 모든 시스템을 순차적으로 재부팅해야 하는 상황에 직면하게 됩니다.

Canonical Livepatch 서비스는 중요한 커널 패치로 Ubuntu 시스템을 최신 상태로 유지하는 데 따르는 모든 어려움을 해결합니다. 그래픽 인터페이스나 명령줄을 통해 간편하게 설정할 수 있으며, 추가적인 수고를 덜어줍니다.

유지 관리 노력을 줄이고 보안을 강화하며 가동 중지 시간을 최소화하는 것은 매력적인 제안이 아닐 수 없습니다. 물론 몇 가지 고려해야 할 사항이 있습니다.

  • Ubuntu의 LTS(장기 지원) 릴리스인 16.04 또는 18.04를 사용하고 있어야 합니다. 최신 LTS 버전은 18.04이므로 해당 버전을 기준으로 설명합니다.
  • 64비트 버전이어야 합니다.
  • Linux Kernel 4.4 이상을 실행하고 있어야 합니다.
  • Ubuntu One 계정이 필요합니다. 이 계정이 있으신가요? 만약 없다면 무료로 가입할 수 있습니다.
  • Canonical Livepatch 서비스는 무료로 사용할 수 있지만, Ubuntu One 계정당 컴퓨터 3대로 제한됩니다. 3대 이상의 컴퓨터를 관리해야 하는 경우에는 추가 Ubuntu One 계정이 필요합니다.
  • 물리적, 가상 또는 클라우드 호스팅 서버를 관리하는 기업 고객은 우분투 어드밴티지를 고려해 보십시오.

Ubuntu One 계정 생성하기

Livepatch 서비스를 그래픽 사용자 인터페이스 (GUI) 또는 CLI(명령줄 인터페이스)를 통해 설정하든, Ubuntu One 계정은 필수입니다. Livepatch 서비스는 사용자에게 발급되어 Ubuntu One 계정에 연결된 고유 키를 사용하기 때문입니다.

GUI를 사용하여 Livepatch 서비스를 설정하면 키가 사용자에게 직접 노출되지 않습니다. 키는 백그라운드에서 사용되지만 사용자는 볼 수 없습니다. 터미널을 통해 Livepatch를 설정할 때는 브라우저에서 명령줄로 키를 복사하여 붙여넣어야 합니다.

Ubuntu One 계정이 없다면 무료로 만들 수 있습니다.

그래픽 인터페이스를 통해 Canonical Livepatch 서비스 활성화하기

그래픽 설정 인터페이스를 실행하려면 “Super” 키를 누릅니다. 이 키는 대부분 키보드에서 “Control”과 “Alt” 키 사이에 있습니다. “라이브패치”를 검색합니다.

Livepatch 아이콘이 나타나면 클릭하거나 “Enter” 키를 누릅니다.

“소프트웨어 및 업데이트” 대화 상자가 열리고 Livepatch 탭이 선택됩니다. “로그인” 버튼을 클릭합니다. Ubuntu One 계정이 필요하다는 알림이 표시됩니다.

“로그인/등록” 버튼을 클릭합니다.

Ubuntu Single Sign-On 계정 대화 상자가 나타납니다. Canonical은 “Ubuntu One”과 “Single Sign-On”을 같은 의미로 사용합니다. 공식적으로 “싱글 사인온”은 “Ubuntu One”으로 대체되었지만 이전 이름이 여전히 사용됩니다.

계정 정보를 입력하고 “연결” 버튼을 클릭합니다. 아직 계정이 없다면 이 창에서 계정을 생성할 수도 있습니다.

암호를 입력하라는 메시지가 나타납니다.

암호를 입력하고 “인증” 버튼을 클릭합니다. 사용하려는 Ubuntu One 계정과 연결된 이메일 주소가 대화 상자에 표시됩니다.

정확한지 확인하고 “계속” 버튼을 클릭합니다.

암호를 한 번 더 입력하라는 메시지가 나타납니다. 잠시 후 “소프트웨어 및 업데이트” 대화 상자의 Livepatch 탭이 업데이트되어 Livepatch가 활성화되었음을 보여줍니다.

네트워킹, 사운드 및 전원 아이콘 근처의 알림 영역에 새로운 방패 아이콘이 나타납니다. 녹색 원 안에 체크 표시가 있으면 모든 것이 정상임을 나타냅니다. 아이콘을 클릭하면 메뉴에 접근할 수 있습니다.

Livepatch가 켜져 있고 현재 업데이트가 없음을 확인할 수 있습니다.

“Livepatch 설정” 옵션을 선택하면 “소프트웨어 및 업데이트” 대화 상자의 Livepatch 탭이 열립니다.

이제 설정이 완료되었습니다.

CLI를 사용하여 Canonical Livepatch 서비스 활성화하기

먼저 Ubuntu One 계정이 필요합니다. 계정이 없다면 새로 만들어야 합니다. 무료이며 금방 만들 수 있습니다.

일부 단계는 웹 기반이므로 완벽한 CLI 전용 방법은 아닙니다. 먼저 Canonical Livepatch 서비스 웹 페이지로 이동하여 비밀 키 또는 “토큰”을 얻어야 합니다.

“Ubuntu 사용자” 라디오 버튼을 선택하고 “Livepatch 토큰 가져오기” 버튼을 클릭합니다.

Ubuntu One 계정으로 로그인하라는 메시지가 표시됩니다.

계정이 있는 경우, 계정을 만들 때 사용했던 이메일 주소를 입력하고 “Ubuntu One 계정이 있으며 내 암호는 다음과 같습니다:” 라디오 버튼을 선택합니다. 계정이 없다면 이메일 주소를 입력하고 “Ubuntu One 계정이 없습니다” 라디오 버튼을 선택합니다. 계정 생성 절차를 안내받게 됩니다.

Ubuntu One 계정이 확인되면, 관리되는 라이브 커널 패치 웹 페이지가 표시되고 키가 제공됩니다.

키가 표시된 웹 페이지를 그대로 두고 터미널 창을 엽니다. 터미널 창에서 다음 명령을 실행하여 Livepatch 서비스 데몬을 설치합니다.

sudo snap install canonical-livepatch

설치가 완료되면 서비스를 활성화해야 합니다. “관리되는 라이브 커널 패치” 웹 페이지에서 키가 필요합니다.

키를 복사하여 명령줄에 붙여넣어야 합니다. 웹 페이지에서 키를 강조 표시하고 마우스 오른쪽 버튼을 클릭한 다음 상황에 맞는 메뉴에서 “복사”를 선택합니다. 또는 키를 강조 표시하고 “Ctrl+C”를 누를 수도 있습니다.

터미널 창에 다음 명령을 입력하되, “Enter” 키는 누르지 마십시오.

sudo canonical-livepatch enable

그런 다음 스페이스바를 눌러 공백을 삽입하고, 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴에서 “붙여넣기”를 선택합니다. 또는 “Ctrl+Shift+V”를 누를 수도 있습니다. 방금 입력한 명령, 공백 및 웹 페이지의 키가 표시되어야 합니다.

이 기사 작성에 사용된 테스트 머신에서는 다음과 같이 표시되었습니다.

Enter 키를 누르십시오.

정상적으로 진행되면 Livepatch에서 컴퓨터에 커널 패치가 적용되었다는 확인 메시지가 표시됩니다. 또 다른 긴 키도 표시됩니다. 이것이 “머신 토큰”입니다.

지금까지 진행된 과정은 다음과 같습니다.

  • Canonical로부터 Livepatch 키를 받았습니다.
  • 이 키는 3대의 컴퓨터에서 사용할 수 있습니다. 현재까지 1대의 컴퓨터에서 사용되었습니다.
  • 사용자의 키를 사용하여 해당 컴퓨터에 대해 생성된 머신 토큰은 이 메시지에 표시되는 머신 토큰입니다.

“소프트웨어 및 업데이트” 대화 상자의 Livepatch 탭을 확인하면 Livepatch가 활성화되어 작동 중임을 확인할 수 있습니다.

라이브패치 상태 확인하기

다음 명령을 사용하여 Livepatch에서 상태 보고서를 제공하도록 할 수 있습니다.

sudo canonical-livepatch status

상태 보고서에는 다음 정보가 포함됩니다:

  • client-version: Livepatch 소프트웨어의 버전입니다.
  • 아키텍처: 컴퓨터의 CPU 아키텍처입니다.
  • cpu-model: 컴퓨터에 사용된 중앙 처리 장치 (CPU)의 유형 및 모델입니다.
  • last-check: Livepatch가 다운로드할 수 있는 중요한 커널 업데이트가 있는지 마지막으로 확인한 날짜와 시간입니다.
  • boot-time: 컴퓨터가 마지막으로 부팅된 시간입니다.
  • 가동 시간: 컴퓨터가 켜져 있었던 시간입니다.

상태 블록에는 다음 정보가 표시됩니다.

  • kernel: 현재 커널 버전입니다.
  • 실행 중: Livepatch가 실행 중인지 여부입니다.
  • checkstate: Livepatch가 커널 패치를 확인했는지 여부입니다.
  • patchState: 설치해야 할 중요한 커널 패치가 있는지 여부입니다.
  • version: 적용해야 할 커널 패치 버전(해당되는 경우)입니다.
  • 수정 사항: 커널 패치에 포함된 수정 사항입니다.

Livepatch 강제 업데이트하기

Livepatch의 목적은 관리형 업데이트 서비스를 제공하여 사용자가 신경 쓸 필요가 없도록 하는 것입니다. 하지만 필요한 경우 다음 명령을 사용하여 Livepatch가 커널 패치를 확인하고 발견된 모든 패치를 적용하도록 강제할 수 있습니다.

sudo canonical-livepatch refresh

Livepatch는 새로 고침 전후의 커널 버전을 알려줍니다. 이 예에서는 적용할 패치가 없었습니다.

마찰 감소, 보안 강화

보안 마찰이란 보안 기능을 구현, 사용 또는 유지 관리하는 데 따르는 불편함이나 어려움을 의미합니다. 마찰이 너무 크면 기능이 사용되지 않거나 제대로 관리되지 않아 보안이 취약해집니다. Livepatch는 중요한 커널 업데이트를 적용할 때 발생하는 모든 번거로움을 제거하여 커널을 최대한 안전하게 유지합니다.

이것은 분명히 “윈-윈” 시나리오입니다.