다음을 통해 공유


컨테이너 보안 권장 사항

이 문서에서는 클라우드용 Microsoft Defender 볼 수 있는 모든 컨테이너 보안 권장 사항을 나열합니다.

사용자 환경에 표시되는 권장 사항은 보호 중인 리소스와 사용자 지정된 구성을 기반으로 합니다.

권장 사항 설명에 관련 정책이 없다고 표시되는 경우 일반적으로 권장 사항은 다른 권장 사항에 따라 달라지기 때문입니다.

예를 들어 Endpoint Protection 상태 오류를 수정해야 하는 권장 사항은 엔드포인트 보호 솔루션이 설치되어 있는지 여부를 확인하는 권장 사항에 의존합니다(Endpoint Protection 솔루션을 설치해야 함). 기본 권장 사항에는 정책이 있습니다. 정책을 기본 권장 사항으로만 제한하면 정책 관리가 간소화됩니다.

Azure 컨테이너 권장 사항

Azure Arc 지원 Kubernetes 클러스터에 Azure Policy 확장이 설치되어 있어야 합니다.

설명: Kubernetes용 Azure Policy 확장은 OPA(Open Policy Agent)에 대한 허용 컨트롤러 웹후크인 Gatekeeper v3를 확장하여 중앙 집중식으로 일관된 방식으로 클러스터에 대규모 적용 및 보호 장치를 적용합니다. (관련 정책 없음)

심각도: 높음

형식: 컨트롤 플레인

Azure Arc 지원 Kubernetes 클러스터에 Defender의 확장이 설치되어 있어야 합니다.

설명: Azure Arc용 Defender 확장은 Arc 지원 Kubernetes 클러스터에 대한 위협 방지 기능을 제공합니다. 확장은 클러스터의 모든 제어 평면(마스터) 노드에서 데이터를 수집하고 추가 분석을 위해 클라우드의 Microsoft Defender for Kubernetes 백 엔드 로 보냅니다. (관련 정책 없음)

심각도: 높음

형식: 컨트롤 플레인

Azure Kubernetes Service 클러스터에는 Defender 프로필이 사용하도록 설정되어 있어야 합니다.

설명: 컨테이너용 Microsoft Defender는 환경 강화, 워크로드 보호 및 런타임 보호를 비롯한 클라우드 네이티브 Kubernetes 보안 기능을 제공합니다. Azure Kubernetes Service 클러스터에서 SecurityProfile.AzureDefender 프로필을 사용하도록 설정하면 에이전트가 보안 이벤트 데이터를 수집할 클러스터에 배포됩니다. 스토리지용 Microsoft Defender 소개에서 자세히 알아봅니다. (관련 정책 없음)

심각도: 높음

형식: 컨트롤 플레인

Azure Kubernetes Service 클러스터에는 Kubernetes용 Azure Policy 추가 기능이 설치되어 있어야 합니다.

