ClickCease 데브옵스 워크플로우에서 라이브 패치 적용 - TuxCare

콘텐츠 표

인기 뉴스레터 구독하기

4,500명 이상의 Linux 및 오픈소스 전문가와 함께하세요!

한 달에 두 번. 스팸이 없습니다.

DevOps 워크플로에서 라이브 패치 적용

드시 위쳐

2020년 12월 2일 - 마케팅 부사장

데브옵스는 소프트웨어 개발과 IT 운영의 결합으로, 조직이 보다 효과적으로 경쟁하고 고객에게 더 나은 서비스를 제공할 수 있도록 일반적인 속도보다 빠르게 제품을 개선하고 발전시키는 것을 목표로 합니다.

데브옵스 워크플로에서는 코드를 빠르게 테스트해야 하는 빠른 릴리스 주기가 특징입니다. 이를 위해 개발자는 일반적으로 템플릿을 기반으로 새로운 가상 머신을 빠르게 스핀업하여 이러한 테스트를 실행할 수 있습니다. 이는 스크립트로 제어되며, ansible이나 퍼펫과 같이 사용 가능한 여러 자동화 도구 중 하나 이상을 사용합니다.

개발자는 일반적으로 새로운 코드를 테스트, 빌드 및 릴리스하기 위해 새로운 가상 머신을 가동하지만, 이러한 가상 머신이 수명이 짧더라도 악의적인 공격자의 표적이 될 수 있다는 사실을 인지하는 경우는 드뭅니다. 이러한 시스템이 손상되면 다른 방법으로는 접근할 수 없는 내부 자산에 접근할 수 있는 발판이 마련될 수 있습니다. 이는 적어도 2015년부터 알려진 사실로, '지속적인 침입'이라는 적절한 제목으로 블랙햇 유럽 2015에서 이 주제가 논의되었습니다: CI 도구가 공격자의 가장 친한 친구인 이유"라는 제목으로 논의되었지만 여전히 그 위험은 경시되고 무시되고 있습니다.

이 문서에서는 워크플로에 KernelCare 배포를 통합하여 이러한 시스템도 최신 Kernel 패치로 최신 상태로 유지하는 방법을 알아볼 수 있습니다.

데브옵스 가상 머신

데브옵스는 가상화를 사용하여 신속하고 안정적인 배포를 지원합니다. "가상화는 물리적 하드웨어 자체를 변경하지 않고도 다양한 하드웨어 및 소프트웨어 환경을 모방하는 소프트웨어를 만드는 프로세스입니다."(BMC). 가상 머신은 특정 하드웨어 또는 소프트웨어 구성의 시뮬레이션으로 작동하도록 고안되었기 때문에 DevOps는 물리적 구성 요소를 변경하지 않고도 소프트웨어 또는 하드웨어의 다양한 측면을 테스트할 수 있으며, 한 번에 여러 시뮬레이션을 실행하여 프로세스 속도를 높일 수 있습니다.

보안 문제

가상 머신은 특정 시점에 생성된 템플릿을 기반으로 하며, 온라인 상태가 되면 일반적으로 업데이트 프로세스가 없기 때문에 생성 시점에 존재했던 취약점이나 생성 이후 나타난 취약점이 온라인 상태로 전환된 가상 머신에 그대로 남아 있습니다. 이러한 위험은 이러한 가상 머신의 수명이 일반적으로 짧기 때문에 경시됩니다.

"가상 머신의 스냅샷을 찍어 디스크에 기록할 수 있으므로 다음에 다시 만들거나 재해 복구를 위해 다시 만들 필요가 없습니다. 오프라인 라이브러리에 있는 가상 머신 중 하나를 실행하기만 하면 됩니다. 하지만 대부분의 경우 A/V 서명과 패치가 최신 상태로 유지되지 않습니다."라고 Neil MacDonald는 말합니다.

이러한 가상 머신은 일반적으로 "폐기" 가상 머신입니다. 이러한 가상 머신은 스핀업되어 테스트에 사용된 후 삭제되거나 잊혀집니다. 문제는 이러한 가상 머신이 기술적으로는 여전히 서버이며, 패치 및 유지 보수가 이루어지지 않으면 가상 머신이 만들어질 당시 존재했던 취약점이 그대로 존재하기 때문에 해커의 공격 대상이 될 수 있다는 것입니다. 패치나 취약점을 확인해야 하지만 그렇지 않은 경우가 많기 때문에 이러한 템플릿은 사고 발생을 기다리는 위험 요소입니다.

해커는 이러한 보안의 허점을 파악하고 가상 머신이 나타날 때까지 기다렸다가 그 시간 동안 공격할 수 있습니다. 이러한 가상 머신은 데이터베이스, 기타 내부 시스템 또는 인증 메커니즘에 대한 액세스가 필요하기 때문에 나머지 인프라로 들어가는 진입점이 될 수 있습니다.

DevSecOps란 무엇인가요?

