다음을 통해 공유


Helm을 사용하여 Defender for Containers의 센서를 설치합니다.

이 문서에서는 Helm을 사용하여 AKS, EKS 및 GKE 클러스터에 Microsoft Defender for Containers 센서를 설치하고 구성하는 방법을 설명합니다. 필수 구성 요소, 컨테이너용 Defender 사용, 다양한 환경에 대한 단계별 배포 지침에 대해 알아봅니다.

일반 필수 조건

Defender 센서 네트워크 요구 사항에 설명된 대로 Defender for Containers 센서에 대한 모든 필수 구성 요소 요구 사항이 충족되는지 확인합니다.

1단계: 컨테이너용 Defender 사용

Defender for Containers 계획을 아직 사용하도록 설정하지 않은 경우 다음 단계를 수행합니다.

  1. Azure Portal에서 클라우드용 Microsoft Defender로 이동하여 Helm 차트를 설치하려는 클러스터에 대한 구독을 선택합니다. EKS 및 GKE에서 해당 클러스터가 있는 환경(클러스터가 있는 EKS 또는 GKE 계정에 대한 보안 커넥터)을 선택합니다.

  2. CWPP(Cloud Workload Protection Platform)에서 컨테이너 계획을 찾고 토글을 기로 설정합니다.

    컨테이너 계획을 사용하도록 설정하는 방법을 보여 주는 스크린샷

  3. 컨테이너 계획 옆의 설정을 선택합니다.

    설정 단추를 선택하는 방법을 보여 주는 스크린샷

  4. 설정 및 모니터링 창에서 다음 토글이 기로 설정되어 있는지 확인합니다.

    • Defender 센서
    • 보안 결과
    • 레지스트리 액세스

    올바른 토글이 사용하도록 설정되어 있는지 확인하는 방법을 보여 주는 스크린샷

이제 Helm을 사용하여 Defender for Containers 센서를 설정할 준비가 되었습니다.

2단계: 센서 Helm 차트 설치

AKS 자동 전용

AKS 자동의 경우 다음을 실행해야 합니다.

# Update Azure CLI to the latest version 
az upgrade 

# If you don't have the AKS preview extension installed yet 
az extension add --name aks-preview 

# Update the AKS extension specifically 
az extension update --name aks-preview

설치 필수 구성 요소

  • Helm >= 3.8(OCI 지원: GA)

  • AKS(대상 클러스터) 또는 보안 커넥터(EKS 또는 GKE)에 대한 리소스 그룹 소유자 역할

  • 대상 클러스터에 대한 Azure 리소스 ID

    비고

    다음을 사용하여 <SUBSCRIPTION_ID><RESOURCE_GROUP>가 주어진 AKS 클러스터의 Azure 리소스 ID 목록을 생성하십시오.

    az aks list \
    --subscription <SUBSCRIPTION_ID> \
    --resource-group <RESOURCE_GROUP> \
    --query "[].id" \
    -o tsv
    

AKS

센서를 설치하기 전에 충돌하는 정책을 제거합니다. 이러한 정책 할당으로 인해 GA 버전의 센서가 클러스터에 배포됩니다. Policy - Microsoft Azure에서 구독에 대한 정책 정의 목록을 찾을 수 있습니다. 충돌하는 정책의 ID는 64def556-fbad-4622-930e-72d1d5589bf5입니다.

다음 스크립트를 실행하여 Azure CLI를 사용하여 제거합니다.

delete_conflicting_policies.sh 정책이 충돌하는 경우 삭제하는 스크립트

다음 명령을 사용하여 스크립트를 실행합니다.

delete_conflicting_policies.sh <CLUSTER_AZURE_RESOURCE_ID>

비고

이 스크립트는 구성 중인 클러스터가 아닌 다른 클러스터에 영향을 줄 수 있는 GA 버전의 Defender for Containers를 설정하기 위한 리소스 그룹 및 구독 수준 정책을 제거합니다.

다음 스크립트는 Defender for Containers 센서를 설치하고 기존 배포가 있는 경우 제거합니다.

install_defender_sensor_aks.sh

다음 명령을 사용하여 스크립트를 실행합니다.

install_defender_sensor_aks.sh <CLUSTER_AZURE_RESOURCE_ID> <RELEASE_TRAIN> <VERSION>

다음 명령에서 자리 표시자 텍스트를 <CLUSTER_AZURE_RESOURCE_ID><RELEASE_TRAIN><VERSION> 사용자 고유의 값으로 바꿉 있습니다. 공개 미리 보기 릴리스(0.9.x)에 'public'을 사용합니다. <VERSION>의 경우에는 'latest' 또는 특정한 시맨틱 버전(semantic version)을 사용하세요.

비고

이 스크립트는 새 kubeconfig 컨텍스트를 설정하고 Azure 계정에 Log Analytics 작업 영역을 만들 수 있습니다.

EKS/GKE

다음 스크립트는 Defender for Containers 센서를 설치하고 기존 배포가 있는 경우 제거합니다.

install_defender_sensor_mc.sh

kubeconfig 컨텍스트를 대상 클러스터로 설정하고 다음 명령을 사용하여 스크립트를 실행합니다.

