컨테이너 및 컨테이너 오케스트레이션에 대한 보안 요구 사항 지정

완료됨

본 단원은 Azure Kubernetes Service의 Azure 보안 기준을 요약합니다. 많은 시각적 개체가 있는 영역의 경우 언급된 첫 5개만 포함했습니다.

Microsoft 클라우드 보안 벤치마크에 대한 자세한 배경은 Microsoft 사이버 보안 참조 아키텍처 및 클라우드 보안 벤치마크 소개를 참조하세요.

아래 표에는 다음과 같은 전체 기준의 컨트롤이 포함되어 있습니다.

  • 보안 컨트롤은 지원되었지만 기본적으로 사용하도록 설정되지 않았습니다.
  • 고객 부분에 대해 수행할 작업이 포함된 명시적 지침이 있었습니다.
영역 제어 지침 요약
네트워크 보안 1.1: 가상 네트워크 내에서 Azure 리소스 보호 기본적으로 네트워크 보안 그룹 및 경로 테이블은 Microsoft AKS(Azure Kubernetes Service) 클러스터를 만들 때 자동으로 생성됩니다. AKS는 부하 분산 장치, 포트 매핑 또는 수신 경로를 사용하여 서비스가 생성될 때 적절한 트래픽 흐름을 위해 네트워크 보안 그룹을 자동으로 수정합니다.
1.2: 가상 네트워크, 서브넷, NIC의 구성과 트래픽 모니터링 및 기록 클라우드용 Microsoft Defender를 사용하고 네트워크 보호 권장 사항을 따라 AKS(Azure Kubernetes Service) 클러스터에서 사용 중인 네트워크 리소스를 보호합니다.
1.3: 중요한 웹 애플리케이션 보호 웹 애플리케이션에 대한 수신 트래픽을 필터링하여 AKS 클러스터 앞에 Azure Application Gateway가 사용하도록 설정된 WAF(Web Application Firewall)를 사용해 추가 보안 계층을 제공합니다. Azure WAF는 이 트래픽에 대한 사이트 간 스크립팅 또는 쿠키 악성 침입과 같은 공격에 대해 OWASP(Open Web Application Security Project)에서 제공하는 규칙 집합을 사용합니다.
1.4: 알려진 악성 IP 주소와의 통신 거부 DDoS(배포된 서비스 거부) 공격으로부터 보호하기 위해 AKS(Azure Kubernetes Service) 구성 요소가 배포된 가상 네트워크에서 Microsoft DDoS 표준 보호를 사용하도록 설정합니다.
1.5: 네트워크 패킷 기록 비정상적인 활동을 조사하는 데 필요한 경우 Network Watcher 패킷 캡처를 사용합니다.
로깅 및 모니터링 2.1: 승인된 시간 동기화 원본 사용 AKS(Azure Kubernetes Service) 노드는 UDP 포트 123 및 NTP(Network time Protocol)와 함께 시간 동기화에 ntp.ubuntu.com를 사용합니다.
2.2: 중앙 보안 로그 관리 구성 관리되는 서비스로 제공되는 AKS(Azure Kubernetes Services) 마스터 구성 요소(kube-apiserver 및 kube-manager)에서 감사 로그를 사용하도록 설정합니다.
2.3: Azure 리소스에 대한 감사 로깅 사용 활동 로그를 사용하여 AKS(Azure Kubernetes Service) 리소스에 대한 작업을 모니터링해 모든 활동과 해당 상태를 확인합니다.
2.4: 운영 체제에서 보안 로그 수집 AKS 클러스터 노드에서 데이터를 수집하기 위해 Log Analytics 에이전트의 자동 설치를 사용하도록 설정합니다. 또한 기본적으로 자동 프로비저닝이 비활성화되어 있으므로 클라우드용 Microsoft Defender에서 Azure Log Analytics 모니터링 에이전트의 자동 프로비저닝을 활성화합니다.
2.5: 보안 로그 스토리지 보존 구성 AKS(Azure Kubernetes Service) 인스턴스를 Azure Monitor에 온보딩하고 조직의 규정 준수 요구 사항에 따라 해당 Azure Log Analytics 작업 영역 보존 기간을 설정합니다.
ID 및 Access Control 3.1: 관리 계정 인벤토리 유지 관리 AKS(Azure Kubernetes Service) 자체는 일반 사용자 계정 및 암호를 저장하는 ID 관리 솔루션을 제공하지 않습니다. Microsoft Entra 통합을 사용하면 네임스페이스 내에서 또는 클러스터 전체에서 Kubernetes 리소스에 대한 사용자 또는 그룹 액세스 권한을 부여할 수 있습니다.
3.2: 기본 암호 변경(해당하는 경우) AKS(Azure Kubernetes SERVICE)는 일반적인 기본 암호의 개념을 갖지 않으며, 일반 사용자 계정 및 암호를 저장할 수 있는 ID 관리 솔루션을 제공하지 않습니다. Microsoft Entra 통합을 통해 네임스페이스 내 또는 클러스터 전체에서 AKS 리소스에 대한 역할 기반 액세스 권한을 부여할 수 있습니다.
3.3: 전용 관리 계정 사용 Microsoft Entra ID를 사용하여 AKS(Azure Kubernetes Service) 클러스터에 대한 사용자 인증을 통합합니다. Microsoft Entra 인증 토큰을 사용하여 AKS 클러스터에 로그인합니다.
3.4: Microsoft Entra ID의 SSO(Single Sign-On) 사용 AKS 클러스터용 Microsoft Entra 통합 인증으로 AKS(Azure Kubernetes Service)에 Single Sign-On을 사용합니다.
3.5: 모든 Microsoft Entra ID 기반 액세스에 다단계 인증 사용 AKS(Azure Kubernetes Service) 인증을 Microsoft Entra ID와 통합합니다.
데이터 보호 4.1: 중요한 정보의 인벤토리 유지 관리 지침: AKS(Azure Kubernetes Service) 배포와 관련된 리소스에 태그를 사용하여 중요한 정보를 저장하거나 처리하는 Azure 리소스를 추적할 수 있습니다.
4.2: 중요한 정보를 저장하거나 처리하는 시스템 격리 AKS(Azure Kubernetes Service)를 사용해 동일한 클러스터에 있는 팀과 워크로드를 논리적으로 격리하여 각 팀에 필요한 리소스에 범위가 지정된 최소한의 권한을 제공합니다.
4.3: 중요한 정보에 대한 무단 전송 모니터링 및 차단 중요한 정보의 무단 전송을 모니터링하고 정보 보안 전문가에게 경고하면서 해당 전송을 차단하는 네트워크 경계에서 Azure Marketplace의 타사 솔루션을 사용합니다.
4.4: 전송 중인 모든 중요한 정보 암호화 HTTPS 수신 컨트롤러를 만들고 AKS(Azure Kubernetes Service) 배포에 고유한 TLS 인증서(또는 선택적으로 Let's Encrypt)를 사용합니다.
4.5: 활성 검색 도구를 사용하여 중요한 데이터 식별 데이터 식별, 분류, 손실 방지 기능은 아직 Azure Storage 또는 컴퓨팅 리소스에 사용할 수 없습니다. 규정 준수를 위해 필요한 경우 타사 솔루션을 구현합니다. Microsoft는 기본 플랫폼을 관리하고 모든 고객 콘텐츠를 중요한 정보로 취급하며 고객 데이터의 손실 및 노출을 방지하기 위해 최선을 다하고 있습니다.
취약성 관리 5.1: 자동화된 취약성 검사 도구 실행 클라우드용 Microsoft Defender를 사용하여 AKS(Azure Kubernetes Service) 인스턴스를 포함한 Azure Container Registry에서 취약성을 모니터링합니다. 클라우드용 Microsoft Defender에서 Container Registries 번들을 사용하도록 설정하여 클라우드용 Microsoft Defender가 레지스트리에 푸시되는 이미지를 검사할 준비가 되었는지 확인합니다.
5.2: 자동화된 운영 체제 패치 관리 솔루션 배포 보안 업데이트는 고객의 AKS(Azure Kubernetes Service) 클러스터를 보호하기 위해 Linux 노드에 자동으로 적용됩니다. 이러한 업데이트는 OS 보안 수정 사항 또는 커널 업데이트를 포함합니다. Windows Server 노드는 매일 업데이트를 받지 않으므로 Windows Server 노드를 최신 상태로 유지하는 프로세스는 Linux를 실행하는 노드와 다릅니다.
5.3: 타사 소프트웨어 타이틀을 위한 자동화된 패치 관리 솔루션 배포 AKS(Azure Kubernetes Service) 클러스터 노드의 타사 애플리케이션이 클러스터 수명 기간 동안 패치된 상태를 유지하도록 수동 프로세스를 구현합니다. 이를 위해서는 자동 업데이트 사용, 노드 모니터링 또는 정기적인 재부팅이 필요할 수 있습니다.
5.4: 연속 취약성 검색 비교 또한 클라우드용 Microsoft Defender 검사 결과를 일관된 간격으로 내보내고 결과를 비교하여 취약성이 수정되었는지 확인해야 합니다.
5.5: 위험 등급 프로세스를 사용하여 검색된 취약성의 수정 우선 순위 지정 클라우드용 Microsoft Defender에서 제공하는 심각도 등급을 사용하여 취약성 해결의 우선 순위를 지정합니다.
인벤토리 및 자산 관리 6.1: 자동화된 자산 검색 솔루션 사용 Azure Resource Graph를 사용하여 구독 내의 모든 리소스(예: 컴퓨팅, 스토리지, 네트워크 등)를 쿼리/검색합니다. 테넌트에 적절한 권한(읽기)이 있고 모든 Azure 구독 및 구독 내의 리소스를 열거할 수 있는지 확인합니다.
6.2: 자산 메타데이터 유지 관리 메타데이터를 제공하는 Azure 리소스에 태그를 적용하여 논리적인 분류로 구성합니다.
6.3: 권한 없는 Azure 리소스 삭제 해당하는 경우 태그 지정, 관리 그룹 및 별도의 구독을 사용하여 자산을 구성하고 추적합니다.
6.4: 승인된 Azure 리소스의 인벤토리 정의 및 유지 관리 조직 비즈니스 요구에 따라 컴퓨팅 리소스에 승인된 Azure 리소스 및 승인된 소프트웨어 목록을 정의합니다.
6.5: 승인되지 않은 Azure 리소스 모니터링 다음과 같은 기본 제공 정책 정의를 사용하여 고객 구독에 만들 수 있는 리소스 유형을 제한하도록 Azure Policy를 사용합니다. 허용되지 않는 리소스 종류, 허용되는 리소스 종류
보안 구성 7.1: 모든 Azure 리소스에 대한 보안 구성 설정 "Microsoft.ContainerService" 네임스페이스에 Azure Policy 별칭을 사용하여 AKS(Azure Kubernetes Service) 인스턴스의 구성을 감사하거나 적용하는 사용자 지정 정책을 만듭니다. 기본 제공 Azure Policy 정의를 사용합니다.
7.2: 보안 운영 체제 구성 설정 AKS(Azure Kubernetes Service) 클러스터는 보안에 최적화된 OS를 탑재한 호스트 가상 머신에 배포됩니다. 호스트 OS에는 공격에 대한 노출 영역을 줄이고 안전한 방식으로 컨테이너를 배포할 수 있도록 추가 보안 강화 단계가 포함되어 있습니다.
7.3: 보안 Azure 리소스 구성 유지 관리 Pod 보안 정책을 사용하여 AKS(Azure Kubernetes Service) 클러스터를 보호합니다. 클러스터의 보안을 향상시키기 위해 예약할 수 있는 Pod를 제한합니다.
7.4: 보안 운영 체제 구성 유지 관리 AKS(Azure Kubernetes Service) 클러스터는 보안에 최적화된 OS를 탑재한 호스트 가상 머신에 배포됩니다. 호스트 OS에는 공격에 대한 노출 영역을 줄이고 안전한 방식으로 컨테이너를 배포할 수 있도록 추가 보안 강화 단계가 포함되어 있습니다.
7.5: Azure 리소스 구성을 안전하게 저장 사용자 지정 Azure Policy 정의를 사용하는 경우 Azure Repos를 사용하여 구성을 안전하게 저장하고 관리합니다. Azure Resource Manager를 사용하여 JSON(JavaScript Object Notation)에서 AKS(Azure Kubernetes Service) 구성의 템플릿을 내보냅니다.
맬웨어 방어 8.1: 중앙 관리형 맬웨어 방지 소프트웨어 사용 AKS는 사용자를 대신하여 에이전트 노드의 수명 주기 및 작업을 관리합니다. 에이전트 노드와 연결된 IaaS 리소스에 대한 수정은 지원되지 않습니다. 그러나 Linux 노드의 경우에는 디먼 집합을 사용하여 맬웨어 방지 솔루션과 같은 주문형 소프트웨어를 설치할 수 있습니다.
8.2: 비 컴퓨팅 Azure 리소스에 업로드할 파일 미리 검사 AKS 리소스에 업로드되는 파일을 미리 검사합니다. Azure Storage 계정을 데이터 저장소로 사용하는 경우 데이터 서비스에 대한 클라우드용 Microsoft Defender의 위협 검색을 사용하여 스토리지 계정에 업로드된 맬웨어를 검색하거나 AKS 클러스터에 대한 Terraform 상태를 추적합니다.
8.3: 맬웨어 방지 소프트웨어 및 서명이 업데이트되었는지 확인 AKS는 사용자를 대신하여 에이전트 노드의 수명 주기 및 작업을 관리합니다. 에이전트 노드와 연결된 IaaS 리소스에 대한 수정은 지원되지 않습니다. 그러나 Linux 노드의 경우에는 디먼 집합을 사용하여 맬웨어 방지 솔루션과 같은 주문형 소프트웨어를 설치할 수 있습니다.
데이터 복구 9.1: 자동화된 정기 백업 보장 Velero와 같이 스토리지 유형에 적절한 도구를 사용하여 데이터를 백업합니다. 이 도구는 추가 클러스터 리소스 및 구성과 함께 영구 볼륨을 백업할 수 있습니다. 이러한 백업의 무결성 및 보안을 주기적으로 확인합니다.
9.2: 전체 시스템 백업 수행 및 고객 관리형 키 백업 Velero와 같이 스토리지 유형에 적절한 도구를 사용하여 데이터를 백업합니다. 이 도구는 추가 클러스터 리소스 및 구성과 함께 영구 볼륨을 백업할 수 있습니다.
9.3: 고객 관리형 키를 포함한 모든 백업의 유효성 검사 Velero 백업 내에서 콘텐츠의 데이터 복원을 주기적으로 수행합니다. 필요한 경우 격리된 가상 네트워크에 대한 복원을 테스트합니다.
9.4: 백업 및 고객 관리형 키 보호 보장 Velero와 같이 스토리지 유형에 적절한 도구를 사용하여 데이터를 백업합니다. 이 도구는 추가 클러스터 리소스 및 구성과 함께 영구 볼륨을 백업할 수 있습니다.
사고 대응 10.1: 인시던트 대응 지침 만들기 조직에 대한 인시던트 대응 지침을 작성합니다. 탐지에서 인시던트 사후 검토까지의 인시던트 처리/관리 단계뿐만 아니라 담당자의 모든 역할도 정의하는 인시던트 대응 계획이 작성되어 있는지 확인합니다.
10.2: 인시던트 점수 매기기 및 우선 순위 지정 절차 만들기 클라우드용 Microsoft Defender가 경고에 심각도를 할당하여 먼저 조사해야 하는 경고의 우선 순위를 지정합니다. 심각도는 클라우드용 Microsoft Defender가 경고를 발행하는 데 사용된 결과 또는 분석에서 얼마나 확신하는지 및 경고를 유발한 작업 뒤에 악의적인 의도가 있었다는 신뢰도 수준을 기반으로 합니다.
10.3: 보안 대응 프로시저 테스트 정기적으로 시스템의 인시던트 응답 기능을 테스트하는 연습을 수행합니다. 약점과 격차를 식별하고 필요에 따라 인시던트 대응 계획을 수정합니다.
10.4: 보안 인시던트 연락처 세부 정보 제공 및 보안 인시던트에 대한 경고 알림 구성 MSRC(Microsoft 보안 대응 센터)에서 불법적인 또는 권한 없는 당사자가 고객 데이터에 액세스한 것을 발견하면 Microsoft는 보안 인시던트 담당자 정보를 사용하여 사용자에게 연락합니다.
10.5: 보안 경고를 인시던트 대응 시스템에 통합 지속적인 내보내기 기능을 사용하여 클라우드용 Microsoft Defender 경고 및 권장 사항을 내보냅니다. 연속 내보내기를 사용하면 경고 및 추천 사항을 수동으로 또는 지속적으로 내보낼 수 있습니다.
침투 테스트 및 레드 팀 연습 11.1: Azure 리소스에 대한 침투 테스트를 정기적으로 수행 및 모든 중요한 보안 결과를 수정 Microsoft 시행 규칙에 따라 침투 테스트에서 Microsoft 정책을 위반하지 않는지 확인합니다.