DevSecOps의 간단한 정의는 개발 및 운영에 보안을 추가하는 것입니다. 데브시크옵스 파이프라인에 보안을 구현하여 모든 것이 안전하게 유지되도록 하는 목표를 추가합니다. 가상 머신의 정보를 모니터링하는 추가 작업이 필요한 경우가 많기 때문에 조직을 DevSecOps 프레임워크를 따르는 방향으로 전환하는 것은 어려울 수 있습니다. 하지만 KernelCare는 실시간 패치를 제공하므로 시스템을 더욱 안전하게 보호하기 위해 추가 작업을 할 필요가 없습니다. Kernel 및 공유 라이브러리 보안 패치와 관련된 모든 것을 시스템이 알아서 처리합니다.

KernelCare DevSecOps 솔루션

보안과 실시간 패치는 DevOps 프로세스에서 중요하므로 간단한 솔루션이 필요합니다: 바로 KernelCare입니다. KernelCare는 가상 머신의 배포 스크립트에 자동화하여 포함할 수 있는 간단한 설치 절차를 제공합니다. 이렇게 하면 가상 머신이 온라인 상태가 되면 KernelCare가 Kernel 및/또는 공유 라이브러리를 실시간으로 패치하고 Lifecycle이 짧을지라도 보안을 강화하는 데 도움을 줍니다. 또한 가상 머신을 온라인 상태로 전환할 때 가상 머신의 모든 스냅샷에 패치가 적용되므로 오래된 취약점으로 인해 해커가 시스템에 침입할 수 있는 문이 열려 있는 것에 대해 걱정할 필요가 없습니다.

비즈니스에서 가상 머신 대신 컨테이너를 사용하는 경우, 다음과 같이 컨테이너 호스트에 KernelCare 를 컨테이너 호스트에 설치하는 것이 여전히 권장됩니다. 이렇게 하면 보안 패치를 적용하기 위해 호스트를 재부팅할 필요 없이 모든 컨테이너를 보호할 수 있으며 가동 중단 시간도 없습니다.

데브옵스 파이프라인에서 여기에 설명된 통합은 빌드 단계와 테스트 단계 사이에서 이루어집니다.

KernelCare를 시스템에 통합하기

To KernelCare와 앤서블을 통합하려면와 통합하려면 다음 정보를 제공해야 합니다:

  • "ePortal 서버 이름(또는 IP)을 eportal srv Ansible 변수에 입력합니다. 다른 구성 파일 옵션은 구성 옵션 및 KernelCare 클라이언트 구성 파일(ePortal)에서 찾을 수 있습니다.
  • "활성화_키 Ansible 변수에 있는 활성화 키입니다. 활성화 키는 키 관리(ePortal)에 설명된 대로 ePortal에서 생성할 수 있습니다.

KernelCare를 Puppet과 통합하려면 링크된 비디오의 지침을 따르세요.

KernelCare를 시스템에 통합하는 코드 예시는 다음과 같습니다:

- 호스트: KernelCare

  vars:

       eportal_srv: http://192.168.250.19

       활성화_키: 89gRVCp1rY0ZQ053

작업:

- name:설치 셸 스크립트 다운로드

       get_url:

       url: “{{ eportal_srv }}/installer”

       dest: /root/kc-install.sh

       모드: '0700'

- name:설치 셸 스크립트 실행

       셸을 실행합니다: /root/kc-install.sh >> /var/log/kcare_install.log

       환경으로 이동합니다:

       KCARE_REPO: “{{ eportal_srv }}/repo”

- name:ePortal 구성으로 kcare.conf 업데이트

       블록인파일:

       경로를 추가합니다: /etc/sysconfig/kcare/kcare.conf

       만들기: 예

       블록: |

       PATCH_SERVER={{ eportal_srv }}/

       REGISTRATION_URL={{ eportal_srv }}/admin/api/kcare

- 이름:KernelCare 에이전트 등록

       command: /usr/bin/kcarectl –register {{ activation_key }}

결론

KernelCare를 사용하면 가상 머신을 생성할 때 개발자가 추가 작업을 할 필요 없이 DevOps 파이프라인의 배포 단계에서 모든 패치가 설치됩니다. 테스트를 위한 보다 안전한 환경을 확보할 수 있습니다. 이는 결국 더 안전한 내부 환경으로 이어집니다. KernelCare는 올바른 방향으로 나아가는 단계로, DevOps를 DevSecOps로 업그레이드하는 데 도움이 됩니다. KernelCare 라이브 패치는 새로운 가상 머신의 배포 스크립트에 쉽게 통합되어 취약성에 대한 보안을 더욱 강화할 수 있으며, KernelCare를 사용하면 추가 작업 없이도 보안을 강화할 수 있습니다.

Kernel 재부팅, 시스템 다운타임 또는 예정된 유지 보수 기간 없이 취약성 패치를 자동화하고 싶으신가요?

TuxCare로 라이브 패치에 대해 알아보기

TuxCare 게스트 작가 되기

시작하기

메일

가입

4,500

Linux & 오픈 소스
전문가!


뉴스레터 구독하기