install_defender_sensor_mc.sh <SECURITY_CONNECTOR_AZURE_RESOURCE_ID> <RELEASE_TRAIN> <VERSION> <DISTRIBUTION> [<ARC_CLUSTER_RESOURCE_ID>]

다음 명령에서 자리 표시자 텍스트 <SECURITY_CONNECTOR_AZURE_RESOURCE_ID>, <RELEASE_TRAIN>, <VERSION>, <DISTRIBUTION>, 및 <ARC_CLUSTER_RESOURCE_ID>를 사용자 고유의 값으로 바꿉니다. ARC_CLUSTER_RESOURCE_ID은 선택적 매개 변수이며, 컨테이너용 Defender arc 확장을 사용하는 기존 클러스터에서 Helm을 통해 센서를 프로비전하려는 경우 또는 arc 클러스터에서 Helm을 통해 센서를 배포하려는 경우에만 사용해야 합니다.
<SECURITY_CONNECTOR_AZURE_RESOURCE_ID>의 경우:

  • AWS 또는 GCP 계정에 대한 보안 커넥터 설정

    비고

    EKS 또는 GKE 클러스터에 Helm 차트를 설치하려면 클러스터 계정이 클라우드용 Microsoft Defender에 연결되어 있는지 확인합니다. AWS 계정 연결 또는 GCP 프로젝트 연결을 참조하세요.

  • Azure 리소스 ID 가져오기

    비고

    EKS 또는 GKE 클러스터에 Helm 차트를 설치하려면 클러스터가 속한 계정에 대한 보안 커넥터 리소스 ID가 필요합니다. az resource show CLI 명령을 실행하여 이 값을 가져옵니다.

    다음은 그 예입니다.

    az resource show \
     --name <connector-name> \
     --resource-group <resource-group-name> \
     --resource-type "Microsoft.Security/securityConnectors" \
     --subscription <subscription-id> \
     --query id -o tsv
    

    이 예제에서는 자리 표시자 텍스트를 <connector-name><resource-group-name><subscription-id> 값으로 바꿉다.

공개 미리 보기 릴리스(0.9.x)에 'public'을 사용합니다. <VERSION>의 경우에는 'latest' 또는 특정한 시맨틱 버전(semantic version)을 사용하세요. 의 경우 <DISTRIBUTION>, 사용 eks 또는 gke.

비고

이 스크립트는 Azure 계정에 Log Analytics 작업 영역을 만들 수 있습니다.

다음 명령을 실행하여 설치가 성공했는지 확인합니다.

helm list --namespace mdc

STATUS 필드는 "배포됨"으로 표시되어야 합니다.

제어된 배포에 대한 보안 규칙

Kubernetes 클러스터에 배포할 수 있는 항목을 제어하는 보안 규칙을 정의할 수 있습니다. 이러한 규칙을 사용하면 취약성이 너무 많은 이미지와 같은 보안 기준에 따라 컨테이너 이미지를 차단하거나 감사할 수 있습니다.

보안 규칙에 액세스하기

  1. MDC(Microsoft Defender for Cloud) 대시보드로 이동합니다.
  2. 왼쪽 탐색 창에서 환경 설정을 선택합니다.
  3. 보안 규칙 타일을 클릭합니다.

취약성 평가 규칙 구성

  1. 보안 규칙 페이지 내의 제어된 배포 섹션에서 취약성 평가로 이동합니다.
  2. 필요에 따라 보안 규칙을 만들거나 편집합니다.

중요합니다

Helm 설치의 경우:

  • 구독 지원 경고: 규칙을 만들 때 선택한 구독이 "제어된 배포에 지원되지 않음"으로 표시될 수 있습니다. 이는 대시보드의 자동 설치가 아닌 Helm을 사용하여 Defender for Containers 구성 요소를 설치했기 때문에 발생합니다.
  • 자동 설치 건너뛰기: 보안 규칙 편집 창의 세 번째 탭에서 게이팅을 사용하도록 설정하라는 메시지가 표시되면 Skip 키를 눌러야 합니다. 이 옵션을 사용하면 자동 설치가 가능하며 이는 기존 Helm 배포와 충돌합니다.

보안 규칙 편집 창의 세 번째 탭을 보여 주는 스크린샷

센서를 프로비전하는 기존 권장 사항

비고

Helm을 사용하여 센서를 설정하는 경우 기존 권장 사항을 무시 합니다.

AKS의 경우:

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

AKS에 대한 Defender 프로필 권장 사항을 보여 주는 Azure Portal의 스크린샷. 이 스크린샷은 Defender 프로필을 사용하도록 설정하는 권장 사항을 강조 표시합니다.

다중 클라우드의 경우:

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

Arc 지원 Kubernetes 클러스터에 대한 Defender 확장 권장 사항을 보여 주는 Azure Portal의 스크린샷 이 스크린샷은 Defender 확장을 설치하기 위한 권장 사항을 강조 표시합니다.

기존 Helm 기반 배포를 업그레이드하기

다음 명령을 실행하여 기존 Helm 기반 배포를 업데이트합니다.

helm upgrade microsoft-defender-for-containers-sensor \
oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers-sensor \
--devel \
--reuse-values

다음 단계