설명: Kubernetes용 Azure Policy 추가 기능은 OPA(Open Policy Agent)에 대한 허용 컨트롤러 웹후크인 Gatekeeper v3를 확장하여 중앙 집중식으로 일관된 방식으로 클러스터에 대규모 적용 및 보호 기능을 적용합니다. 클라우드용 Defender를 사용하려면 클러스터 내에서 보안 기능 및 규정 준수를 감사하고 적용할 추가 기능이 필요합니다. 자세히 알아보기. Kubernetes v1.14.0 이상이 필요합니다. (관련 정책: AKS(Kubernetes Service)용 Azure Policy 추가 기능을 클러스터에 설치하고 사용하도록 설정해야 합니다.

심각도: 높음

형식: 컨트롤 플레인

Azure 레지스트리 컨테이너 이미지의 취약성이 해결되어야 합니다(Microsoft Defender Vulnerability Management 제공).

설명: 컨테이너 이미지 취약성 평가는 레지스트리에서 일반적으로 알려진 취약성(CVE)을 검사하고 각 이미지에 대한 자세한 취약성 보고서를 제공합니다. 취약성을 해결하면 보안 태세가 크게 향상되어 배포 전에 이미지를 안전하게 사용할 수 있습니다. (관련 정책: Azure Container Registry 이미지의 취약성을 수정해야 함).

심각도: 높음

형식: 취약성 평가

Azure 레지스트리 컨테이너 이미지의 취약성이 해결되어야 함(Qualys 제공)

설명: 컨테이너 이미지 취약성 평가는 레지스트리에서 보안 취약성을 검사하고 각 이미지에 대한 자세한 결과를 노출합니다. 취약성을 해결하면 컨테이너의 보안 상태가 크게 개선되며 공격으로부터 보호할 수 있습니다. (관련 정책: Azure Container Registry 이미지의 취약성을 수정해야 함).

평가 키: dbd0cb49-b563-45e7-9724-889e799fa648

형식: 취약성 평가

Azure 실행 컨테이너 이미지의 취약성이 해결되어야 합니다(Microsoft Defender 취약성 관리 제공).

설명: 컨테이너 이미지 취약성 평가는 레지스트리에서 일반적으로 알려진 취약성(CVE)을 검사하고 각 이미지에 대한 자세한 취약성 보고서를 제공합니다. 이 권장 사항은 현재 Kubernetes 클러스터에서 실행 중인 취약한 이미지에 대한 가시성을 제공합니다. 현재 실행 중인 컨테이너 이미지의 취약성을 수정하는 것은 보안 태세를 개선하고 컨테이너화된 워크로드에 대한 공격 표면을 크게 줄이는 데 중요합니다.

심각도: 높음

형식: 취약성 평가

Azure 실행 컨테이너 이미지의 취약성이 해결되어야 합니다(Qualys 제공).

설명: 컨테이너 이미지 취약성 평가는 Kubernetes 클러스터에서 실행되는 컨테이너 이미지를 검사하여 보안 취약성을 검사하고 각 이미지에 대한 자세한 결과를 노출합니다. 취약성을 해결하면 컨테이너의 보안 상태가 크게 개선되며 공격으로부터 보호할 수 있습니다. (관련 정책 없음)

평가 키: 41503391-efa5-47ee-9282-4eff6131462c

형식: 취약성 평가

컨테이너 CPU 및 메모리 한도를 적용해야 함

설명: CPU 및 메모리 제한을 적용하면 리소스 소모 공격(서비스 거부 공격의 한 형태)을 방지할 수 있습니다.

컨테이너에 대한 제한을 설정하여 런타임에서 컨테이너가 구성된 리소스 제한을 초과하여 사용하지 못하도록 하는 것이 좋습니다.

(관련 정책: 컨테이너 CPU 및 메모리 리소스 제한이 Kubernetes 클러스터에서 지정된 제한을 초과하지 않는지 확인합니다.)

심각도: 보통

형식: Kubernetes 데이터 평면

컨테이너 이미지는 신뢰할 수 있는 레지스트리에서만 배포해야 합니다.

설명: Kubernetes 클러스터에서 실행되는 이미지는 알려진 컨테이너 이미지 레지스트리와 모니터링되는 컨테이너 이미지 레지스트리에서 가져옵니다. 신뢰할 수 있는 레지스트리는 알 수 없는 취약성, 보안 문제 및 악성 이미지의 도입 가능성을 제한하여 클러스터의 노출 위험을 줄입니다.

(관련 정책: Kubernetes 클러스터에서 허용되는 컨테이너 이미지만 확인).

심각도: 높음

형식: Kubernetes 데이터 평면

[미리 보기] Azure 레지스트리의 컨테이너 이미지에 취약성 결과가 해결되어야 합니다.

설명: 클라우드용 Defender 레지스트리 이미지에서 알려진 취약성(CVE)을 검색하고 스캔한 각 이미지에 대한 자세한 결과를 제공합니다. 레지스트리의 컨테이너 이미지에 대한 취약성을 검사하고 수정하면 안전하고 신뢰할 수 있는 소프트웨어 공급망을 유지하고 보안 인시던트 위험을 줄이며 업계 표준 준수를 보장할 수 있습니다.

권장 사항 Azure 레지스트리 컨테이너 이미지에는 취약성이 해결되어야 합니다(Microsoft Defender 취약성 관리 의해 구동됨)는 새 권장 사항을 일반 공급할 때 제거됩니다.

새 권장 사항은 미리 보기 상태이며 보안 점수 계산에 사용되지 않습니다.

심각도: 높음

형식: 취약성 평가

(필요한 경우 사용) 컨테이너 레지스트리는 CMK(고객 관리형 키)로 암호화해야 합니다.

설명: 미사용 데이터 암호화에 고객 관리형 키를 사용하는 권장 사항은 기본적으로 평가되지 않지만 해당 시나리오에 사용할 수 있습니다. 데이터가 플랫폼 관리형 키를 사용하여 자동으로 암호화되므로 규정 준수 또는 제한적인 정책 요구 사항을 따라야 하는 경우에만 고객 관리형 키를 사용하도록 적용해야 합니다. 이 권장 사항을 사용하도록 설정하려면 해당 범위에 대한 보안 정책으로 이동하고 해당 정책에 대한 효과 매개 변수를 업데이트하여 고객 관리형 키의 사용을 감사하거나 적용합니다. 보안 정책 관리에서 자세히 알아봅니다. 고객 관리형 키를 사용하여 레지스트리 콘텐츠의 미사용 데이터 암호화를 관리합니다. 기본적으로 데이터는 서비스 관리형 키를 사용하여 미사용 시 암호화되지만 일반적으로 규정 준수 표준을 충족하려면 CMK(고객 관리형 키)가 필요합니다. CMK를 사용하면 사용자가 만들고 소유한 Azure Key Vault 키로 데이터를 암호화할 수 있습니다. 순환 및 관리를 포함하여 키의 수명 주기를 고객이 모두 제어하고 책임져야 합니다. 고객 관리형 키 개요에서 CMK 암호화에 대해 자세히 알아봅니다. (관련 정책: 컨테이너 레지스트리는 CMK(고객 관리형 키)로 암호화해야 합니다.

심각도: 낮음

형식: 컨트롤 플레인

컨테이너 레지스트리는 무제한 네트워크 액세스를 허용하지 않아야 함

설명: Azure 컨테이너 레지스트리는 기본적으로 모든 네트워크의 호스트에서 인터넷을 통해 연결을 허용합니다. 잠재적 위협으로부터 레지스트리를 보호하려면 특정 공용 IP 주소 또는 주소 범위에서만 액세스를 허용합니다. 레지스트리에 IP/방화벽 규칙이나 구성된 가상 네트워크가 없는 경우 상태가 좋지 않은 리소스에 표시됩니다. 공용 IP 네트워크 규칙 구성 및 Azure 가상 네트워크의 서비스 엔드포인트를 사용하여 컨테이너 레지스트리에 대한 액세스 제한에서 Container Registry 네트워크 규칙에 대해 자세히 알아봅니다. (관련 정책: 컨테이너 레지스트리는 무제한 네트워크 액세스를 허용해서는 안 됩니다).

심각도: 보통

형식: 컨트롤 플레인

설명: Azure Private Link를 사용하면 원본 또는 대상에서 공용 IP 주소 없이 가상 네트워크를 Azure 서비스에 연결할 수 있습니다. 프라이빗 링크 플랫폼은 Azure 백본 네트워크를 통해 소비자와 서비스 간의 연결을 처리합니다. 프라이빗 엔드포인트를 전체 서비스 대신 컨테이너 레지스트리에 매핑하면 데이터 유출 위험으로부터 보호됩니다. https://aka.ms/acr/private-link에서 자세히 알아보세요. (관련 정책: 컨테이너 레지스트리는 프라이빗 링크를 사용해야 합니다).

심각도: 보통

형식: 컨트롤 플레인

[미리 보기] Azure에서 실행되는 컨테이너에는 취약성 결과가 해결되어야 합니다.

설명: 클라우드용 Defender Kubernetes 클러스터에서 현재 실행 중인 모든 컨테이너 워크로드의 인벤토리를 만들고 레지스트리 이미지에 대해 생성된 이미지 및 취약성 보고서를 일치시켜 해당 워크로드에 대한 취약성 보고서를 제공합니다. 강력하고 안전한 소프트웨어 공급망을 보장하고 보안 인시던트 위험을 줄이며 업계 표준 준수를 보장하려면 컨테이너 워크로드의 취약성을 검사하고 수정해야 합니다.

새 권장 사항은 미리 보기 상태이며 보안 점수 계산에 사용되지 않습니다.

참고 항목

2024년 10월 6일부터 이 권장 사항은 각 루트 컨트롤러에 대해 단일 컨테이너만 보고하도록 업데이트되었습니다. 예를 들어 cronjob이 여러 작업을 만드는 경우 각 작업이 취약한 컨테이너를 사용하여 Pod를 만드는 경우 권장 사항은 해당 작업 내에서 취약한 컨테이너의 단일 인스턴스만 보고합니다. 이 변경은 수정을 위해 단일 작업이 필요한 동일한 컨테이너에 대한 중복 보고를 제거하는 데 도움이 됩니다. 변경 전에 이 권장 사항을 사용한 경우 이 권장 사항의 인스턴스 수가 감소해야 합니다.
이 개선을 지원하기 위해 이 권장 사항의 평가 키가 업데이트 c5045ea3-afc6-4006-ab8f-86c8574dbf3d되었습니다. 현재 API를 통해 이 권장 사항에서 취약성 보고서를 검색하는 경우 새 평가 키를 사용하도록 API 호출을 변경해야 합니다.

심각도: 높음

형식: 취약성 평가

중요한 호스트 네임스페이스를 공유하는 컨테이너는 피해야 합니다.

설명: 컨테이너 외부의 권한 상승으로부터 보호하려면 Kubernetes 클러스터의 중요한 호스트 네임스페이스(호스트 프로세스 ID 및 호스트 IPC)에 대한 Pod 액세스를 방지합니다. (관련 정책: Kubernetes 클러스터 컨테이너는 호스트 프로세스 ID 또는 호스트 IPC 네임스페이스를 공유해서는 안 됩니다.)

심각도: 보통

형식: Kubernetes 데이터 평면

컨테이너는 허용되는 AppArmor 프로필만 사용해야 합니다.

설명: Kubernetes 클러스터에서 실행되는 컨테이너는 허용되는 AppArmor 프로필로만 제한되어야 합니다. AppArmor(Application Armor)는 운영 체제와 해당 애플리케이션을 보안 위협으로부터 보호하는 Linux 보안 모듈입니다. 이를 사용하기 위해 시스템 관리자는 AppArmor 보안 프로필을 각 프로그램과 연결합니다. (관련 정책: Kubernetes 클러스터 컨테이너는 허용되는 AppArmor 프로필만 사용해야 합니다).

심각도: 높음

형식: Kubernetes 데이터 평면

권한 상승을 포함하는 컨테이너를 사용하지 않아야 함

설명: 컨테이너는 Kubernetes 클러스터의 루트에 대한 권한 상승과 함께 실행해서는 안 됩니다. AllowPrivilegeEscalation 특성은 프로세스가 부모 프로세스보다 더 많은 권한을 얻을 수 있는지 여부를 제어합니다. (관련 정책: Kubernetes 클러스터는 컨테이너 권한 에스컬레이션을 허용해서는 안 됩니다).

심각도: 보통

형식: Kubernetes 데이터 평면

Kubernetes 서비스의 진단 로그를 사용하도록 설정해야 합니다.

설명: Kubernetes 서비스에서 진단 로그를 사용하도록 설정하고 최대 1년까지 유지합니다. 이렇게 하면 보안 인시던트가 발생한 경우 조사 목적으로 활동 내역을 다시 만들 수 있습니다. (관련 정책 없음)

심각도: 낮음

형식: 컨트롤 플레인

컨테이너에 대해 변경할 수 없는(읽기 전용) 루트 파일 시스템 적용해야 합니다.

설명: 컨테이너는 Kubernetes 클러스터에서 읽기 전용 루트 파일 시스템으로 실행되어야 합니다. 변경할 수 없는 파일 시스템은 PATH에 악성 이진 파일이 추가되어 런타임에 컨테이너를 변경으로부터 보호합니다. (관련 정책: Kubernetes 클러스터 컨테이너는 읽기 전용 루트 파일 시스템으로 실행해야 합니다).

심각도: 보통

형식: Kubernetes 데이터 평면

제한된 액세스 권한으로 Kubernetes API 서버를 구성해야 합니다.

설명: 허용된 네트워크, 컴퓨터 또는 서브넷의 애플리케이션만 클러스터에 액세스할 수 있도록 하려면 Kubernetes API 서버에 대한 액세스를 제한합니다. 권한 있는 IP 범위를 정의하거나 프라이빗 Azure Kubernetes Service 클러스터 만들기에 설명된 대로 API 서버를 프라이빗 클러스터로 설정하여 액세스를 제한할 수 있습니다. (관련 정책: 인증된 IP 범위는 Kubernetes Services에서 정의해야 합니다).

심각도: 높음

형식: 컨트롤 플레인

Kubernetes 클러스터는 HTTPS를 통해서만 액세스할 수 있어야 함

설명: HTTPS를 사용하면 인증을 보장하고 네트워크 계층 도청 공격으로부터 전송 중인 데이터를 보호합니다. 이 기능은 현재 AKS(Kubernetes Service)로 일반 공급되며, AKS 엔진 및 Azure Arc 지원 Kubernetes에서 미리 보기로 제공됩니다. 자세한 내용은 (관련 정책: Kubernetes 클러스터에서 HTTPS 수신 적용)을 참조 https://aka.ms/kubepolicydoc 하세요.

심각도: 높음

형식: Kubernetes 데이터 평면

Kubernetes 클러스터는 자동 탑재 API 자격 증명을 사용하지 않도록 설정해야 함

설명: 잠재적으로 손상된 Pod 리소스가 Kubernetes 클러스터에 대해 API 명령을 실행하지 않도록 API 자격 증명 자동 탑재를 사용하지 않도록 설정합니다. 자세한 내용은 https://aka.ms/kubepolicydoc를 참조하세요. (관련 정책: Kubernetes 클러스터는 API 자격 증명 자동 탑재를 사용하지 않도록 설정해야 함).

심각도: 높음

형식: Kubernetes 데이터 평면

Kubernetes 클러스터는 CAPSYSADMIN 보안 기능을 부여해서는 안 됩니다.

설명: 컨테이너의 공격 노출 영역을 줄이려면 CAP_SYS_ADMIN Linux 기능을 제한합니다. 자세한 내용은 https://aka.ms/kubepolicydoc를 참조하세요. (관련 정책 없음)

심각도: 높음

형식: Kubernetes 데이터 평면

Kubernetes 클러스터는 기본 네임스페이스를 사용하지 않아야 함

설명: ConfigMap, Pod, Secret, Service 및 ServiceAccount 리소스 종류에 대한 무단 액세스로부터 보호하기 위해 Kubernetes 클러스터의 기본 네임스페이스를 사용할 수 없도록 합니다. 자세한 내용은 https://aka.ms/kubepolicydoc를 참조하세요. (관련 정책: Kubernetes 클러스터는 기본 네임스페이스를 사용하면 안 됩니다).

심각도: 낮음

형식: Kubernetes 데이터 평면

컨테이너에 대해 최소 권한 Linux 기능을 적용해야 합니다.

설명: 컨테이너의 공격 노출 영역을 줄이려면 루트 사용자의 모든 권한을 부여하지 않고 Linux 기능을 제한하고 컨테이너에 특정 권한을 부여합니다. 모든 기능을 삭제한 다음 필요한 기능을 추가하는 것이 좋습니다(관련 정책: Kubernetes 클러스터 컨테이너는 허용된 기능만 사용해야 합니다).

심각도: 보통

형식: Kubernetes 데이터 평면

컨테이너용 Microsoft Defender를 사용하도록 설정해야 합니다.

설명: 컨테이너용 Microsoft Defender는 Azure, 하이브리드 및 다중 클라우드 Kubernetes 환경에 대한 강화, 취약성 평가 및 런타임 보호를 제공합니다. 이 정보를 사용하여 보안 문제를 신속하게 수정하고 컨테이너의 보안을 강화할 수 있습니다.

이 권장 사항을 수정하면 Kubernetes 클러스터를 보호하는 데 요금이 부과됩니다. 이 구독에 Kubernetes 클러스터가 없으면 요금이 발생하지 않습니다. 나중에 이 구독에 Kubernetes 클러스터를 만들면 자동으로 보호되고 요금이 해당 시점에 시작됩니다. 스토리지용 Microsoft Defender 소개에서 자세히 알아봅니다. (관련 정책 없음)

심각도: 높음

형식: 컨트롤 플레인

권한 있는 컨테이너는 피해야 합니다.

설명: 무제한 호스트 액세스를 방지하려면 가능하면 권한 있는 컨테이너를 사용하지 마세요.

권한 있는 컨테이너에는 호스트 머신의 모든 루트 기능이 있습니다. 공격의 진입점으로 사용하고 악성 코드 또는 맬웨어를 손상된 애플리케이션, 호스트 및 네트워크에 전파할 수 있습니다. (관련 정책: Kubernetes 클러스터에서 권한 있는 컨테이너를 허용하지 않습니다).

심각도: 보통

형식: Kubernetes 데이터 평면

Kubernetes Services에서 역할 기반 액세스 제어를 사용해야 합니다.

설명: 사용자가 수행할 수 있는 작업에 대한 세부적인 필터링을 제공하려면 RBAC(역할 기반 액세스 제어)를 사용하여 Kubernetes Service 클러스터에서 권한을 관리하고 관련 권한 부여 정책을 구성합니다. (관련 정책: RBAC(역할 기반 액세스 제어)는 Kubernetes Services에서 사용해야 합니다.

심각도: 높음

형식: 컨트롤 플레인

루트 사용자로 컨테이너 실행은 피해야 합니다.

설명: 컨테이너는 Kubernetes 클러스터에서 루트 사용자로 실행해서는 안 됩니다. 컨테이너 내에서 루트 사용자로 프로세스를 실행하면 호스트에서 루트로 실행됩니다. 손상이 있는 경우 공격자가 컨테이너에 루트를 가지고 있으며, 잘못된 구성을 악용하는 것이 더 쉬워집니다. (관련 정책: Kubernetes 클러스터 Pod 및 컨테이너는 승인된 사용자 및 그룹 ID로만 실행해야 합니다.)

심각도: 높음

형식: Kubernetes 데이터 평면

서비스는 허용된 포트에서만 수신 대기해야 합니다.

설명: Kubernetes 클러스터의 공격 노출 영역을 줄이려면 구성된 포트에 대한 서비스 액세스를 제한하여 클러스터에 대한 액세스를 제한합니다. (관련 정책: 서비스가 Kubernetes 클러스터의 허용된 포트에서만 수신 대기하도록 합니다.)

심각도: 보통

형식: Kubernetes 데이터 평면

호스트 네트워킹 및 포트 사용을 제한해야 합니다.

설명: Kubernetes 클러스터에서 호스트 네트워크 및 허용 가능한 호스트 포트 범위에 대한 Pod 액세스를 제한합니다. hostNetwork 특성을 사용하도록 설정하여 만든 Pod는 노드의 네트워크 공간을 공유합니다. 손상된 컨테이너가 네트워크 트래픽을 스니핑하지 않도록 하려면 Pod를 호스트 네트워크에 배치하지 않는 것이 좋습니다. 노드의 네트워크에 컨테이너 포트를 노출해야 하는데 Kubernetes Service 노드 포트를 사용하는 것이 요구 사항을 충족하지 않는 경우 다른 가능성은 Pod 사양에서 컨테이너에 대한 hostPort를 지정하는 것입니다. (관련 정책: Kubernetes 클러스터 Pod는 승인된 호스트 네트워크 및 포트 범위만 사용해야 합니다).

심각도: 보통

형식: Kubernetes 데이터 평면

손상된 컨테이너에서 노드 액세스를 제한하려면 Pod HostPath 볼륨 탑재 사용을 알려진 목록으로 제한해야 합니다.

설명: Kubernetes 클러스터의 Pod HostPath 볼륨 탑재를 구성된 허용된 호스트 경로로 제한하는 것이 좋습니다. 손상이 있는 경우 컨테이너의 컨테이너 노드 액세스를 제한해야 합니다. (관련 정책: Kubernetes 클러스터 Pod hostPath 볼륨은 허용된 호스트 경로만 사용해야 합니다).

심각도: 보통

형식: Kubernetes 데이터 평면

AWS 컨테이너 권장 사항

[미리 보기] AWS 레지스트리의 컨테이너 이미지에 취약성 결과가 해결되어야 합니다.

설명: 클라우드용 Defender 레지스트리 이미지에서 알려진 취약성(CVE)을 검색하고 스캔한 각 이미지에 대한 자세한 결과를 제공합니다. 레지스트리의 컨테이너 이미지에 대한 취약성을 검사하고 수정하면 안전하고 신뢰할 수 있는 소프트웨어 공급망을 유지하고 보안 인시던트 위험을 줄이며 업계 표준 준수를 보장할 수 있습니다.

권장 AWS 레지스트리 컨테이너 이미지에는 취약성 발견이 해결되어야 합니다(Microsoft Defender 취약성 관리 의해 구동됨)는 일반적으로 사용할 수 있는 새 권장 사항에 의해 제거됩니다.

새 권장 사항은 미리 보기 상태이며 보안 점수 계산에 사용되지 않습니다.

심각도: 높음

형식: 취약성 평가

[미리 보기] AWS에서 실행되는 컨테이너에는 취약성 결과가 해결되어야 합니다.

설명: 클라우드용 Defender Kubernetes 클러스터에서 현재 실행 중인 모든 컨테이너 워크로드의 인벤토리를 만들고 레지스트리 이미지에 대해 생성된 이미지 및 취약성 보고서를 일치시켜 해당 워크로드에 대한 취약성 보고서를 제공합니다. 강력하고 안전한 소프트웨어 공급망을 보장하고 보안 인시던트 위험을 줄이며 업계 표준 준수를 보장하려면 컨테이너 워크로드의 취약성을 검사하고 수정해야 합니다.

새 권장 사항은 미리 보기 상태이며 보안 점수 계산에 사용되지 않습니다.

참고 항목

2024년 10월 6일부터 이 권장 사항은 각 루트 컨트롤러에 대해 단일 컨테이너만 보고하도록 업데이트되었습니다. 예를 들어 cronjob이 여러 작업을 만드는 경우 각 작업이 취약한 컨테이너를 사용하여 Pod를 만드는 경우 권장 사항은 해당 작업 내에서 취약한 컨테이너의 단일 인스턴스만 보고합니다. 이 변경은 수정을 위해 단일 작업이 필요한 동일한 컨테이너에 대한 중복 보고를 제거하는 데 도움이 됩니다. 변경 전에 이 권장 사항을 사용한 경우 이 권장 사항의 인스턴스 수가 감소해야 합니다.
이 개선을 지원하기 위해 이 권장 사항의 평가 키가 업데이트 8749bb43-cd24-4cf9-848c-2a50f632043c되었습니다. 현재 API를 통해 이 권장 사항에서 취약성 보고서를 검색하는 경우 새 평가 키를 사용하도록 API 호출을 업데이트해야 합니다.

심각도: 높음

형식: 취약성 평가

EKS 클러스터는 클라우드용 Microsoft Defender에 필요한 AWS 권한을 부여해야 합니다.

설명: 컨테이너용 Microsoft Defender는 EKS 클러스터에 대한 보호를 제공합니다. 클러스터에서 보안 취약성 및 위협을 모니터링하려면 컨테이너용 Defender에 AWS 계정에 대한 권한이 필요합니다. 이러한 권한은 클러스터에서 Kubernetes 컨트롤 플레인 로깅을 사용하도록 설정하고 클러스터와 클라우드의 클라우드용 Defender 백 엔드 간에 신뢰할 수 있는 파이프라인을 설정하는 데 사용됩니다. 컨테이너화된 환경에 대한 클라우드용 Microsoft Defender의 보안 기능에 대해 자세히 알아보세요.

심각도: 높음

EKS 클러스터에는 Azure Arc용 Microsoft Defender의 확장이 설치되어 있어야 합니다.

설명: Microsoft Defender의 클러스터 확장 은 EKS 클러스터에 대한 보안 기능을 제공합니다. 이 확장은 클러스터 및 클러스터의 노드에서 데이터를 수집하여 보안 취약성 및 위협을 식별합니다. 이 확장은 Azure Arc 지원 Kubernetes에서 작동합니다. 컨테이너화된 환경에 대한 클라우드용 Microsoft Defender의 보안 기능에 대해 자세히 알아보세요.

심각도: 높음

AWS 커넥터에서 컨테이너용 Microsoft Defender를 사용하도록 설정해야 합니다.

설명: 컨테이너용 Microsoft Defender는 컨테이너화된 환경에 대한 실시간 위협 방지 기능을 제공하고 의심스러운 활동에 대한 경고를 생성합니다. 이 정보를 사용하여 Kubernetes 클러스터의 보안을 강화하고 보안 문제를 해결하세요.

컨테이너용 Microsoft Defender를 사용하도록 설정하고 Azure Arc를 EKS 클러스터에 배포하면 보호 및 요금이 시작됩니다. 클러스터에 Azure Arc를 배포하지 않으면 Defender for Containers가 보호되지 않으며 해당 클러스터에 대한 이 Microsoft Defender 계획에 대한 요금이 발생하지 않습니다.

심각도: 높음

데이터 평면 권장 사항

Kubernetes에 대한 Azure Policy를 사용하도록 설정한 후 AWS에 대한 모든 Kubernetes 데이터 평면 보안 권장 사항이 지원됩니다.

GCP 컨테이너 권장 사항

GCP 커넥터에서 컨테이너용 Defender의 고급 구성을 사용하도록 설정해야 합니다.

설명: 컨테이너용 Microsoft Defender는 환경 강화, 워크로드 보호 및 런타임 보호를 비롯한 클라우드 네이티브 Kubernetes 보안 기능을 제공합니다. 솔루션이 제대로 프로비전되었고 전체 기능 집합을 사용할 수 있는지 확인하려면 모든 고급 구성 설정을 사용하도록 설정합니다.

심각도: 높음

[미리 보기] GCP 레지스트리의 컨테이너 이미지에 취약성 결과가 해결되어야 합니다.

설명: 클라우드용 Defender 레지스트리 이미지에서 알려진 취약성(CVE)을 검색하고 스캔한 각 이미지에 대한 자세한 결과를 제공합니다. 레지스트리의 컨테이너 이미지에 대한 취약성을 검사하고 수정하면 안전하고 신뢰할 수 있는 소프트웨어 공급망을 유지하고 보안 인시던트 위험을 줄이며 업계 표준 준수를 보장할 수 있습니다.

권장 사항 GCP 레지스트리 컨테이너 이미지에는 취약성 발견이 해결되어야 합니다(새 권장 사항이 일반 공급될 때 Microsoft Defender 취약성 관리에 의해 구동됨).

새 권장 사항은 미리 보기 상태이며 보안 점수 계산에 사용되지 않습니다.

심각도: 높음

형식: 취약성 평가

[미리 보기] GCP에서 실행되는 컨테이너에는 취약성 결과가 해결되어야 합니다.

설명: 클라우드용 Defender Kubernetes 클러스터에서 현재 실행 중인 모든 컨테이너 워크로드의 인벤토리를 만들고 레지스트리 이미지에 대해 생성된 이미지 및 취약성 보고서를 일치시켜 해당 워크로드에 대한 취약성 보고서를 제공합니다. 강력하고 안전한 소프트웨어 공급망을 보장하고 보안 인시던트 위험을 줄이며 업계 표준 준수를 보장하려면 컨테이너 워크로드의 취약성을 검사하고 수정해야 합니다.

새 권장 사항은 미리 보기 상태이며 보안 점수 계산에 사용되지 않습니다.

참고 항목

2024년 10월 6일부터 이 권장 사항은 각 루트 컨트롤러에 대해 단일 컨테이너만 보고하도록 업데이트되었습니다. 예를 들어 cronjob이 여러 작업을 만드는 경우 각 작업이 취약한 컨테이너를 사용하여 Pod를 만드는 경우 권장 사항은 해당 작업 내에서 취약한 컨테이너의 단일 인스턴스만 보고합니다. 이 변경은 수정을 위해 단일 작업이 필요한 동일한 컨테이너에 대한 중복 보고를 제거하는 데 도움이 됩니다. 변경 전에 이 권장 사항을 사용한 경우 이 권장 사항의 인스턴스 수가 감소해야 합니다.
이 개선을 지원하기 위해 이 권장 사항의 평가 키가 업데이트 1b3abfa4-9e53-46f1-9627-51f2957f8bba되었습니다. 현재 API를 통해 이 권장 사항에서 취약성 보고서를 검색하는 경우 새 평가 키를 사용하도록 API 호출을 업데이트해야 합니다.

심각도: 높음

형식: 취약성 평가

EKS 클러스터에는 Azure Arc용 Microsoft Defender의 확장이 설치되어 있어야 함

설명: Microsoft Defender의 클러스터 확장 은 GKE 클러스터에 대한 보안 기능을 제공합니다. 이 확장은 클러스터 및 클러스터의 노드에서 데이터를 수집하여 보안 취약성 및 위협을 식별합니다. 이 확장은 Azure Arc 지원 Kubernetes에서 작동합니다. 컨테이너화된 환경에 대한 클라우드용 Microsoft Defender의 보안 기능에 대해 자세히 알아보세요.

심각도: 높음

GKE 클러스터에는 Azure Policy 확장이 설치되어 있어야 합니다.

설명: Kubernetes용 Azure Policy 확장은 OPA(Open Policy Agent)에 대한 허용 컨트롤러 웹후크인 Gatekeeper v3를 확장하여 중앙 집중식으로 일관된 방식으로 클러스터에 대규모 적용 및 보호 장치를 적용합니다. 이 확장은 Azure Arc 지원 Kubernetes에서 작동합니다.

심각도: 높음

GCP 커넥터에서 컨테이너용 Microsoft Defender를 사용하도록 설정해야 합니다.

설명: 컨테이너용 Microsoft Defender는 환경 강화, 워크로드 보호 및 런타임 보호를 비롯한 클라우드 네이티브 Kubernetes 보안 기능을 제공합니다. Kubernetes 클러스터의 보안을 강화하고 보안 문제를 수정하려면 GCP 커넥터에서 컨테이너 계획을 사용하도록 설정합니다. 컨테이너용 Microsoft Defender에 대해 자세히 알아보세요.

심각도: 높음

GKE 클러스터의 자동 복구 기능을 사용하도록 설정해야 함

설명: 이 권장 사항은 키-값 쌍 key: autoRepair, value: true에 대한 노드 풀의 관리 속성을 평가합니다.

심각도: 보통

GKE 클러스터의 자동 업그레이드 기능을 사용하도록 설정해야 함

설명: 이 권장 사항은 키-값 쌍 key: autoUpgrade, value: true에 대한 노드 풀의 관리 속성을 평가합니다.

심각도: 높음

GKE 클러스터에 대한 모니터링을 사용하도록 설정해야 함

설명: 이 권장 사항은 클러스터의 monitoringService 속성에 클라우드 모니터링이 메트릭을 작성하는 데 사용해야 하는 위치가 포함되어 있는지 여부를 평가합니다.

심각도: 보통

GKE 클러스터에 대한 로깅을 사용하도록 설정해야 함

설명: 이 권장 사항은 클러스터의 loggingService 속성에 클라우드 로깅이 로그를 작성하는 데 사용해야 하는 위치가 포함되어 있는지 여부를 평가합니다.

심각도: 높음

GKE 웹 대시보드를 사용하지 않도록 설정해야 함

설명: 이 권장 사항은 키-값 쌍 'disabled': false에 대한 addonsConfig 속성의 kubernetesDashboard 필드를 평가합니다.

심각도: 높음

GKE 클러스터에서 레거시 권한 부여를 사용하지 않도록 설정해야 함

설명: 이 권장 사항은 'enabled': true 키-값 쌍에 대해 클러스터의 legacyAbac 속성을 평가합니다.

심각도: 높음

GKE 클러스터에서 컨트롤 플레인 승인 네트워크를 사용하도록 설정해야 함

설명: 이 권장 사항은 'enabled': false 키-값 쌍에 대한 클러스터의 masterAuthorizedNetworksConfig 속성을 평가합니다.

심각도: 높음

GKE 클러스터에는 별칭 IP 범위를 사용하도록 설정해야 함

설명: 이 권장 사항은 클러스터에서 ipAllocationPolicy의 useIPAliases 필드가 false로 설정되어 있는지 여부를 평가합니다.

심각도: 낮음

GKE 클러스터에는 프라이빗 클러스터를 사용하도록 설정해야 함

설명: 이 권장 사항은 privateClusterConfig 속성의 enablePrivateNodes 필드가 false로 설정되어 있는지 여부를 평가합니다.

심각도: 높음

GKE 클러스터에서 네트워크 정책을 사용하도록 설정해야 함

설명: 이 권장 사항은 키-값 쌍 'disabled'에 대한 addonsConfig 속성의 networkPolicy 필드를 평가합니다. true입니다.

심각도: 보통

데이터 평면 권장 사항

Kubernetes에 대한 Azure Policy를 사용하도록 설정한 후 GCP에 대한 모든 Kubernetes 데이터 평면 보안 권장 사항이 지원됩니다.

외부 컨테이너 레지스트리 권장 사항

[미리 보기] Docker Hub 레지스트리의 컨테이너 이미지에 취약성 발견이 해결되어야 합니다.

설명: 클라우드용 Defender 레지스트리 이미지에서 알려진 취약성(CVE)을 검색하고 스캔한 각 이미지에 대한 자세한 결과를 제공합니다. 컨테이너 이미지의 취약성을 수정하면 안전하고 신뢰할 수 있는 소프트웨어 공급망을 유지하고, 보안 인시던트 위험을 줄이고, 업계 표준을 준수할 수 있습니다.",

심각도: 높음

형식: 취약성 평가