컨테이너용 Microsoft Defender 여러 연결 경로를 사용하여 보안 신호를 수집하고 컨테이너 레지스트리 및 Kubernetes 환경에서 보호를 제공합니다. 필요한 연결은 사용 가능한 기능 및 컨테이너가 실행되는 환경에 따라 달라집니다.
구현 세부 정보는 AKS(Azure Kubernetes Service), Amazon Elastic Kubernetes Service(EKS), GKE(Google Kubernetes Engine) 및 Arc 지원 Kubernetes 클러스터에 따라 다릅니다.
네트워크 액세스 및 컨테이너용 Defender에 대한 네트워크 요구 사항, 권한 및 지원되는 구성 참조에서 네트워크 요구 사항, 사용 권한 및 지원되는 구성에 대해 자세히 알아보세요.
기능 모델 개요
다음 표에서는 컨테이너 기능에 대한 키 Defender 구현하는 방법과 클러스터 내 구성 요소가 필요한지 여부를 보여 줍니다.
| 역량 | 에이전트 없음 | 클러스터 내 구성 요소 필요 |
|---|---|---|
| 이미지 취약성 평가 | Yes | 아니오 |
| Kubernetes 자세 평가 | Yes | 아니오 |
| 런타임 위협 감지 | 아니오 | Yes |
| 컨트롤 플레인 위협 탐지 | Yes | 아니오 |
컨테이너 레지스트리에 연결
이미지 취약성 평가는 이미지가 지원되는 레지스트리로 푸시되고 정기적으로 레지스트리 구성에 따라 트리거됩니다. 클라우드용 Defender 취약성 평가에 필요한 이미지 메타데이터 및 계층을 분석합니다. 지원되는 시나리오에서 취약성 평가 결과는 원래 컨테이너 이미지를 수정하지 않고 레지스트리에 다시 게시할 수 있습니다. 이러한 기능을 사용하려면 Kubernetes 클러스터에 구성 요소를 배포할 필요가 없습니다.
Kubernetes 클러스터에 연결
클라우드용 Microsoft Defender Kubernetes API 엔드포인트에 연결하여 클러스터를 검색하고, 구성 데이터를 수집하고, 자세 및 위험 분석을 수행합니다. 사용 가능한 기능 및 환경에 따라 이 연결은 클러스터 메타데이터에 대한 읽기 액세스가 필요할 수 있으며, 일부 시나리오에서는 필요한 액세스 바인딩 또는 확장을 구성하기 위한 제한된 쓰기 작업이 필요할 수 있습니다.
Kubernetes 클러스터에서 보낸 런타임 데이터
Kubernetes 클러스터는 작업자 노드에서 클라우드용 Microsoft Defender 백 엔드로 런타임 보안 데이터를 보냅니다. 이 데이터는 클러스터에서 실행되는 Containers용 Defender 구성 요소에 의해 수집되어 분석을 위해 외부로 전송됩니다. 이 연결 경로는 런타임 위협 감지 및 기타 센서 기반 기능을 지원합니다.
클라우드 공급자 API에 연결
클라우드용 Microsoft Defender 클라우드 공급자 API에 연결하여 리소스를 검색하고 클라우드 환경 연결 프로세스의 일부로 보안 분석을 수행합니다. 이 연결 경로는 클라우드 환경을 클라우드용 Microsoft Defender 연결할 때 설정됩니다.
클라우드 인프라에서 보낸 Kubernetes 감사 로그
클라우드 인프라는 제어 평면 위협 탐지 및 보안 분석을 위해 Kubernetes 감사 로그를 클라우드용 Microsoft Defender로 전송합니다. 감사 로그를 수집하고 보내는 데 사용되는 방법은 Kubernetes 클러스터가 실행되는 클라우드 공급자 및 환경에 따라 달라집니다.
프록시 및 프라이빗 연결 지원
컨테이너 구성 요소용 Defender 구성된 프록시 및 프라이빗 연결 구성을 통해 아웃바운드 연결을 지원합니다.
각 Kubernetes 환경별 아키텍처
- AKS(Azure Kubernetes Service)
- Amazon Elastic Kubernetes Service(EKS)
- GKE(Google Kubernetes Engine)
- Azure Arc이 포함된 Kubernetes
아키텍처 구성 요소
클라우드용 Defender Azure Kubernetes Service 호스트되는 클러스터를 보호하는 경우 추가 에이전트 또는 구성 없이 Azure 인프라를 통해 Kubernetes 감사 로그 데이터를 기본적으로 수집합니다. 컨테이너용 Microsoft Defender에서 제공하는 전체 보호를 받으려면 다음 구성 요소가 필요합니다.
- Defender sensor:eBPF 기술 사용하여 런타임 원격 분석(Kubernetes 이벤트, 프로세스 및 네트워크 데이터)을 수집하는 AKS 노드에 배포된 간단한 DaemonSet입니다. 원격 분석 정보를 런타임 위협 방지를 위해 클라우드용 Defender에 안전하게 전송합니다. 센서는 Log Analytics 작업 영역에 등록되고 데이터 파이프라인 역할을 합니다. 그러나 감사 로그 데이터는 Log Analytics 작업 영역에 저장되지 않습니다. Defender 센서는 AKS 보안 프로필로 배포되며, 기본적으로 AKS RP(리소스 공급자)에 통합됩니다.
비고
AKS 클러스터에서 Defender 센서를 구성하면 조정 프로세스가 트리거됩니다. 이 프로세스는 Defender for Containers 계획의 일부로 수행되며 예상되는 동작입니다.
- Kubernetes용 Azure Policy: 오픈 소스 Gatekeeper v3를 확장하고 Kubernetes 승인 컨트롤에 웹 훅으로 등록하는 파드입니다. 이 Pod를 사용하면 중앙 집중식으로 일관된 방식으로 클러스터에 대규모 적용 및 보호 기능을 적용할 수 있습니다. Kubernetes Pod용 Azure Policy는 AKS 추가 기능으로 배포되며 클러스터의 한 노드에만 설치하면 됩니다. 구성 규칙을 적용하는 옵션을 제공합니다. Kubernetes용 Kubernetes 워크로드 보호 및 kubernetes용 Azure Policy 대해 자세히 알아봅니다.
- ACR 통합: Azure Container Registry에 대해 푸시 트리거 및 주기적 이미지 스캔을 수행하여 추가 구성 요소 없이 취약성 평가를 제공합니다.
- Agentless 검색: 에이전트 설치 없이 Azure의 기본 기능을 활용하여 Kubernetes 클러스터의 구성을 탐색하고 평가하여 클러스터에 대한 가시성을 제공합니다.
- 컴퓨터에 대한 에이전트 없는 검사: 운영 체제 구성 및 파일 시스템의 대역 외 심층 분석을 위한 Kubernetes 노드의 정기적인 디스크 스냅샷입니다. 이 기능은 설치된 에이전트 또는 네트워크 연결이 필요하지 않으며 컴퓨터 성능에 영향을 주지 않습니다.
- Microsoft XDR 통합: 통합 보안 작업 및 인시던트 대응을 위해 Microsoft 확장 검색 및 대응 플랫폼과 통합됩니다.
비고
이러한 구성 요소에는 클러스터에 대한 인바운드 연결이 필요하지 않으며 Azure 네이티브 보안 인프라를 사용합니다. 모든 구성 요소는 아웃바운드 전용 연결을 사용합니다(인바운드 액세스가 필요하지 않음).
Defender 센서 구성 요소 세부 정보
| Pod 이름 | 네임스페이스 | 친절한 | 간단한 설명 | 역량 | 리소스 제한 | 출구 필요함 |
|---|---|---|---|---|---|---|
| microsoft-defender-collector-ds-* | kube-system | DaemonSet | eBPF 기술을 사용하여 노드에서 런타임 원격 분석(Kubernetes 이벤트, 프로세스 및 네트워크 데이터)을 수집하고 클라우드용 Defender에 안전하게 보냅니다. | SYS_ADMIN, SYS_RESOURCE, SYS_PTRACE |
메모리: 296Mi cpu: 360m |
아니오 |
| microsoft-defender-collector-misc-* | kube-system | 배포 | 특정 노드에 바인딩되지 않은 클러스터 수준 인벤토리 및 보안 이벤트를 수집합니다. | 해당 없음(N/A) | 메모리: 64Mi CPU: 60m |
아니오 |
| microsoft-defender-publisher-ds-* | kube-system | DaemonSet | 처리 및 분석을 위해 수집된 원격 분석을 Microsoft Defender for Containers 백 엔드 서비스에 게시합니다. | 해당 없음(N/A) | 메모리: 200Mi CPU: 60m |
Https 443 아웃바운드 액세스 필수 조건에 대해 자세히 알아보기 |
* 리소스 제한을 구성할 수 없습니다. Kubernetes 리소스 제한에 대해 자세히 알아봅니다.
Azure에서 Kubernetes에 대한 에이전트 없는 검색은 어떻게 작동하나요?
검색 프로세스는 간격으로 수행된 스냅샷을 사용합니다.
Kubernetes에 대한 에이전트 없는 검색 확장을 사용하도록 설정하면 다음 프로세스가 발생합니다.
-
만들:
- Defender CSPM에서 확장을 사용하도록 설정하면 클라우드용 Defender는 사용자 환경에서 라는
CloudPosture/securityOperator/DefenderCSPMSecurityOperatorID를 만듭니다. - Defender for Containers에서 확장을 사용하도록 설정하면 클라우드용 Defender는 사용자 환경에서 라는
CloudPosture/securityOperator/DefenderForContainersSecurityOperatorID를 만듭니다.
- Defender CSPM에서 확장을 사용하도록 설정하면 클라우드용 Defender는 사용자 환경에서 라는
-
Assign: 클라우드용 Defender 구독 범위의 해당 ID에 Kubernetes 에이전트 없는 연산자라는 기본 제공 역할을 할당합니다. 역할에는 다음 권한이 포함됩니다.
- AKS 읽기(Microsoft.ContainerService/managedClusters/read)
- AKS 신뢰할 수 있는 액세스 권한은 다음과 같습니다.
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write (신뢰할 수 있는 액세스 역할 바인딩 쓰기)
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
- Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete AKS 신뢰할 수 있는 액세스에 대해 자세히 알아보세요.
- 디스커버: 시스템 할당 ID를 사용하여 DEFENDER FOR CLOUD AKS의 API 서버에 대한 API 호출을 수행하여 사용자 환경에서 AKS 클러스터를 검색합니다.
-
Bind: AKS 클러스터를 발견한 후, 클라우드용 Defender는 생성된 ID와 Kubernetes
ClusterRoleBindingClusterRole사이에 연결을 생성하여 AKS 바인딩 작업을 수행합니다. APIClusterRole를 통해 표시되며 클러스터 내에서 클라우드용 Defender 데이터 평면 읽기 권한을 부여합니다.
비고
복사된 스냅샷은 클러스터와 동일한 지역에 유지됩니다.