AKS(Azure Kubernetes Service)에 대한 취약성 관리
취약성 관리에는 조직 시스템 및 소프트웨어에 존재하는 보안 취약성을 검색, 평가, 완화 및 보고하는 작업이 포함됩니다. 취약성 관리는 사용자와 Microsoft 간의 공동 책임입니다.
이 문서에서는 Microsoft가 AKS(Azure Kubernetes Service) 클러스터에 대한 보안 취약성 및 보안 업데이트(패치라고도 함)를 관리하는 방법을 설명합니다.
취약성을 발견하는 방식
Microsoft는 다음 구성 요소에 대한 취약성 및 누락된 보안 업데이트를 식별하고 패치합니다.
AKS 컨테이너 이미지
Ubuntu 운영 체제 18.04 및 22.04 작업자 노드: Canonical은 Microsoft에 사용 가능한 모든 보안 업데이트가 적용된 OS 빌드를 제공합니다.
Windows Server 2022 OS 작업자 노드: Windows Server 운영 체제는 매월 두 번째 화요일에 패치됩니다. SLA는 지원 계약 및 심각도에 따라 동일해야 합니다.
Azure Linux OS 노드: Azure Linux는 AKS에 사용 가능한 모든 보안 업데이트가 적용된 OS 빌드를 제공합니다.
AKS 컨테이너 이미지
CNCF(Cloud Native Computing Foundation)는 AKS가 실행하는 대부분의 코드를 소유하고 유지 관리하지만 Microsoft는 AKS에 배포하는 오픈 소스 패키지를 빌드할 책임이 있습니다. 이러한 책임에는 빌드, 스캔, 서명, 유효성 검사 및 핫픽스 프로세스의 완전한 소유권을 갖는 것뿐 아니라 컨테이너 이미지의 이진 파일을 제어하는 것이 포함됩니다. AKS에 배포된 오픈 소스 패키지를 빌드할 책임이 있으므로 이진 파일을 통해 소프트웨어 공급망을 설정하고 필요에 따라 소프트웨어를 패치할 수 있습니다.
Microsoft는 광범위한 CNCF 커뮤니티에서 클라우드 네이티브 컴퓨팅의 미래를 구축하는 데 도움이 되는 광범위한 Kubernetes 에코시스템에서 활발히 활동하고 있습니다. 이 작업을 통해 전 세계 모든 Kubernetes 릴리스의 품질을 보장할 뿐만 아니라 AKS가 몇 년 동안 새로운 Kubernetes 릴리스를 신속하게 프로덕션으로 가져올 수 있습니다. 경우에 따라 다른 클라우드 공급자보다 몇 개월 앞섭니다. Microsoft는 Kubernetes 보안 조직의 다른 업계 파트너와 협력합니다. 예를 들어 SRC(보안 대응 위원회)는 금지된 보안 취약성을 대중에게 발표하기 전에 받아서 우선 순위를 지정하고 패치합니다. 이 약속을 통해 Kubernetes는 모든 사람에게 안전을 보장할 수 있며 AKS는 취약성을 더 빠르게 패치하고 대응하여 고객을 안전하게 보호할 수 있습니다. Kubernetes 외에도 Microsoft는 Envoy, 컨테이너 런타임 및 기타 많은 오픈 소스 프로젝트와 같은 제품에 대한 소프트웨어 취약성에 대한 시험판 알림을 받기 위해 등록했습니다.
Microsoft는 정적 분석을 사용하여 컨테이너 이미지를 검사하여 Kubernetes 및 Microsoft 관리 컨테이너에서 취약성 및 누락된 업데이트를 검색합니다. 수정을 사용할 수 있는 경우 스캐너는 업데이트 및 릴리스 프로세스를 자동으로 시작합니다.
자동화된 검사 외에도 Microsoft는 다음과 같은 방법으로 알 수 없는 취약성을 발견하고 스캐너에 업데이트합니다.
Microsoft는 모든 AKS 플랫폼에서 자체 감사, 침투 테스트 및 취약성 검색을 수행합니다. Microsoft 내의 전문 팀과 신뢰할 수 있는 타사 보안 공급업체는 자체 공격 조사를 수행합니다.
Microsoft는 여러 취약성 보상 프로그램을 통해 보안 연구 커뮤니티와 적극적으로 협력하고 있습니다. 전용 Microsoft Azure 장려금 프로그램은 매년 발견되는 최고의 클라우드 취약성에 상당한 장려금을 제공합니다.
Microsoft는 취약성을 공개 릴리스하기 전에 취약성, 보안 연구 및 업데이트를 공유하는 다른 업계 파트너 및 오픈 소스 소프트웨어 파트너와 협력합니다. 이러한 협력의 목표는 취약성이 대중에게 발표되기 전에 많은 인터넷 인프라를 업데이트하는 것입니다. 경우에 따라 Microsoft는 발견된 취약성을 이 커뮤니티에 제공합니다.
Microsoft의 보안 협력은 여러 수준에서 수행됩니다. 경우에 따라 조직이 Kubernetes 및 Docker와 같은 제품의 소프트웨어 취약성에 대한 시험판 알림을 받기 위해 등록하는 프로그램을 통해 공식적으로 수행됩니다. 또한 Linux 커널, 컨테이너 런타임, 가상화 기술 등과 같은 많은 오픈 소스 프로젝트에 참여하기 때문에 비공식적으로도 협력이 이루어집니다.
작업자 노드
Linux 노드
AKS에서는 야간 정식 OS 보안 업데이트가 기본적으로 꺼져 있습니다. 명시적으로 사용하도록 설정하려면 unmanaged
채널을 사용합니다.
unmanaged
채널을 사용하는 경우 노드의 OS에 야간 정식 보안 업데이트가 적용됩니다. 클러스터에 대한 노드를 만드는 데 사용되는 노드 이미지는 변경되지 않은 상태로 유지됩니다. 새 Linux 노드가 클러스터에 추가되면 원래 이미지를 사용하여 노드를 만듭니다. 이 새 노드는 매일 밤 수행되는 자동 검사 중에 사용 가능한 모든 보안 및 커널 업데이트를 받지만 모든 검사와 다시 시작이 완료될 때까지 패치되지 않습니다. 노드 이미지 업그레이드를 사용하여 클러스터에서 사용하는 노드 이미지를 검사하고 업데이트할 수 있습니다. 노드 이미지 업그레이드에 대한 자세한 내용은 AKS(Azure Kubernetes Service) 노드 이미지 업그레이드를 참조하세요.
unmanaged
이외의 채널을 사용하는 AKS 클러스터의 경우 무인 업그레이드 프로세스가 사용되지 않습니다.
Windows Server 노드
Windows Server 노드의 경우 Windows 업데이트가 자동으로 실행되어 최신 업데이트를 적용하지 않습니다. 일반 Windows 업데이트 릴리스 주기 및 사용자 고유의 업데이트 관리 프로세스를 기준으로 AKS 클러스터에서 Windows Server 노드 풀 업그레이드를 예약합니다. 이 업그레이드 프로세스는 최신 Windows Server 이미지 및 패치를 실행하는 노드를 만든 다음, 이전 노드를 제거합니다. 이 프로세스에 대한 자세한 내용은 AKS에서 노드 풀 업그레이드를 참조하세요.
취약성을 분류되는 방식
Microsoft는 좋은 기본값을 설정하고 보안 강화 구성 및 관리되는 구성 요소를 제공할 뿐 아니라, OS, 컨테이너, Kubernetes 및 네트워크 계층을 포함하여 전체 스택을 강화하는 보안에 많은 투자를 합니다. 이러한 노력이 합해져 취약성의 영향과 가능성을 줄이는 데 도움이 됩니다.
AKS 팀은 Kubernetes 취약성 점수 매기기 시스템에 따라 취약성을 분류합니다. 분류는 AKS 구성 및 보안 강화를 비롯한 여러 요인을 고려하여 이루어집니다. 이 접근 방식과 AKS가 보안에 투자한 결과로 AKS 취약성 분류는 다른 분류 소스와 다를 수 있습니다.
다음 표에서는 취약성 심각도 범주에 대해 설명합니다.
심각도 | 설명 |
---|---|
위험 | 인증되지 않은 원격 공격자가 모든 클러스터에서 쉽게 악용할 수 있으며 전체 시스템 손상으로 이어지는 취약성입니다. |
높음 | 많은 클러스터에서 쉽게 악용할 수 있으며 기밀성, 무결성 또는 가용성 손실로 이어지는 취약성입니다. |
중간 | 일부 클러스터에서 악용할 수 있으며, 일반적인 구성, 악용 자체의 어려움, 필수 액세스 권한 또는 사용자 상호 작용에 의해 기밀성, 무결성 또는 가용성 손실이 제한되는 취약성입니다. |
낮음 | 기타 모든 취약성. 악용은 가능성이 낮거나 착취의 결과가 제한적입니다. |
취약성이 업데이트되는 방식
AKS는 매주 공급업체 수정이 포함된 CVE(일반 취약성 및 노출)를 패치합니다. 수정 사항이 없는 CVE는 수정되기 전에 공급업체 수정을 기다리고 있습니다. 고정 컨테이너 이미지는 업데이트된 Ubuntu/Azure Linux/Windows 패치된 CVE도 포함하는 다음 해당 VHD(가상 하드 디스크) 빌드에 캐시됩니다. 업데이트된 VHD를 실행하는 한, 30일이 지난 공급업체 수정을 사용하여 컨테이너 이미지 CVE를 실행하면 안 됩니다.
VHD의 OS 기반 취약성의 경우 AKS는 기본적으로 노드 이미지 vhd 업데이트도 사용하므로 모든 보안 업데이트는 주간 노드 이미지 릴리스와 함께 제공됩니다. 무인 업그레이드는 관리되지 않는 업그레이드로 전환하지 않는 한 사용하지 않도록 설정되며, 전 세계로 릴리스되므로 권장되지 않습니다.
업데이트 릴리스 타임라인
Microsoft의 목표는 취약성을 나타내는 위험에 적합한 기간 내에 검색된 취약성을 완화하는 것입니다. Microsoft Azure FedRAMP High P-ATO(Provisional Authorization to Operate)에는 감사 범위 AKS가 포함되며 권한이 부여되어 있습니다. FedRAMP Continuous Monitoring Strategy Guide 및 FedRAMP Low, Moderate 및 High Security Control 기준은 심각도 수준에 따라 특정 기간 내에 알려진 취약성을 수정해야 합니다. FedRAMP RA-5d에 지정된 사항입니다.
취약성 및 업데이트 전달 방식
일반적으로 Microsoft는 AKS에 대한 새 패치 버전 릴리스를 광범위하게 전달하지 않습니다. 그러나 Microsoft는 적시에 AKS에서 지원하기 위해 사용 가능한 CVE 패치를 지속적으로 모니터링하고 유효성을 검사합니다. 중요한 패치가 발견되거나 사용자 작업이 필요한 경우 Microsoft가 GitHub에 CVE 문제 세부 정보를 게시하고 업데이트합니다.
보안 보고
취약성 보고서를 만들어 보안 문제를 MSRC(Microsoft 보안 대응 센터)에 보고할 수 있습니다.
도구에 로그인하지 않고 보고서를 제출하려면 secure@microsoft.com으로 이메일을 보냅니다. 가능하면 Microsoft 보안 대응 센터 PGP 키 페이지에서 PGP 키를 다운로드하여 이 키로 메시지를 암호화해주세요.
24시간 이내에 응답을 받게 됩니다. 어떤 이유로든 응답을 받지 못한 경우, 이메일을 통해 후속 조치를 취하여 처음에 보낸 메시지를 MSRC가 받았는지 확인합니다. 자세한 내용은 Microsoft 보안 대응 센터를 참조하세요.
가능한 문제의 특성 및 범위를 보다 잘 이해할 수 있도록 다음 요청 정보를 최대한 많이 포함해 주세요.
- 문제 유형(예: 버퍼 오버플로, SQL 삽입, 교차 사이트 스크립팅 등)
- 문제의 규명과 관련된 소스 파일의 전체 경로
- 영향을 받는 소스 코드의 위치(태그/분기/커밋 또는 직접 URL)
- 문제를 재생하는 데 필요한 특별 구성
- 문제를 재생하는 단계별 지침
- 개념 증명 또는 악용 코드(가능한 경우)
- 공격자가 문제를 악용할 수 있는 방법을 포함한 문제의 영향
이 정보는 보고된 보안 문제를 더 빠르게 심사하는 데 도움이 됩니다.
버그 포상을 받기 위해 보고할 경우 더 완전한 보고 내용으로 더 많은 포상을 받을 수 있습니다. 활성 프로그램에 대한 자세한 내용은 Microsoft 버그 장려금 프로그램을 참조하세요.
정책
Microsoft 조정된 취약성 공개의 원칙을 따릅니다.
다음 단계
Azure Kubernetes Service 클러스터 및 노드 풀 업그레이드에 대한 개요를 참조하세요.
Azure Kubernetes Service